diff --git a/app/Account.php b/app/Account.php index 4add966d..c1f4d159 100644 --- a/app/Account.php +++ b/app/Account.php @@ -44,11 +44,40 @@ class Account extends Model 'user_id', 'account_type', 'username', 'rank', 'level', 'xp' ]; + public function getRouteKeyName() + { + return 'username'; + } + public function user() { return $this->belongsTo(User::class); } + public function log() { + return $this->hasMany(Log::class); + } + + public function logBroadcast() { + return $this->hasManyThrough(Broadcast::class, Log::class); + } + + public function collection(Collection $collection) { + return $this->hasOne($collection->model); + } + + public function skill(Skill $skill) { + return $this->hasOne($skill->model); + } + public function equipment() { return $this->hasOne(Equipment::class); } + + public function bank() { + return $this->hasOne(Bank::class); + } + + public function quest() { + return $this->hasOne(Quest::class); + } } diff --git a/app/Boss/Nightmare.php b/app/Boss/Nightmare.php new file mode 100644 index 00000000..a42617bb --- /dev/null +++ b/app/Boss/Nightmare.php @@ -0,0 +1,75 @@ +belongsTo(\App\Account::class); + } +} diff --git a/app/Boss/TheFightCaves.php b/app/Boss/TheFightCaves.php deleted file mode 100644 index 329e2b01..00000000 --- a/app/Boss/TheFightCaves.php +++ /dev/null @@ -1,51 +0,0 @@ -belongsTo(\App\Account::class); - } -} diff --git a/app/Boss/TheInferno.php b/app/Boss/TheInferno.php deleted file mode 100644 index 03a012c4..00000000 --- a/app/Boss/TheInferno.php +++ /dev/null @@ -1,51 +0,0 @@ -belongsTo(\App\Account::class); - } -} diff --git a/app/Boss/TheNightmare.php b/app/Boss/TheNightmare.php deleted file mode 100644 index 65a2aaa9..00000000 --- a/app/Boss/TheNightmare.php +++ /dev/null @@ -1,75 +0,0 @@ -belongsTo(\App\Account::class); - } -} diff --git a/app/Boss/TzKalZuk.php b/app/Boss/TzKalZuk.php new file mode 100644 index 00000000..e016a476 --- /dev/null +++ b/app/Boss/TzKalZuk.php @@ -0,0 +1,51 @@ +belongsTo(\App\Account::class); + } +} diff --git a/app/Boss/TzTokJad.php b/app/Boss/TzTokJad.php new file mode 100644 index 00000000..7638e5cc --- /dev/null +++ b/app/Boss/TzTokJad.php @@ -0,0 +1,51 @@ +belongsTo(\App\Account::class); + } +} diff --git a/app/Boss/Vetion.php b/app/Boss/VetIon.php similarity index 54% rename from app/Boss/Vetion.php rename to app/Boss/VetIon.php index eca7d782..8383bda8 100644 --- a/app/Boss/Vetion.php +++ b/app/Boss/VetIon.php @@ -5,7 +5,7 @@ use Illuminate\Database\Eloquent\Model; /** - * App\Boss\Vetion + * App\Boss\VetIon * * @property int $id * @property int $account_id @@ -19,23 +19,23 @@ * @property \Illuminate\Support\Carbon|null $created_at * @property \Illuminate\Support\Carbon|null $updated_at * @property-read \App\Account $account - * @method static \Illuminate\Database\Eloquent\Builder|Vetion newModelQuery() - * @method static \Illuminate\Database\Eloquent\Builder|Vetion newQuery() - * @method static \Illuminate\Database\Eloquent\Builder|Vetion query() - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereAccountId($value) - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereCreatedAt($value) - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereDragon2hSword($value) - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereDragonPickaxe($value) - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereId($value) - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereKillCount($value) - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereObtained($value) - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereRank($value) - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereRingOfTheGods($value) - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereUpdatedAt($value) - * @method static \Illuminate\Database\Eloquent\Builder|Vetion whereVetionJr($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon newModelQuery() + * @method static \Illuminate\Database\Eloquent\Builder|VetIon newQuery() + * @method static \Illuminate\Database\Eloquent\Builder|VetIon query() + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereAccountId($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereCreatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereDragon2hSword($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereDragonPickaxe($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereId($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereKillCount($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereObtained($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereRank($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereRingOfTheGods($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereUpdatedAt($value) + * @method static \Illuminate\Database\Eloquent\Builder|VetIon whereVetionJr($value) * @mixin \Eloquent */ -class Vetion extends Model +class VetIon extends Model { protected $table = 'vetion'; diff --git a/app/Category.php b/app/Category.php index 8ad78265..18bc4d81 100644 --- a/app/Category.php +++ b/app/Category.php @@ -15,4 +15,9 @@ public function broadcast() { return $this->hasMany(Broadcast::class); } + + public function log() + { + return $this->hasMany(Log::class); + } } diff --git a/app/Clues/TreasureTrail.php b/app/Clues/TreasureTrail.php deleted file mode 100644 index 9b7b320c..00000000 --- a/app/Clues/TreasureTrail.php +++ /dev/null @@ -1,30 +0,0 @@ - 'array' - ]; - - public function account() { - return $this->belongsTo(Account::class); - } -} diff --git a/app/Collection.php b/app/Collection.php index 21f6a240..76ce2422 100644 --- a/app/Collection.php +++ b/app/Collection.php @@ -23,18 +23,23 @@ */ class Collection extends Model { - protected $fillable = ['category_id', 'name', 'alias', 'model']; + protected $fillable = ['category_id', 'order', 'name', 'slug', 'model']; public $timestamps = false; - public static function findByNameAndCategory($name, $category_id) + public function getRouteKeyName() { - return self::where([['name', $name], ['category_id', $category_id]])->first(); + return 'slug'; + } + + public static function findByNameAndCategory($name, $categoryId) + { + return self::where([['name', $name], ['category_id', $categoryId]])->first(); } public function category() { - return $this->hasOne(Category::class); + return $this->belongsTo(Category::class); } public function collection() diff --git a/app/Console/Commands/ResourcePackFetch.php b/app/Console/Commands/ResourcePackFetch.php index 1c2d7d04..f1228243 100644 --- a/app/Console/Commands/ResourcePackFetch.php +++ b/app/Console/Commands/ResourcePackFetch.php @@ -95,7 +95,13 @@ public function handle() $resourcePack->touch(); } } else { - $this->info(sprintf("Something went wrong")); + $this->info(sprintf("Something went wrong. Most likely due to storage directory not existing")); + + $this->info(sprintf("Executing storage:link...")); + + Artisan::call("storage:link"); + + $this->info(sprintf("Completed. Try fetching again")); return 1; } diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 810ba2f7..758a0e52 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -2,7 +2,9 @@ namespace App\Helpers; +use App\Account; use App\Collection; +use App\Skill; use DateTime; use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Storage; @@ -135,51 +137,39 @@ public static function itemData($itemId, $attribute) public static function listSkills() { - return [ - "attack", - "defence", - "strength", - "hitpoints", - "ranged", - "prayer", - "magic", - "cooking", - "woodcutting", - "fletching", - "fishing", - "firemaking", - "crafting", - "smithing", - "mining", - "herblore", - "agility", - "thieving", - "slayer", - "farming", - "runecraft", - "hunter", - "construction" - ]; + return Skill::pluck('slug')->toArray(); } - public static function listClueScrollTiers() + public static function listBosses($asCollection = false) { - return ["all", "beginner", "easy", "medium", "hard", "elite", "master"]; + if ($asCollection) { + return Collection::distinct()->where('category_id', 2)->orWhere('category_id', 3)->get(); + } + + return Collection::distinct()->where('category_id', 2)->orWhere('category_id', 3)->pluck('slug')->toArray(); } - public static function listBosses() + public static function listNpcs($asCollection = false) { - return Collection::distinct()->where('category_id', 2)->orWhere('category_id', 3)->pluck('name')->toArray(); + if ($asCollection) { + return Collection::where('category_id', 4)->get(); + } + + return Collection::where('category_id', 4)->pluck('slug')->toArray(); } - public static function listNpcs() + public static function listClues($asCollection = false) { - return Collection::where('category_id', 4)->pluck('name')->toArray(); + if ($asCollection) { + return Collection::where('category_id', 5)->get(); + } + + return Collection::where('category_id', 5)->pluck('slug')->toArray(); } - public static function listClues() + public static function listClueScrollTiers() { - return Collection::where('category_id', 5)->pluck('name')->toArray(); + return ["all", "beginner", "easy", "medium", "hard", "elite", "master"]; } public static function listAccountTypes() @@ -253,4 +243,15 @@ public static function downloadItemIcon($itemName) } } } + + public static function getCollectionModel(Account $account = null, Collection $collection, $categories = null) + { + if ($account) { + return $collection->model::firstWhere('account_id', $account->id); + } + + $collection = $collection->model::first(); + + return $collection; + } } diff --git a/app/Http/Controllers/Api/AccountBankController.php b/app/Http/Controllers/Api/AccountBankController.php index 949eba87..313b5297 100644 --- a/app/Http/Controllers/Api/AccountBankController.php +++ b/app/Http/Controllers/Api/AccountBankController.php @@ -5,6 +5,7 @@ use App\Account; use App\Bank; use App\Events\AccountBank; +use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Log; use Carbon\Carbon; @@ -12,34 +13,24 @@ class AccountBankController extends Controller { - public function show($accountUsername) + public function show(Account $account) { - $account = Account::where('username', $accountUsername)->pluck('id')->first(); - - if ($account) { - $bank = Bank::where([ - ['account_id', '=', $account], - ['display', '=', 1] - ])->first(); - - if ($bank) { - return response()->json($bank, 200); - } else { - return response("No bank for " . $accountUsername . " were found!", 404); - } + $bank = Bank::where([ + ['account_id', '=', $account->id], + ['display', '=', 1] + ])->first(); + + if ($bank) { + return response()->json($bank, 200); + } else { + return response("No bank for " . $account->username . " were found!", 404); } } - public function update($accountUsername, Request $request) + public function update(Account $account, Request $request) { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); - if (!$account) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 401); - } - - // Check if someone has tried something funny if (sizeof($request->all()) > 816) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 406); + return response("Not funny", 406); } $totalBankValue = 0; @@ -75,20 +66,14 @@ public function update($accountUsername, Request $request) AccountBank::dispatch($account); - return response("Updated bank for " . $accountUsername, 200); + return response("Updated bank for " . $account->username, 200); } - public function updateDisplay($accountUsername) + public function updateDisplay(Account $account) { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); - if (!$account) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 401); - } - $bank = Bank::where('account_id', $account->id)->first(); - if (!$bank) { - return response("No bank for " . $accountUsername . " were found!", 404); + return response("No bank for " . $account->username . " were found!", 404); } $bank->display ^= 1; @@ -97,6 +82,6 @@ public function updateDisplay($accountUsername) AccountBank::dispatch($account); - return response(($bank->display === 1 ? "Displaying" : "No longer displaying") . " bank for " . $accountUsername, 200); + return response(($bank->display === 1 ? "Displaying" : "No longer displaying") . " bank for " . $account->username, 200); } } diff --git a/app/Http/Controllers/Api/AccountCollectionController.php b/app/Http/Controllers/Api/AccountCollectionController.php index d98042b4..ee7054df 100644 --- a/app/Http/Controllers/Api/AccountCollectionController.php +++ b/app/Http/Controllers/Api/AccountCollectionController.php @@ -4,98 +4,18 @@ use App\Account; use App\Collection; +use App\Helpers\Helper; use App\Http\Controllers\Controller; +use App\Http\Resources\AccountCollectionResource; +use App\Http\Resources\CollectionResource; use App\Log; use Illuminate\Http\Request; class AccountCollectionController extends Controller { - // NOT IN USE ATM - public function index($accountUsername, $collectionType) + public function update(Account $account, Collection $collection, Request $request) { - $account = Account::where('username', $accountUsername)->first(); - - if ($account) { - if (in_array($collectionType, ['all', 'boss', 'raid', 'clue', 'minigame', 'other'], true)) { - if ($collectionType === "all") { - $allCollections = Collection::select('name')->where('type', $collectionType)->get(); - } - $allCollections = Collection::select('name')->where('type', $collectionType)->get(); - - // TODO create function - // This method create a migration file for each collection model in the collections table - // $listOfS = []; - // foreach ($allCollections as $key => $collection) { - // $collectionName = $collection->name; - // if ($collectionName[strlen($collectionName) - 1] == "s") { - // $listOfS[$key] = $collectionName; - // $command = "make:migration create_".str_replace(" ", "_", $collectionName)."_table"; - // } else { - // $command = "make:migration create_".str_replace(" ", "_", $collectionName)."s_table"; - // } - - // $execute = Artisan::call($command); - // } - - $allCollectionLoot = []; - foreach ($allCollections as $key => $collection) { - $findCollection = Collection::where('name', $collection->name)->firstOrFail(); - - $collectionLog = $findCollection->model::where('account_id', $account->id)->first(); - - if (!$collectionLog) { - return response()->json("This account does not have any registered loot for " . $collection->name, - 404); - } - - $allCollectionLoot[$key] = $collectionLog; - } - - return response()->json($allCollectionLoot, 200); - } else { - return response()->json("This collection type could not be found", 404); - } - } else { - return response()->json("This account could not be found", 404); - } - } - - public function show($accountUsername, $collectionName) - { - $account = Account::where('username', $accountUsername)->first(); - - if ($account) { - $collection = Collection::where('alias', $collectionName)->firstOrFail(); - - if ($collection) { - $collectionLog = $collection->model::where('account_id', $account->id)->first(); - - if ($collectionLog) { - return response()->json($collectionLog, 200); - } else { - return response("This account does not have any registered loot for " . $collection->name, 404); - } - } else { - return response("This collection could not be found", 404); - } - } else { - return response("This account is not authenticated with " . auth()->user()->name, 401); - } - } - - public function update($accountUsername, $collectionName, Request $request) - { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); - if (!$account) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 401); - } - - $collection = Collection::where('alias', $collectionName)->first(); - if (!$collection) { - return response($collectionName . " is not currently supported", 406); - } - - $collectionLog = $collection->model::where('account_id', $account->id)->first(); + $collectionLog = $account->collection($collection)->firstOrFail(); // If account has no collection entry, create it if (is_null($collectionLog)) { @@ -113,7 +33,7 @@ public function update($accountUsername, $collectionName, Request $request) } if (!$collectionLog) { - return response($accountUsername . " does not have any registered collction log for " . $collection->alias, 404); + return response($account->username . " does not have any registered collction log for " . $collection->name, 404); } foreach ($request->all()["collectionLogItems"] as $lootItem) { @@ -138,6 +58,6 @@ public function update($accountUsername, $collectionName, Request $request) $log = Log::create($logData); - return response("Submitted " . $collection->alias . " collection log", 200); + return response("Submitted " . $collection->name . " collection log", 200); } } diff --git a/app/Http/Controllers/Api/AccountController.php b/app/Http/Controllers/Api/AccountController.php index c8728533..6926a00c 100644 --- a/app/Http/Controllers/Api/AccountController.php +++ b/app/Http/Controllers/Api/AccountController.php @@ -6,18 +6,17 @@ use App\AccountAuthStatus; use App\Broadcast; use App\Collection; -use App\Events\AccountAll; use App\Events\AccountOnline; -use App\Events\All; use App\Events\EventAll; use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Http\Resources\AccountBossResource; use App\Http\Resources\AccountResource; use App\Http\Resources\AccountSkillResource; +use App\Http\Resources\CollectionResource; +use App\Http\Resources\SkillResource; use App\Log; -use App\Notification; -use Carbon\Carbon; +use App\Skill; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Validator; @@ -25,27 +24,6 @@ class AccountController extends Controller { - /** - * Show a specific account and skills data from a URL request. - * - * @param string $username - * @return - */ - public function show($accountUsername) - { - return new AccountResource(Account::where('username', $accountUsername)->firstOrFail()); - } - - public function skill($accountUsername) - { - return new AccountSkillResource(Account::where('username', $accountUsername)->firstOrFail()); - } - - public function boss($accountUsername) - { - return new AccountBossResource(Account::where('username', $accountUsername)->firstOrFail()); - } - /** * Create a new account instance after a valid registration. * @@ -54,11 +32,14 @@ public function boss($accountUsername) */ public function store(Request $request) { - $validator = Validator::make($request->all(), [ - 'username' => ['required', 'string', 'min:1', 'max:13'], - 'code' => ['required', 'string', 'min:1', 'max:8'], - 'account_type' => ['required', Rule::in(Helper::listAccountTypes())], - ]); + $validator = Validator::make( + $request->all(), + [ + 'username' => ['required', 'string', 'min:1', 'max:13'], + 'code' => ['required', 'string', 'min:1', 'max:8'], + 'account_type' => ['required', Rule::in(Helper::listAccountTypes())], + ] + ); if ($validator->fails()) { foreach ($validator->messages()->all() as $value) { @@ -78,16 +59,23 @@ public function store(Request $request) } if (request('account_type') !== $authStatus->account_type) { - return response("This account is registered as " . lcfirst(Helper::formatAccountTypeName($authStatus->account_type)) . ", not " . request('account_type'), - 406); + return response( + "This account is registered as " . lcfirst( + Helper::formatAccountTypeName($authStatus->account_type) + ) . ", not " . request('account_type'), + 406 + ); } if (request('code') !== $authStatus->code) { return response("Invalid code", 406); } - $playerDataUrl = 'https://secure.runescape.com/m=hiscore_oldschool/index_lite.ws?player=' . str_replace(' ', - '%20', $accountUsername); + $playerDataUrl = 'https://secure.runescape.com/m=hiscore_oldschool/index_lite.ws?player=' . str_replace( + ' ', + '%20', + $accountUsername + ); /* Get the $playerDataUrl file content. */ $playerData = Helper::getPlayerData($playerDataUrl); @@ -96,28 +84,41 @@ public function store(Request $request) return response("Could not fetch player data from hiscores", 406); } - $account = Account::create([ - 'user_id' => $authStatus->user_id, - 'account_type' => request('account_type'), - 'username' => ucfirst($accountUsername), - 'rank' => $playerData[0][0], - 'level' => $playerData[0][1], - 'xp' => $playerData[0][2] - ]); + DB::beginTransaction(); + + try { + $account = Account::create( + [ + 'user_id' => $authStatus->user_id, + 'account_type' => request('account_type'), + 'username' => ucfirst($accountUsername), + 'rank' => $playerData[0][0], + 'level' => $playerData[0][1], + 'xp' => $playerData[0][2] + ] + ); + } catch (\Exception $e) { + DB::rollback(); + throw $e; + } - $skills = Helper::listSkills(); + $skills = Skill::get(); $skillsCount = count($skills); - // TODO replace with Eloquent models - for ($i = 0; $i < $skillsCount; $i++) { - DB::table($skills[$i])->insert([ - 'account_id' => $account->id, - 'rank' => ($playerData[$i + 1][0] >= 1 ? $playerData[$i + 1][0] : 0), - 'level' => $playerData[$i + 1][1], - 'xp' => ($playerData[$i + 1][2] >= 0 ? $playerData[$i + 1][2] : 0), - 'created_at' => Carbon::now(), - 'updated_at' => Carbon::now() - ]); + foreach ($skills as $key => $skill) { + $skill = new $skill->model; + + $skill->account_id = $account->id; + $skill->rank = ($playerData[$key + 1][0] >= 1 ? $playerData[$key + 1][0] : 0); + $skill->level = $playerData[$key + 1][1]; + $skill->xp = ($playerData[$key + 1][2] >= 0 ? $playerData[$key + 1][2] : 0); + + try { + $skill->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; + } } $clues = Helper::listClueScrollTiers(); @@ -125,15 +126,20 @@ public function store(Request $request) $cluesIndex = 0; for ($i = ($skillsCount + 3); $i < ($skillsCount + 3 + $cluesCount); $i++) { - $collection = Collection::where('name', $clues[$cluesIndex] . ' treasure trails')->firstOrFail(); + $clueCollection = Collection::where('slug', $clues[$cluesIndex] . '-treasure-trails')->firstOrFail(); - $clueLog = new $collection->model; + $clueCollection = new $clueCollection->model; - $clueLog->account_id = $account->id; - $clueLog->kill_count = ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); - $clueLog->rank = ($playerData[$i + 1][0] >= 0 ? $playerData[$i + 1][0] : 0); + $clueCollection->account_id = $account->id; + $clueCollection->kill_count = ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); + $clueCollection->rank = ($playerData[$i + 1][0] >= 0 ? $playerData[$i + 1][0] : 0); - $clueLog->save(); + try { + $clueCollection->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; + } $cluesIndex++; } @@ -145,20 +151,28 @@ public function store(Request $request) $dksKillCount = 0; for ($i = ($skillsCount + $cluesCount + 5); $i < ($skillsCount + $cluesCount + 5 + count($bosses)); $i++) { - $collection = Collection::where('name', $bosses[$bossIndex])->firstOrFail(); + $bossCollection = Collection::where('slug', $bosses[$bossIndex])->firstOrFail(); - $collectionLog = new $collection->model; + $bossCollection = new $bossCollection->model; - $collectionLog->account_id = $account->id; - $collectionLog->kill_count = ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); - $collectionLog->rank = ($playerData[$i + 1][0] >= 0 ? $playerData[$i + 1][0] : 0); + $bossCollection->account_id = $account->id; + $bossCollection->kill_count = ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); + $bossCollection->rank = ($playerData[$i + 1][0] >= 0 ? $playerData[$i + 1][0] : 0); - if (in_array($bosses[$bossIndex], - ['dagannoth prime', 'dagannoth rex', 'dagannoth supreme'], true)) { + if (in_array( + $bosses[$bossIndex], + ['dagannoth prime', 'dagannoth rex', 'dagannoth supreme'], + true + )) { $dksKillCount += ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); } - $collectionLog->save(); + try { + $bossCollection->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; + } $bossIndex++; } @@ -175,35 +189,46 @@ public function store(Request $request) $dks->account_id = $account->id; $dks->kill_count = $dksKillCount; - $dks->save(); + try { + $dks->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; + } $npcs = Helper::listNpcs(); foreach ($npcs as $npc) { - $collection = Collection::findByNameAndCategory($npc, 4); + $npcCollection = Collection::findByNameAndCategory($npc, 4); - $collectionLog = new $collection->model; + $npcCollection = new $npcCollection->model; - $collectionLog->account_id = $account->id; + $npcCollection->account_id = $account->id; - $collectionLog->save(); + try { + $npcCollection->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; + } } $authStatus->status = "success"; - $authStatus->save(); + try { + $authStatus->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; + } + + DB::commit(); return response("Account successfully authenticated!", 201); } - public function loginLogout($accountUsername, Request $request) + public function loginLogout(Account $account, Request $request) { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); - - if (!$account) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 401); - } - $account->online ^= 1; $account->save(); @@ -222,7 +247,7 @@ public function loginLogout($accountUsername, Request $request) "log_id" => $log->id, "type" => "event", "icon" => auth()->user()->icon_id, - "message" => $accountUsername . " has logged " . ($account->online ? 'in' : 'out') . "!", + "message" => $account->username . " has logged " . ($account->online ? 'in' : 'out') . "!", ]; $event = Broadcast::create($eventData); @@ -231,6 +256,6 @@ public function loginLogout($accountUsername, Request $request) AccountOnline::dispatch($account); - return response($accountUsername . " has been logged " . ($account->online ? 'in' : 'out') . " to RuneManager"); + return response($account->username . " has been logged " . ($account->online ? 'in' : 'out') . " to RuneManager"); } } diff --git a/app/Http/Controllers/Api/AccountEquipmentController.php b/app/Http/Controllers/Api/AccountEquipmentController.php index 274278f4..eca7d9de 100644 --- a/app/Http/Controllers/Api/AccountEquipmentController.php +++ b/app/Http/Controllers/Api/AccountEquipmentController.php @@ -5,6 +5,7 @@ use App\Account; use App\Equipment; use App\Events\AccountEquipment; +use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Log; use Carbon\Carbon; @@ -12,31 +13,22 @@ class AccountEquipmentController extends Controller { - public function show($accountUsername) + public function show(Account $account) { - $account = Account::where('username', $accountUsername)->pluck('id')->first(); - - if ($account) { - $equipment = Equipment::where([ - ['account_id', '=', $account], - ['display', '=', 1] - ])->first(); - - if ($equipment) { - return response()->json($equipment, 200); - } else { - return response("No equipment for " . $accountUsername . " were found!", 404); - } + $equipment = Equipment::where([ + ['account_id', '=', $account->id], + ['display', '=', 1] + ])->first(); + + if ($equipment) { + return response()->json($equipment, 200); + } else { + return response("No equipment for " . $account->username . " were found!", 404); } } - public function update($accountUsername, Request $request) + public function update(Account $account, Request $request) { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); - if (!$account) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 401); - } - Equipment::updateOrInsert( ['account_id' => $account->id], [ @@ -60,20 +52,14 @@ public function update($accountUsername, Request $request) AccountEquipment::dispatch($equipment); - return response("Updated equipment for " . $accountUsername, 200); + return response("Updated equipment for " . $account->username, 200); } - public function updateDisplay($accountUsername) + public function updateDisplay(Account $account) { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); - if (!$account) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 401); - } - $equipment = Equipment::where('account_id', $account->id)->first(); - if (!$equipment) { - return response("No equipment for " . $accountUsername . " were found!", 404); + return response("No equipment for " . $account->username . " were found!", 404); } $equipment->display ^= 1; @@ -82,6 +68,6 @@ public function updateDisplay($accountUsername) AccountEquipment::dispatch($equipment); - return response(($equipment->display === 1 ? "Displaying" : "No longer displaying") . " equipment for " . $accountUsername, 200); + return response(($equipment->display === 1 ? "Displaying" : "No longer displaying") . " equipment for " . $account->username, 200); } } diff --git a/app/Http/Controllers/Api/AccountLootController.php b/app/Http/Controllers/Api/AccountLootController.php index e1995eaf..4b98f39e 100644 --- a/app/Http/Controllers/Api/AccountLootController.php +++ b/app/Http/Controllers/Api/AccountLootController.php @@ -17,19 +17,9 @@ class AccountLootController extends Controller { - public function update($accountUsername, $collectionName, Request $request) + public function update(Account $account, Collection $collection, Request $request) { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); - if (!$account) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 401); - } - - $collection = Collection::where('alias', $collectionName)->first(); - if (!$collection) { - return response($collectionName . " is not currently supported", 406); - } - - $collectionLog = $collection->model::where('account_id', $account->id)->first(); + $collectionLog = $account->collection($collection)->firstOrFail(); // If account has no collection entry, create it if (is_null($collectionLog)) { @@ -47,7 +37,7 @@ public function update($accountUsername, $collectionName, Request $request) } if (!$collectionLog) { - return response($accountUsername . " does not have any registered loot for " . $collection->alias, 404); + return response($account->username . " does not have any registered loot for " . $collection->name, 404); } $oldCollection = $collectionLog->getAttributes(); // Old data @@ -149,7 +139,7 @@ public function update($accountUsername, $collectionName, Request $request) "log_id" => $log->id, "type" => "event", "icon" => $collectionLog->getTable(), - "message" => $accountUsername . $noun . $collection->alias . "!", + "message" => $account->username . $noun . $collection->name . "!", ]; $event = Broadcast::create($eventData); @@ -188,7 +178,7 @@ public function update($accountUsername, $collectionName, Request $request) "log_id" => $log->id, "type" => "event", "icon" => $collectionLog->getTable(), - "message" => $accountUsername . " unlocked " . (count($unlockedUniquesList) == 1 ? " a new unique" : "new uniques") . "!", + "message" => $account->username . " unlocked " . (count($unlockedUniquesList) == 1 ? " a new unique" : "new uniques") . "!", ]; $event = Broadcast::create($eventData); @@ -209,7 +199,7 @@ public function update($accountUsername, $collectionName, Request $request) "log_id" => $log->id, "type" => "announcement", "icon" => $collectionLog->getTable(), - "message" => $accountUsername . " unlocked " . (count($unlockedUniquesList) == 1 ? " a new unique" : "new uniques") . ": " . $uniqueItems . " from " . $collection->alias . " at " . $newCollectionValues["kill_count"] . " kills!", + "message" => $account->username . " unlocked " . (count($unlockedUniquesList) == 1 ? " a new unique" : "new uniques") . ": " . $uniqueItems . " from " . $collection->name . " at " . $newCollectionValues["kill_count"] . " kills!", ]; $announcement = Broadcast::create($announcementData); @@ -232,7 +222,7 @@ public function update($accountUsername, $collectionName, Request $request) "log_id" => $log->id, "type" => "announcement", "icon" => $collectionLog->getTable(), - "message" => $accountUsername . " has received a " . $uniqueItems . " drop from " . $collection->alias . " at " . $newCollectionValues["kill_count"] . " kills!", + "message" => $account->username . " has received a " . $uniqueItems . " drop from " . $collection->name . " at " . $newCollectionValues["kill_count"] . " kills!", ]; $announcement = Broadcast::create($announcementData); @@ -241,6 +231,6 @@ public function update($accountUsername, $collectionName, Request $request) } } - return response("Submitted loot for " . $collection->alias, 200); + return response("Submitted loot for " . $collection->name, 200); } } diff --git a/app/Http/Controllers/Api/AccountLootCrateController.php b/app/Http/Controllers/Api/AccountLootCrateController.php deleted file mode 100644 index 6648a400..00000000 --- a/app/Http/Controllers/Api/AccountLootCrateController.php +++ /dev/null @@ -1,60 +0,0 @@ -user()->id)->where('username', $accountUsername)->first(); - - if ($account) { - $loot = $request->except([ - "icon_id", - "crate_type", - "total_value", - ]); - - $dataJson = '{"collection":' . json_encode($loot) . ',"loot":' . json_encode($loot) . '}'; - - $data = json_decode($dataJson, true); - - foreach ($loot as $key => $item) { - Helper::downloadItemIcon($key); - } - - $logData = [ - "user_id" => auth()->user()->id, - "account_id" => $account->id, - "category_id" => 9, - "data" => $data - ]; - - $log = Log::create($logData); - - $notificationData = [ - "log_id" => $log->id, - "icon" => $request["icon_id"], - "message" => $accountUsername . " just opened a " . $request["crate_type"] . "!", - ]; - - $notification = Notification::create($notificationData); - - All::dispatch($notification); - - AccountAll::dispatch($account, $notification); - } - } -} diff --git a/app/Http/Controllers/Api/AccountQuestController.php b/app/Http/Controllers/Api/AccountQuestController.php index 4752e00c..2aec981c 100644 --- a/app/Http/Controllers/Api/AccountQuestController.php +++ b/app/Http/Controllers/Api/AccountQuestController.php @@ -4,6 +4,7 @@ use App\Account; use App\Events\AccountQuest; +use App\Helpers\Helper; use App\Quest; use App\Events\AccountEquipment; use App\Http\Controllers\Controller; @@ -13,31 +14,22 @@ class AccountQuestController extends Controller { - public function show($accountUsername) + public function show(Account $account) { - $account = Account::where('username', $accountUsername)->pluck('id')->first(); - - if ($account) { - $quests = Quest::where([ - ['account_id', '=', $account], - ['display', '=', 1] - ])->first(); - - if ($quests) { - return response()->json($quests, 200); - } else { - return response("No quests for " . $accountUsername . " were found!", 404); - } + $quests = Quest::where([ + ['account_id', '=', $account->id], + ['display', '=', 1] + ])->first(); + + if ($quests) { + return response()->json($quests, 200); + } else { + return response("No quests for " . $account->username . " were found!", 404); } } - public function update($accountUsername, Request $request) + public function update(Account $account, Request $request) { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); - if (!$account) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 401); - } - Quest::updateOrInsert( ['account_id' => $account->id], [ @@ -61,20 +53,14 @@ public function update($accountUsername, Request $request) AccountQuest::dispatch($quests); - return response("Updated quest list for " . $accountUsername, 200); + return response("Updated quest list for " . $account->username, 200); } - public function updateDisplay($accountUsername) + public function updateDisplay(Account $account) { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); - if (!$account) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 401); - } - $quests = Quest::where('account_id', $account->id)->first(); - if (!$quests) { - return response("No quests for " . $accountUsername . " were found!", 404); + return response("No quests for " . $account->username . " were found!", 404); } $quests->display ^= 1; @@ -83,6 +69,6 @@ public function updateDisplay($accountUsername) AccountQuest::dispatch($quests); - return response(($quests->display === 1 ? "Displaying" : "No longer displaying") . " quest journals for " . $accountUsername, 200); + return response(($quests->display === 1 ? "Displaying" : "No longer displaying") . " quest journals for " . $account->username, 200); } } diff --git a/app/Http/Controllers/Api/AccountSkillController.php b/app/Http/Controllers/Api/AccountSkillController.php index 793e8f4c..227045c4 100644 --- a/app/Http/Controllers/Api/AccountSkillController.php +++ b/app/Http/Controllers/Api/AccountSkillController.php @@ -10,24 +10,27 @@ use App\Events\AnnouncementAll; use App\Events\EventAll; +use App\Helpers\Helper; use App\Http\Controllers\Controller; +use App\Http\Resources\AccountSkillResource; +use App\Http\Resources\SkillResource; use App\Log; +use App\Skill; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; class AccountSkillController extends Controller { - public function update($accountUsername, $skillName, Request $request) + public function update(Account $account, Skill $skill, Request $request) { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); - if (!$account) { - return response($accountUsername . " is not authenticated with " . auth()->user()->name, 401); + if ($request->level > 99) { + return response("Not funny", 406); } - DB::table($skillName)->where('account_id', $account->id)->update(['level' => $request->level]); + $accountSkill = $skill->model::where('account_id', $account->id)->first(); - $skill = DB::table($skillName)->where('account_id', $account->id)->first(); + $accountSkill->update(['level' => $request->level]); $logData = [ "user_id" => auth()->user()->id, @@ -42,8 +45,8 @@ public function update($accountUsername, $skillName, Request $request) $eventData = [ "log_id" => $log->id, "type" => 'event', - "icon" => strtolower($skillName), - "message" => $accountUsername . " just achieved level " . $skill->level . " " . ucfirst($skillName) . "!", + "icon" => strtolower($skill->name), + "message" => $account->username . " just achieved level " . $accountSkill->level . " " . ucfirst($skill->name) . "!", ]; $event = Broadcast::create($eventData); @@ -52,12 +55,12 @@ public function update($accountUsername, $skillName, Request $request) AccountEvent::dispatch($account, $event); - if ($skill->level == 99) { + if ($accountSkill->level == 99) { $announcementData = [ "log_id" => $log->id, "type" => 'announcement', - "icon" => strtolower($skillName), - "message" => $accountUsername . " has achieved level 99 " . ucfirst($skillName) . "!", + "icon" => strtolower($skill->name), + "message" => $account->username . " has achieved level 99 " . ucfirst($skill->name) . "!", ]; $announcement = Broadcast::create($announcementData); @@ -65,6 +68,6 @@ public function update($accountUsername, $skillName, Request $request) AnnouncementAll::dispatch($announcement); } - return response("Advanced " . ucfirst($skillName) . " level for " . $accountUsername . " to level " . $request->level, 200); + return response("Advanced " . ucfirst($skill->name) . " level for " . $account->username . " to level " . $accountSkill->level, 200); } } diff --git a/app/Http/Controllers/Api/BroadcastController.php b/app/Http/Controllers/Api/BroadcastController.php index 3520a2ed..c5c83376 100644 --- a/app/Http/Controllers/Api/BroadcastController.php +++ b/app/Http/Controllers/Api/BroadcastController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers\Api; use App\Account; +use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Broadcast; @@ -15,17 +16,13 @@ public function index($broadcastType) return response()->json($broadcasts, 200); } - public function account($accountUsername, $broadcastType) + public function account(Account $account, $broadcastType) { - $account = Account::where('username', $accountUsername)->pluck('id')->first(); + $broadcasts = Broadcast::with('log')->with('log.category')->where('message', 'NOT LIKE', '%logged%')->whereHas('log', function ($query) use($account) { + return $query->where('account_id', '=', $account->id); + })->where('type', $broadcastType)->orderByDesc('id')->paginate(10); - if ($account) { - $broadcasts = Broadcast::with('log')->with('log.category')->where('message', 'NOT LIKE', '%logged%')->whereHas('log', function ($query) use($account) { - return $query->where('account_id', '=', $account); - })->where('type', $broadcastType)->orderByDesc('id')->paginate(10); - - return response()->json($broadcasts, 200); - } + return response()->json($broadcasts, 200); } public function recent($broadcastType) @@ -34,7 +31,7 @@ public function recent($broadcastType) $recentBroadcasts = []; - foreach ($broadcasts as $broadcast) { + foreach ($broadcasts->sortBy('id') as $broadcast) { if ($broadcast->created_at->diffInSeconds() <= 5) { $recentBroadcasts[] = $broadcast->message; } diff --git a/app/Http/Controllers/Api/CollectionController.php b/app/Http/Controllers/Api/CollectionController.php new file mode 100644 index 00000000..742d4f0f --- /dev/null +++ b/app/Http/Controllers/Api/CollectionController.php @@ -0,0 +1,28 @@ +pluck('category')->toArray(); + array_push($categories, "all"); + + if (!in_array($collectionCategory, $categories, true)) { + return response("This collection category could not be found", 404); + } + + if ($collectionCategory === "all") { + return response()->json(Collection::get(), 200); + } + + $collectionList = Category::with('collection')->where('category', $collectionCategory)->first(); + + return response()->json($collectionList, 200); + } +} diff --git a/app/Http/Controllers/Api/HiscoreController.php b/app/Http/Controllers/Api/HiscoreController.php index fbf46b68..e5f2ed5c 100644 --- a/app/Http/Controllers/Api/HiscoreController.php +++ b/app/Http/Controllers/Api/HiscoreController.php @@ -8,168 +8,109 @@ use App\Http\Controllers\Controller; use App\Http\Resources\BossHiscoreResource; use App\Http\Resources\HiscoreResource; -use Illuminate\Support\Facades\DB; +use App\Skill; +use Illuminate\Support\Str; class HiscoreController extends Controller { + public function total() { + if (!Account::count()) { + return response("There are no linked accounts", 404); + } + + $total = Account::orderBy('rank') + ->orderByDesc('xp') + ->orderByDesc('level') + ->get() + ->partition(function ($skill) { + return $skill->rank > 0; + }) + ->flatten(); + + return HiscoreResource::collection($total) + ->additional([ + 'meta' => [ + 'name' => 'Total level', + 'slug' => 'total', + 'total_xp' => number_format($total->sum('xp')), + 'average_total_level' => round($total->sum('level') / $total->count()), + 'total_max_level' => Account::where('level', (99 * count(Helper::listSkills())))->count(), + ] + ]); + } + /** * Show the application hiscores. * * @return */ - public function skill($skillName) + public function skill(Skill $skill) { - if (Account::count() > 0) { - if ($skillName == "total") { - $hiscores = Account::orderByRaw('CASE WHEN rank > 0 THEN 1 ELSE 2 END')->orderBy('rank')->orderByDesc('level')->orderByDesc('xp')->get(); - - $sumTotalXp = Account::sum('xp'); - - $averageTotalLevel = Account::sum('level') / Account::count(); - - $skills = Helper::listSkills(); - - $totalMaxLevel = Account::where('level', (99 * count($skills)))->count(); - } else { - $sumTotalXp = DB::table($skillName) - ->selectRaw('SUM(xp) AS total_xp') - ->first(); - - $sumTotalXp = $sumTotalXp->total_xp; - - $sumTotalLevel = DB::table($skillName) - ->selectRaw('SUM(level) AS total_level') - ->selectRaw('COUNT(*) AS total_hiscores') - ->first(); - - $averageTotalLevel = $sumTotalLevel->total_level / $sumTotalLevel->total_hiscores; - - $totalMaxLevel = DB::table($skillName) - ->selectRaw('COUNT(*) AS amount_99') - ->where('level', 99) - ->first(); - - $totalMaxLevel = $totalMaxLevel->amount_99; - - $hiscores = DB::table($skillName) - ->select($skillName . '.account_id', $skillName . '.level', $skillName . '.xp', - $skillName . '.rank', 'username') - ->join('accounts', $skillName . '.account_id', '=', 'accounts.id') - ->orderByRaw('CASE WHEN ' . $skillName . '.rank > 0 THEN 1 ELSE 2 END') - ->orderBy('rank') - ->orderByDesc('level') - ->orderByDesc('xp') - ->get(); - } - - return HiscoreResource::collection($hiscores) - ->additional([ - 'meta' => [ - 'skill' => $skillName, - 'name' => ucfirst($skillName == "total" ? "total level" : $skillName), - 'total_xp' => number_format($sumTotalXp), - 'average_total_level' => round($averageTotalLevel), - 'total_max_level' => $totalMaxLevel, - ] - ]); - } else { - return response()->json("There are no linked accounts", 404); + if (!Account::count()) { + return response("There are no linked accounts", 404); } - } - public function boss($bossName) - { - if (Account::count() > 0) { - $collection = Collection::where('name', $bossName)->where(function ($query) { - $query->where('category_id', 2) - ->orWhere('category_id', 3); - })->firstOrFail(); - - $bossHiscore = $collection->model::with('account')->orderByDesc('kill_count')->get(); - - if (sizeof($bossHiscore) > 0) { - $sumKills = $collection->model::selectRaw('SUM(kill_count) AS total_kill_count') - ->selectRaw('COUNT(*) AS total_kills') - ->first(); - - $averageTotalKills = $sumKills["total_kill_count"] / $sumKills["total_kills"]; - - return BossHiscoreResource::collection($bossHiscore) - ->additional([ - 'meta' => [ - 'boss' => str_replace(" ", "_", $bossName), - 'alias' => $collection->alias, - 'total_kills' => number_format($sumKills["total_kill_count"]), - 'average_total_kills' => round($averageTotalKills), - ] - ]); - } else { - return response()->json("There are no registered collections for " . $bossName, 404); - } - } else { - return response()->json("There are no linked accounts", 404); - } + $skillHiscore = $skill->model::with('account') + ->orderBy('rank') + ->orderByDesc('xp') + ->orderByDesc('level') + ->get() + ->partition(function ($skill) { + return $skill->rank > 0; + }) + ->flatten(); + + return HiscoreResource::collection($skillHiscore) + ->additional([ + 'meta' => [ + 'name' => $skill->name, + 'slug' => $skill->slug, + 'total_xp' => number_format($skillHiscore->sum('xp')), + 'average_total_level' => round($skillHiscore->sum('level') / $skillHiscore->count()), + 'total_max_level' => $skillHiscore->where('level', 99)->count(), + ] + ]); } - public function npc($npcName) + public function collection(Collection $collection) { - if (Account::count() > 0) { - $collection = Collection::where('name', $npcName)->where('category_id', 4)->firstOrFail(); - - $npcHiscore = $collection->model::with('account')->orderByDesc('kill_count')->get(); - - if (sizeof($npcHiscore) > 0) { - $sumKills = $collection->model::selectRaw('SUM(kill_count) AS total_kill_count') - ->selectRaw('COUNT(*) AS total_kills') - ->first(); - - $averageTotalKills = $sumKills["total_kill_count"] / $sumKills["total_kills"]; - - return BossHiscoreResource::collection($npcHiscore) - ->additional([ - 'meta' => [ - 'npc' => str_replace(" ", "_", $npcName), - 'alias' => $collection->alias, - 'total_kills' => number_format($sumKills["total_kill_count"]), - 'average_total_kills' => round($averageTotalKills), - ] - ]); - } else { - return response()->json("There are no registered collections for " . $npcName, 404); - } - } else { - return response()->json("There are no linked accounts", 404); + if (!Account::count()) { + return response("There are no linked accounts", 404); } - } - - public function clue($clueDifficulty) - { - if (Account::count() > 0) { - $collection = Collection::where('name', $clueDifficulty)->where('category_id', 5)->firstOrFail(); - $npcHiscore = $collection->model::with('account')->orderByDesc('kill_count')->get(); - - if (sizeof($npcHiscore) > 0) { - $sumKills = $collection->model::selectRaw('SUM(kill_count) AS total_kill_count') - ->selectRaw('COUNT(*) AS total_kills') - ->first(); - - $averageTotalKills = $sumKills["total_kill_count"] / $sumKills["total_kills"]; - - return BossHiscoreResource::collection($npcHiscore) - ->additional([ - 'meta' => [ - 'clue' => str_replace(" ", "_", $clueDifficulty), - 'alias' => $collection->alias, - 'total_kills' => number_format($sumKills["total_kill_count"]), - 'average_total_kills' => round($averageTotalKills), - ] - ]); - } else { - return response()->json("There are no registered collections for " . $clueDifficulty, 404); - } - } else { - return response()->json("There are no linked accounts", 404); + $collectionHiscore = $collection->model::with('account') + ->orderBy('rank') + ->orderByDesc('kill_count') + ->get() + ->partition(function ($skill) { + return $skill->rank > 0; + }) + ->flatten(); + + if (!sizeof($collectionHiscore)) { + return response("There are no registered collections for " . $collection->slug, 404); } + + $collectionUniques = array_diff_key($collectionHiscore[0]->attributesToArray(), [ + "id" => 0, + "account_id" => 0, + "kill_count" => 0, + "rank" => 0, + "obtained" => 0, + "created_at" => 0, + "updated_at" => 0 + ]); + + return HiscoreResource::collection($collectionHiscore) + ->additional([ + 'meta' => [ + 'name' => $collection->name, + 'slug' => $collection->slug, + 'category' => $collection->category()->first()->category, + 'total_kill_count' => number_format($collectionHiscore->sum('kill_count')), + 'average_kill_count' => round($collectionHiscore->sum('kill_count') / $collectionHiscore->count()), + 'total_uniques' => count($collectionUniques), + ] + ]); } } diff --git a/app/Http/Controllers/Api/UserController.php b/app/Http/Controllers/Api/UserController.php index f3b40cf2..73958181 100644 --- a/app/Http/Controllers/Api/UserController.php +++ b/app/Http/Controllers/Api/UserController.php @@ -42,7 +42,7 @@ public function login(Request $request) $accessToken = Auth::user()->createToken('authToken')->accessToken; - return response($accessToken, 200); + return response()->json($accessToken, 200); } public function user() diff --git a/app/Http/Controllers/CollectionController.php b/app/Http/Controllers/CollectionController.php deleted file mode 100644 index 0e7adb27..00000000 --- a/app/Http/Controllers/CollectionController.php +++ /dev/null @@ -1,63 +0,0 @@ -json($collectionList, 200); - } - - $collectionList = Collection::select('name')->where('type', $collectionType)->get(); - - return response()->json($collectionList, 200); - } else { - return response()->json("This collection type could not be found", 404); - } - } - - public function show($collectionName) - { - // $collection = Collection::findByName($collectionName); - - // if ($collection) { - // $collectionLog = $collection->model::get(); - - // if ($collectionLog) { - // return response()->json($collectionLog, 200); - // } else { - // return response()->json("This account does not have any registered loot for " . $collection->name, 404); - // } - // } else { - // return response()->json("This collection could not be found", 404); - // } - } - - public function update($collectionName, Request $request) - { - // TODO collection log updater - } - - private function store($collectionName, $userId) - { - // $collection = Collection::findByName($collectionName); - - // $collectionLoot = new $collection->collection_type; - - // $collectionLoot->user_id = $userId; - - // $collectionLoot->save(); - - // return $collectionLoot; - } -} diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 9a92ca31..c58fa2be 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\Account; +use App\Helpers\Helper; use Illuminate\Support\Facades\Auth; class HomeController extends Controller @@ -37,16 +38,12 @@ public function index() public function forceLogout($accountUsername) { - $account = Account::where('user_id', auth()->user()->id)->where('username', $accountUsername)->first(); + $account = Helper::checkIfUserOwnsAccount($accountUsername); - if ($account) { - $account->online = 0; + $account->online = 0; - $account->save(); + $account->save(); - return redirect()->back()->with('message', 'Account successfully logged out!'); - } else { - return response("This account is not authenticated with " . auth()->user()->name, 401); - } + return redirect()->back()->with('message', 'Account successfully logged out!'); } } diff --git a/app/Http/Controllers/PageController.php b/app/Http/Controllers/PageController.php index eb57a354..bb7d24c5 100644 --- a/app/Http/Controllers/PageController.php +++ b/app/Http/Controllers/PageController.php @@ -3,8 +3,10 @@ namespace App\Http\Controllers; use App\Account; +use App\Collection; use App\Helpers\Helper; use App\NewsPost; +use App\Skill; class PageController extends Controller { @@ -32,27 +34,39 @@ public function updateLog() * * @return */ - public function hiscore($hiscoreType, $hiscoreName) + public function hiscore($hiscoreCategory, $hiscoreName) { - switch ($hiscoreType) { - case "skill": + switch ($hiscoreCategory) { + case 'skill': $hiscoreList = Helper::listSkills(); - array_push($hiscoreList, "total"); + array_push($hiscoreList, 'total'); + + if ($hiscoreName != 'total') { + $hiscore = Skill::firstWhere('slug', $hiscoreName); + } else { + $hiscore = collect(new Skill); + + $hiscore->name = 'Total'; + $hiscore->slug = 'total'; + } break; - case "boss": + case 'boss': $hiscoreList = Helper::listBosses(); + $hiscore = Collection::firstWhere('slug', $hiscoreName); break; - case "npc": + case 'npc': $hiscoreList = Helper::listNpcs(); + $hiscore = Collection::firstWhere('slug', $hiscoreName); break; - case "clue": + case 'clue': $hiscoreList = Helper::listClues(); + $hiscore = Collection::firstWhere('slug', $hiscoreName); break; default: return abort(404); } - if (!in_array($hiscoreName, $hiscoreList)) { + if (!$hiscore && $hiscoreName != 'total') { return abort(404); } @@ -67,7 +81,7 @@ public function hiscore($hiscoreType, $hiscoreName) $accountCount = Account::count(); return view('hiscore', - compact('hiscoreType', 'hiscoreName', 'hiscoreList', 'hiscoreListTop', 'hiscoreListBottom', + compact('hiscoreCategory', 'hiscore', 'hiscoreList', 'hiscoreListTop', 'hiscoreListBottom', 'accountCount')); } } diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index e2ffe822..e38d58bb 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -2,6 +2,7 @@ namespace App\Http; +use App\Http\Middleware\EnsureUserOwnsAccount; use Illuminate\Foundation\Http\Kernel as HttpKernel; class Kernel extends HttpKernel @@ -65,5 +66,6 @@ class Kernel extends HttpKernel 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + 'user.account' => EnsureUserOwnsAccount::class, ]; } diff --git a/app/Http/Middleware/EnsureUserOwnsAccount.php b/app/Http/Middleware/EnsureUserOwnsAccount.php new file mode 100644 index 00000000..712621e0 --- /dev/null +++ b/app/Http/Middleware/EnsureUserOwnsAccount.php @@ -0,0 +1,30 @@ +route('account'); + + $hasOwnership = Account::where('user_id', auth()->user()->id)->where('username', $account->username)->first(); + + if (!$hasOwnership) { + return response($account->username." is not authenticated with ".auth()->user()->name, 401); + } + + return $next($request); + } +} diff --git a/app/Http/Resources/AccountBossResource.php b/app/Http/Resources/AccountBossResource.php index 4ed3f44e..eb2b3e12 100644 --- a/app/Http/Resources/AccountBossResource.php +++ b/app/Http/Resources/AccountBossResource.php @@ -2,8 +2,8 @@ namespace App\Http\Resources; -use App\Collection; use App\Helpers\Helper; +use App\Collection; use Illuminate\Http\Resources\Json\JsonResource; class AccountBossResource extends JsonResource @@ -32,21 +32,15 @@ public function toArray($request) public function with($request) { - $bosses = Helper::listBosses(); - $bossHiscores = []; - foreach ($bosses as $bossName) { - $collection = Collection::where('name', $bossName)->firstOrFail(); - - $bossHiscores[$bossName] = $collection->model::where('account_id', $this->id)->first(); - - $bossHiscores[$bossName]["boss_name"] = $bossName; + foreach (Helper::listBosses(true) as $boss) { + $bossHiscores[$boss->slug] = $boss->model::firstWhere('account_id', $this->id); } return [ 'meta' => [ - 'bossHiscores' => BossResource::collection(collect($bossHiscores)), + 'boss_hiscores' => CollectionResource::collection(collect($bossHiscores)), ] ]; } diff --git a/app/Http/Resources/AccountCollectionResource.php b/app/Http/Resources/AccountCollectionResource.php new file mode 100644 index 00000000..a15645cd --- /dev/null +++ b/app/Http/Resources/AccountCollectionResource.php @@ -0,0 +1,46 @@ + $this->id, + 'user_id' => $this->user_id, + 'account_type' => $this->account_type, + 'username' => $this->username, + 'rank' => (number_format($this->rank) >= 1 ? number_format($this->rank) : "Unranked"), + 'level' => $this->level, + 'xp' => (number_format($this->xp) >= 1 ? number_format($this->xp) : "Unranked"), + 'online' => $this->online == 0 ? "Offline" : "Online", + 'joined' => date_format($this->created_at, "d. M Y"), + 'user' => new UserResource($this->user), + ]; + } + + public function with($request) + { + $collectionHiscore = []; + + foreach (Collection::get() as $collection) { + $collectionHiscore[$collection->slug] = $collection->model::firstWhere('account_id', $this->id); + } + + return [ + 'meta' => [ + 'collection_hiscores' => CollectionResource::collection(collect($collectionHiscore)), + ] + ]; + } +} diff --git a/app/Http/Resources/AccountResource.php b/app/Http/Resources/AccountResource.php index acff0b6a..7ca4e701 100644 --- a/app/Http/Resources/AccountResource.php +++ b/app/Http/Resources/AccountResource.php @@ -2,10 +2,10 @@ namespace App\Http\Resources; -use App\Collection; use App\Helpers\Helper; +use App\Skill; +use App\Collection; use Illuminate\Http\Resources\Json\JsonResource; -use Illuminate\Support\Facades\DB; class AccountResource extends JsonResource { @@ -33,28 +33,22 @@ public function toArray($request) public function with($request) { - $skills = Helper::listSkills(); - $skillHiscores = []; - foreach ($skills as $skillName) { - $skillHiscores[$skillName] = DB::table($skillName)->where('account_id', $this->id)->first(); + foreach (Skill::get() as $skill) { + $skillHiscores[$skill->slug] = $skill->model::firstWhere('account_id', $this->id); } - $bosses = Helper::listBosses(); - - $bossHiscores = []; - - foreach ($bosses as $bossName) { - $collection = Collection::where('name', $bossName)->firstOrFail(); + $collectionHiscore = []; - $bossHiscores[$bossName] = $collection->model::first(); + foreach (Collection::get() as $collection) { + $collectionHiscore[$collection->slug] = $collection->model::firstWhere('account_id', $this->id); } return [ 'meta' => [ - 'skillHiscores' => SkillResource::collection(collect($skillHiscores)), - 'bossHiscores' => BossResource::collection(collect($bossHiscores)), + 'skill_hiscores' => SkillResource::collection(collect($skillHiscores)), + 'collection_hiscores' => CollectionResource::collection(collect($collectionHiscore)), ] ]; } diff --git a/app/Http/Resources/AccountSkillResource.php b/app/Http/Resources/AccountSkillResource.php index 30dd674d..7c96766c 100644 --- a/app/Http/Resources/AccountSkillResource.php +++ b/app/Http/Resources/AccountSkillResource.php @@ -3,8 +3,8 @@ namespace App\Http\Resources; use App\Helpers\Helper; +use App\Skill; use Illuminate\Http\Resources\Json\JsonResource; -use Illuminate\Support\Facades\DB; class AccountSkillResource extends JsonResource { @@ -32,17 +32,17 @@ public function toArray($request) public function with($request) { - $skills = Helper::listSkills(); - $skillHiscores = []; - foreach ($skills as $skillName) { - $skillHiscores[$skillName] = DB::table($skillName)->where('account_id', $this->id)->first(); + foreach (Helper::listSkills() as $skillName) { + $skill = Skill::where('name', $skillName)->firstOrFail(); + + $skillHiscores[$skillName] = $skill->model::where('account_id', $this->id)->first(); } return [ 'meta' => [ - 'skillHiscores' => SkillResource::collection(collect($skillHiscores)), + 'skill_hiscores' => SkillResource::collection(collect($skillHiscores)), ] ]; } diff --git a/app/Http/Resources/BossResource.php b/app/Http/Resources/BossResource.php deleted file mode 100644 index e994d0c8..00000000 --- a/app/Http/Resources/BossResource.php +++ /dev/null @@ -1,42 +0,0 @@ -attributesToArray(); - - $name = $collectionLog["boss_name"]; - - $collectionLog = array_diff_key($collectionLog, [ - "id" => 0, - "account_id" => 0, - "kill_count" => 0, - "rank" => 0, - "obtained" => 0, - "created_at" => 0, - "updated_at" => 0, - "boss_name" => 0 - ]); - - return [ - 'alias' => Helper::collectionAttribute($name, 'alias'), - 'kill_count' => $this->kill_count, - 'rank' => (number_format($this->rank) >= 1 ? number_format($this->rank) : "Unranked"), - 'obtained' => $this->obtained, - 'total' => sizeof($collectionLog), - 'log' => $collectionLog, - ]; - } -} diff --git a/app/Http/Resources/BossHiscoreResource.php b/app/Http/Resources/CollectionResource.php similarity index 63% rename from app/Http/Resources/BossHiscoreResource.php rename to app/Http/Resources/CollectionResource.php index 9a6e1b78..4f7d446c 100644 --- a/app/Http/Resources/BossHiscoreResource.php +++ b/app/Http/Resources/CollectionResource.php @@ -2,9 +2,10 @@ namespace App\Http\Resources; +use App\Helpers\Helper; use Illuminate\Http\Resources\Json\JsonResource; -class BossHiscoreResource extends JsonResource +class CollectionResource extends JsonResource { /** * Transform the resource into an array. @@ -14,11 +15,7 @@ class BossHiscoreResource extends JsonResource */ public function toArray($request) { - $collectionLog = $this->attributesToArray(); - - $obtained = isset($collectionLog["obtained"]) ? $collectionLog["obtained"] : 0; - - $collectionLog = array_diff_key($collectionLog, [ + $collectionUniques = array_diff_key($this->attributesToArray(), [ "id" => 0, "account_id" => 0, "kill_count" => 0, @@ -29,11 +26,11 @@ public function toArray($request) ]); return [ - 'kill_count' => $this->kill_count, 'rank' => (number_format($this->rank) >= 1 ? number_format($this->rank) : "Unranked"), - 'obtained' => $obtained, - 'log' => $collectionLog, - 'account' => new AccountResource($this->account), + 'kill_count' => $this->kill_count, + 'obtained' => $this->obtained, + 'total' => sizeof($collectionUniques), + 'log' => $collectionUniques, ]; } } diff --git a/app/Http/Resources/HiscoreResource.php b/app/Http/Resources/HiscoreResource.php index d3a86025..9353676e 100644 --- a/app/Http/Resources/HiscoreResource.php +++ b/app/Http/Resources/HiscoreResource.php @@ -2,7 +2,10 @@ namespace App\Http\Resources; +use App\Collection; +use App\Skill; use Illuminate\Http\Resources\Json\JsonResource; +use Illuminate\Support\Str; class HiscoreResource extends JsonResource { @@ -14,12 +17,22 @@ class HiscoreResource extends JsonResource */ public function toArray($request) { + if (in_array(Str::slug($this->getTable()), Skill::get()->pluck('slug')->toArray()) || $this->getTable() === 'accounts') { + $hiscore = new SkillResource($this); + } + + if (in_array(Str::slug($this->getTable()), Collection::get()->pluck('slug')->toArray())) { + $hiscore = new CollectionResource($this); + } + + if (!$hiscore) { + abort(404); + } + return [ - 'id' => ($request->getRequestUri() === "/api/hiscore/total" ? $this->id : $this->account_id), - 'username' => $this->username, - 'rank' => (number_format($this->rank) >= 1 ? number_format($this->rank) : "Unranked"), - 'level' => $this->level, - 'xp' => (number_format($this->xp) >= 1 ? number_format($this->xp) : "Unranked"), + 'id' => ($request->getRequestUri() === "/api/hiscore/skill/total" ? $this->id : $this->account_id), + 'username' => ($request->getRequestUri() === "/api/hiscore/skill/total" ? $this->username : $this->account->username), + 'hiscore' => $hiscore, ]; } } diff --git a/app/Image.php b/app/Image.php index 57e21f07..58a36f5a 100644 --- a/app/Image.php +++ b/app/Image.php @@ -37,7 +37,7 @@ class Image extends Model 'image_file_size' ]; - public function image() + public function newspost() { return $this->hasMany(NewsPost::class); } diff --git a/app/NewsPost.php b/app/NewsPost.php index 85e06df7..a76e9167 100644 --- a/app/NewsPost.php +++ b/app/NewsPost.php @@ -40,7 +40,7 @@ class NewsPost extends Model ]; public function user() { - return $this->belongsTo(User::class); + return $this->belongsToMany(User::class); } public function category() { diff --git a/app/Skill.php b/app/Skill.php new file mode 100644 index 00000000..7bdc40cc --- /dev/null +++ b/app/Skill.php @@ -0,0 +1,15 @@ +belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Attack.php b/app/Skill/Attack.php index 0b3547c5..411ff8d3 100644 --- a/app/Skill/Attack.php +++ b/app/Skill/Attack.php @@ -7,5 +7,14 @@ class Attack extends Model { - use HasFactory; + protected $table = 'attack'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Construction.php b/app/Skill/Construction.php index 1306a5b3..b2f580c2 100644 --- a/app/Skill/Construction.php +++ b/app/Skill/Construction.php @@ -7,5 +7,14 @@ class Construction extends Model { - use HasFactory; + protected $table = 'construction'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Cooking.php b/app/Skill/Cooking.php index 63e631ca..2e579414 100644 --- a/app/Skill/Cooking.php +++ b/app/Skill/Cooking.php @@ -7,5 +7,14 @@ class Cooking extends Model { - use HasFactory; + protected $table = 'cooking'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Crafting.php b/app/Skill/Crafting.php index 72165493..376695d4 100644 --- a/app/Skill/Crafting.php +++ b/app/Skill/Crafting.php @@ -7,5 +7,14 @@ class Crafting extends Model { - use HasFactory; + protected $table = 'crafting'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Defence.php b/app/Skill/Defence.php index fe3ada3b..2d9554cd 100644 --- a/app/Skill/Defence.php +++ b/app/Skill/Defence.php @@ -7,5 +7,14 @@ class Defence extends Model { - use HasFactory; + protected $table = 'defence'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Farming.php b/app/Skill/Farming.php index 4ab7c74c..848e73b3 100644 --- a/app/Skill/Farming.php +++ b/app/Skill/Farming.php @@ -7,5 +7,14 @@ class Farming extends Model { - use HasFactory; + protected $table = 'farming'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Firemaking.php b/app/Skill/Firemaking.php index 2e2f1ff9..1db2ce97 100644 --- a/app/Skill/Firemaking.php +++ b/app/Skill/Firemaking.php @@ -7,5 +7,14 @@ class Firemaking extends Model { - use HasFactory; + protected $table = 'firemaking'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Fishing.php b/app/Skill/Fishing.php index ea41ea77..24bc2c65 100644 --- a/app/Skill/Fishing.php +++ b/app/Skill/Fishing.php @@ -7,5 +7,14 @@ class Fishing extends Model { - use HasFactory; + protected $table = 'fishing'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Fletching.php b/app/Skill/Fletching.php index 454f5a43..8b9b3203 100644 --- a/app/Skill/Fletching.php +++ b/app/Skill/Fletching.php @@ -7,5 +7,14 @@ class Fletching extends Model { - use HasFactory; + protected $table = 'fletching'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Herblore.php b/app/Skill/Herblore.php index 82ac281d..a73c7aec 100644 --- a/app/Skill/Herblore.php +++ b/app/Skill/Herblore.php @@ -7,5 +7,14 @@ class Herblore extends Model { - use HasFactory; + protected $table = 'herblore'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Hitpoints.php b/app/Skill/Hitpoints.php index 3b0c7271..442526d2 100644 --- a/app/Skill/Hitpoints.php +++ b/app/Skill/Hitpoints.php @@ -7,5 +7,14 @@ class Hitpoints extends Model { - use HasFactory; + protected $table = 'hitpoints'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Hunter.php b/app/Skill/Hunter.php index d37a73e6..a0d61730 100644 --- a/app/Skill/Hunter.php +++ b/app/Skill/Hunter.php @@ -7,5 +7,14 @@ class Hunter extends Model { - use HasFactory; + protected $table = 'hunter'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Magic.php b/app/Skill/Magic.php index b677e922..6ced2982 100644 --- a/app/Skill/Magic.php +++ b/app/Skill/Magic.php @@ -7,5 +7,14 @@ class Magic extends Model { - use HasFactory; + protected $table = 'magic'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Mining.php b/app/Skill/Mining.php index 57286513..d7cc020d 100644 --- a/app/Skill/Mining.php +++ b/app/Skill/Mining.php @@ -7,5 +7,14 @@ class Mining extends Model { - use HasFactory; + protected $table = 'mining'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Prayer.php b/app/Skill/Prayer.php index f80cb828..2166034b 100644 --- a/app/Skill/Prayer.php +++ b/app/Skill/Prayer.php @@ -7,5 +7,14 @@ class Prayer extends Model { - use HasFactory; + protected $table = 'prayer'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Ranged.php b/app/Skill/Ranged.php index 9fec287d..7974e96a 100644 --- a/app/Skill/Ranged.php +++ b/app/Skill/Ranged.php @@ -7,5 +7,14 @@ class Ranged extends Model { - use HasFactory; + protected $table = 'ranged'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Runecraft.php b/app/Skill/Runecraft.php index 703cd331..cdbc889d 100644 --- a/app/Skill/Runecraft.php +++ b/app/Skill/Runecraft.php @@ -7,5 +7,14 @@ class Runecraft extends Model { - use HasFactory; + protected $table = 'runecraft'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Slayer.php b/app/Skill/Slayer.php index ba8b361d..a24efa43 100644 --- a/app/Skill/Slayer.php +++ b/app/Skill/Slayer.php @@ -7,5 +7,14 @@ class Slayer extends Model { - use HasFactory; + protected $table = 'slayer'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Smithing.php b/app/Skill/Smithing.php index 01b4a61c..e95fa212 100644 --- a/app/Skill/Smithing.php +++ b/app/Skill/Smithing.php @@ -7,5 +7,14 @@ class Smithing extends Model { - use HasFactory; + protected $table = 'smithing'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Strength.php b/app/Skill/Strength.php index 022be8ce..fc450852 100644 --- a/app/Skill/Strength.php +++ b/app/Skill/Strength.php @@ -7,5 +7,14 @@ class Strength extends Model { - use HasFactory; + protected $table = 'strength'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Thieving.php b/app/Skill/Thieving.php index c6ba6d1a..b379fbb8 100644 --- a/app/Skill/Thieving.php +++ b/app/Skill/Thieving.php @@ -7,5 +7,14 @@ class Thieving extends Model { - use HasFactory; + protected $table = 'thieving'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/Skill/Woodcutting.php b/app/Skill/Woodcutting.php index c43fbf77..f0fa9190 100644 --- a/app/Skill/Woodcutting.php +++ b/app/Skill/Woodcutting.php @@ -7,5 +7,14 @@ class Woodcutting extends Model { - use HasFactory; + protected $table = 'woodcutting'; + + protected $fillable = ['level']; + + protected $hidden = ['user_id']; + + public function account() + { + return $this->belongsTo(\App\Account::class); + } } diff --git a/app/User.php b/app/User.php index 154c9fa0..bb445371 100644 --- a/app/User.php +++ b/app/User.php @@ -87,6 +87,16 @@ public function account() return $this->hasMany(Account::class); } + public function log() + { + return $this->hasMany(Log::class); + } + + public function newspost() + { + return $this->hasMany(NewsPost::class); + } + // TODO support multiple auth statuses? public function authStatus() { diff --git a/composer.json b/composer.json index 2eb4b60a..4dd6ab0a 100644 --- a/composer.json +++ b/composer.json @@ -8,10 +8,11 @@ ], "license": "MIT", "require": { - "php": "^7.3.26", + "php": "^8.0", "ext-curl": "*", "ext-json": "*", "beyondcode/laravel-websockets": "^1.9", + "fakerphp/faker": "^1.14", "fideloper/proxy": "^4.2", "fruitcake/laravel-cors": "^2.0", "guzzlehttp/guzzle": "^7.0.1", @@ -19,18 +20,17 @@ "laravel/passport": "^10.0", "laravel/tinker": "^2.0", "laravel/ui": "^3.0", + "phpunit/phpunit": "^9.5", "pusher/pusher-php-server": "^4.1", "vipsoft/unzip": "^1.3" }, "require-dev": { "barryvdh/laravel-ide-helper": "^2.8", "facade/ignition": "^2.3.6", - "fzaninotto/faker": "^1.9.1", "laracasts/generators": "^2.0", "laravel/homestead": "^11.0", "mockery/mockery": "^1.3.1", - "nunomaduro/collision": "^5.0", - "phpunit/phpunit": "^9.0" + "nunomaduro/collision": "^5.0" }, "config": { "optimize-autoloader": true, diff --git a/composer.lock b/composer.lock index beed9006..c2531180 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "c8ceac982c5ff5d68d46362ae9ec0840", + "content-hash": "b2a1f53e5921fa4b98d668d11310930d", "packages": [ { "name": "asm89/stack-cors", @@ -56,6 +56,10 @@ "cors", "stack" ], + "support": { + "issues": "https://github.com/asm89/stack-cors/issues", + "source": "https://github.com/asm89/stack-cors/tree/v2.0.3" + }, "time": "2021-03-11T06:42:03+00:00" }, { @@ -134,6 +138,10 @@ "beyondcode", "laravel-websockets" ], + "support": { + "issues": "https://github.com/beyondcode/laravel-websockets/issues", + "source": "https://github.com/beyondcode/laravel-websockets/tree/1.12.0" + }, "time": "2021-04-06T14:21:57+00:00" }, { @@ -184,6 +192,12 @@ "issues": "https://github.com/brick/math/issues", "source": "https://github.com/brick/math/tree/0.9.2" }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/brick/math", + "type": "tidelift" + } + ], "time": "2021-01-20T22:51:39+00:00" }, { @@ -241,6 +255,11 @@ "sockets", "websocket" ], + "support": { + "chat": "https://gitter.im/reactphp/reactphp", + "issues": "https://github.com/ratchetphp/Ratchet/issues", + "source": "https://github.com/ratchetphp/Ratchet/tree/master" + }, "time": "2020-07-07T15:50:14+00:00" }, { @@ -303,6 +322,10 @@ "security", "symmetric key cryptography" ], + "support": { + "issues": "https://github.com/defuse/php-encryption/issues", + "source": "https://github.com/defuse/php-encryption/tree/v2.3.1" + }, "time": "2021-04-09T23:57:26+00:00" }, { @@ -380,8 +403,95 @@ "uppercase", "words" ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.x" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], "time": "2020-05-29T15:13:26+00:00" }, + { + "name": "doctrine/instantiator", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-11-10T18:47:58+00:00" + }, { "name": "doctrine/lexer", "version": "1.2.1", @@ -442,6 +552,24 @@ "parser", "php" ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], "time": "2020-05-25T17:44:05+00:00" }, { @@ -493,6 +621,16 @@ "cron", "schedule" ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.1.0" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], "time": "2020-11-24T19:55:57+00:00" }, { @@ -551,6 +689,16 @@ "validation", "validator" ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/2.1.25" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], "time": "2020-12-29T14:50:06+00:00" }, { @@ -594,6 +742,10 @@ "event-dispatcher", "event-emitter" ], + "support": { + "issues": "https://github.com/igorw/evenement/issues", + "source": "https://github.com/igorw/evenement/tree/master" + }, "time": "2017-07-23T21:35:13+00:00" }, { @@ -643,8 +795,77 @@ "flare", "ignition" ], + "support": { + "issues": "https://github.com/facade/ignition-contracts/issues", + "source": "https://github.com/facade/ignition-contracts/tree/1.0.2" + }, "time": "2020-10-16T08:27:54+00:00" }, + { + "name": "fakerphp/faker", + "version": "v1.14.1", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "ed22aee8d17c7b396f74a58b1e7fefa4f90d5ef1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/ed22aee8d17c7b396f74a58b1e7fefa4f90d5ef1", + "reference": "ed22aee8d17c7b396f74a58b1e7fefa4f90d5ef1", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "psr/container": "^1.0", + "symfony/deprecation-contracts": "^2.2" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "ext-intl": "*", + "symfony/phpunit-bridge": "^4.4 || ^5.2" + }, + "suggest": { + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "v1.15-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v.1.14.1" + }, + "time": "2021-03-30T06:27:33+00:00" + }, { "name": "fideloper/proxy", "version": "4.4.1", @@ -697,6 +918,10 @@ "proxy", "trusted proxy" ], + "support": { + "issues": "https://github.com/fideloper/TrustedProxy/issues", + "source": "https://github.com/fideloper/TrustedProxy/tree/4.4.1" + }, "time": "2020-10-22T13:48:01+00:00" }, { @@ -747,20 +972,24 @@ "jwt", "php" ], + "support": { + "issues": "https://github.com/firebase/php-jwt/issues", + "source": "https://github.com/firebase/php-jwt/tree/v5.2.1" + }, "time": "2021-02-12T00:02:00+00:00" }, { "name": "fruitcake/laravel-cors", - "version": "v2.0.3", + "version": "v2.0.4", "source": { "type": "git", "url": "https://github.com/fruitcake/laravel-cors.git", - "reference": "01de0fe5f71c70d1930ee9a80385f9cc28e0f63a" + "reference": "a8ccedc7ca95189ead0e407c43b530dc17791d6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/01de0fe5f71c70d1930ee9a80385f9cc28e0f63a", - "reference": "01de0fe5f71c70d1930ee9a80385f9cc28e0f63a", + "url": "https://api.github.com/repos/fruitcake/laravel-cors/zipball/a8ccedc7ca95189ead0e407c43b530dc17791d6a", + "reference": "a8ccedc7ca95189ead0e407c43b530dc17791d6a", "shasum": "" }, "require": { @@ -773,8 +1002,8 @@ }, "require-dev": { "laravel/framework": "^6|^7|^8", - "orchestra/testbench-dusk": "^4|^5|^6", - "phpunit/phpunit": "^6|^7|^8", + "orchestra/testbench-dusk": "^4|^5|^6|^7", + "phpunit/phpunit": "^6|^7|^8|^9", "squizlabs/php_codesniffer": "^3.5" }, "type": "library", @@ -814,7 +1043,17 @@ "crossdomain", "laravel" ], - "time": "2020-10-22T13:57:20+00:00" + "support": { + "issues": "https://github.com/fruitcake/laravel-cors/issues", + "source": "https://github.com/fruitcake/laravel-cors/tree/v2.0.4" + }, + "funding": [ + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2021-04-26T11:24:25+00:00" }, { "name": "graham-campbell/result-type", @@ -866,6 +1105,20 @@ "Result-Type", "result" ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], "time": "2020-04-13T13:17:36+00:00" }, { @@ -947,6 +1200,28 @@ "rest", "web service" ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.3.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://github.com/alexeyshockov", + "type": "github" + }, + { + "url": "https://github.com/gmponos", + "type": "github" + } + ], "time": "2021-03-23T11:33:13+00:00" }, { @@ -998,20 +1273,24 @@ "keywords": [ "promise" ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/1.4.1" + }, "time": "2021-03-07T09:25:29+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.8.1", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "35ea11d335fd638b5882ff1725228b3d35496ab1" + "reference": "dc960a912984efb74d0a90222870c72c87f10c91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/35ea11d335fd638b5882ff1725228b3d35496ab1", - "reference": "35ea11d335fd638b5882ff1725228b3d35496ab1", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", + "reference": "dc960a912984efb74d0a90222870c72c87f10c91", "shasum": "" }, "require": { @@ -1069,20 +1348,24 @@ "uri", "url" ], - "time": "2021-03-21T16:25:00+00:00" + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/1.8.2" + }, + "time": "2021-04-26T09:17:50+00:00" }, { "name": "laravel/framework", - "version": "v8.38.0", + "version": "v8.40.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "26a73532c54d2c090692bf2e3e64e449669053ba" + "reference": "a654897ad7f97aea9d7ef292803939798c4a02a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/26a73532c54d2c090692bf2e3e64e449669053ba", - "reference": "26a73532c54d2c090692bf2e3e64e449669053ba", + "url": "https://api.github.com/repos/laravel/framework/zipball/a654897ad7f97aea9d7ef292803939798c4a02a4", + "reference": "a654897ad7f97aea9d7ef292803939798c4a02a4", "shasum": "" }, "require": { @@ -1233,7 +1516,11 @@ "framework", "laravel" ], - "time": "2021-04-20T13:50:21+00:00" + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-04-28T14:38:56+00:00" }, { "name": "laravel/passport", @@ -1306,6 +1593,10 @@ "oauth", "passport" ], + "support": { + "issues": "https://github.com/laravel/passport/issues", + "source": "https://github.com/laravel/passport" + }, "time": "2021-04-06T14:30:45+00:00" }, { @@ -1370,20 +1661,24 @@ "laravel", "psysh" ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/v2.6.1" + }, "time": "2021-03-02T16:53:12+00:00" }, { "name": "laravel/ui", - "version": "v3.2.0", + "version": "v3.2.1", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "a1f82c6283c8373ea1958b8a27c3d5c98cade351" + "reference": "e2478cd0342a92ec1c8c77422553bda8ee004fd0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/a1f82c6283c8373ea1958b8a27c3d5c98cade351", - "reference": "a1f82c6283c8373ea1958b8a27c3d5c98cade351", + "url": "https://api.github.com/repos/laravel/ui/zipball/e2478cd0342a92ec1c8c77422553bda8ee004fd0", + "reference": "e2478cd0342a92ec1c8c77422553bda8ee004fd0", "shasum": "" }, "require": { @@ -1424,7 +1719,10 @@ "laravel", "ui" ], - "time": "2021-01-06T19:20:22+00:00" + "support": { + "source": "https://github.com/laravel/ui/tree/v3.2.1" + }, + "time": "2021-04-27T18:17:41+00:00" }, { "name": "lcobucci/clock", @@ -1471,6 +1769,20 @@ } ], "description": "Yet another clock abstraction", + "support": { + "issues": "https://github.com/lcobucci/clock/issues", + "source": "https://github.com/lcobucci/clock/tree/2.0.x" + }, + "funding": [ + { + "url": "https://github.com/lcobucci", + "type": "github" + }, + { + "url": "https://www.patreon.com/lcobucci", + "type": "patreon" + } + ], "time": "2020-08-27T18:56:02+00:00" }, { @@ -1533,20 +1845,34 @@ "JWS", "jwt" ], + "support": { + "issues": "https://github.com/lcobucci/jwt/issues", + "source": "https://github.com/lcobucci/jwt/tree/4.0.3" + }, + "funding": [ + { + "url": "https://github.com/lcobucci", + "type": "github" + }, + { + "url": "https://www.patreon.com/lcobucci", + "type": "patreon" + } + ], "time": "2021-03-23T23:47:22+00:00" }, { "name": "league/commonmark", - "version": "1.5.8", + "version": "1.6.0", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf" + "reference": "19a9673b833cc37770439097b381d86cd125bfe8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf", - "reference": "08fa59b8e4e34ea8a773d55139ae9ac0e0aecbaf", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/19a9673b833cc37770439097b381d86cd125bfe8", + "reference": "19a9673b833cc37770439097b381d86cd125bfe8", "shasum": "" }, "require": { @@ -1602,7 +1928,39 @@ "md", "parser" ], - "time": "2021-03-28T18:51:39+00:00" + "support": { + "docs": "https://commonmark.thephpleague.com/", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://enjoy.gitstore.app/repositories/thephpleague/commonmark", + "type": "custom" + }, + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://www.patreon.com/colinodell", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2021-05-01T19:00:49+00:00" }, { "name": "league/event", @@ -1652,6 +2010,10 @@ "event", "listener" ], + "support": { + "issues": "https://github.com/thephpleague/event/issues", + "source": "https://github.com/thephpleague/event/tree/master" + }, "time": "2018-11-26T11:52:41+00:00" }, { @@ -1737,6 +2099,16 @@ "sftp", "storage" ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/1.x" + }, + "funding": [ + { + "url": "https://offset.earth/frankdejonge", + "type": "other" + } + ], "time": "2020-08-23T07:39:11+00:00" }, { @@ -1783,6 +2155,16 @@ "issues": "https://github.com/thephpleague/mime-type-detection/issues", "source": "https://github.com/thephpleague/mime-type-detection/tree/1.7.0" }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], "time": "2021-01-18T20:58:21+00:00" }, { @@ -1860,6 +2242,16 @@ "secure", "server" ], + "support": { + "issues": "https://github.com/thephpleague/oauth2-server/issues", + "source": "https://github.com/thephpleague/oauth2-server/tree/8.2.4" + }, + "funding": [ + { + "url": "https://github.com/sephster", + "type": "github" + } + ], "time": "2020-12-10T11:35:44+00:00" }, { @@ -1942,20 +2334,92 @@ "logging", "psr-3" ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.2.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], "time": "2020-12-14T13:15:25+00:00" }, { - "name": "nesbot/carbon", - "version": "2.46.0", + "name": "myclabs/deep-copy", + "version": "1.10.2", "source": { "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4" + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4", - "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-11-13T09:40:50+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.46.0", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4", + "reference": "2fd2c4a77d58a4e95234c8a61c5df1f157a91bf4", "shasum": "" }, "require": { @@ -2025,6 +2489,16 @@ "issues": "https://github.com/briannesbitt/Carbon/issues", "source": "https://github.com/briannesbitt/Carbon" }, + "funding": [ + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], "time": "2021-02-24T17:30:44+00:00" }, { @@ -2077,6 +2551,10 @@ "parser", "php" ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4" + }, "time": "2020-12-20T10:01:03+00:00" }, { @@ -2140,6 +2618,20 @@ "psr-17", "psr-7" ], + "support": { + "issues": "https://github.com/Nyholm/psr7/issues", + "source": "https://github.com/Nyholm/psr7/tree/1.4.0" + }, + "funding": [ + { + "url": "https://github.com/Zegnat", + "type": "github" + }, + { + "url": "https://github.com/nyholm", + "type": "github" + } + ], "time": "2021-02-18T15:41:32+00:00" }, { @@ -2201,6 +2693,10 @@ "serialization", "serialize" ], + "support": { + "issues": "https://github.com/opis/closure/issues", + "source": "https://github.com/opis/closure/tree/3.6.2" + }, "time": "2021-04-09T13:42:10+00:00" }, { @@ -2263,6 +2759,11 @@ "hex2bin", "rfc4648" ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/constant_time_encoding/issues", + "source": "https://github.com/paragonie/constant_time_encoding" + }, "time": "2020-12-06T15:14:20+00:00" }, { @@ -2308,6 +2809,11 @@ "pseudorandom", "random" ], + "support": { + "email": "info@paragonie.com", + "issues": "https://github.com/paragonie/random_compat/issues", + "source": "https://github.com/paragonie/random_compat" + }, "time": "2020-10-15T08:29:30+00:00" }, { @@ -2390,8 +2896,123 @@ "secret-key cryptography", "side-channel resistant" ], + "support": { + "issues": "https://github.com/paragonie/sodium_compat/issues", + "source": "https://github.com/paragonie/sodium_compat/tree/v1.15.4" + }, "time": "2021-04-17T09:00:05+00:00" }, + { + "name": "phar-io/manifest", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/master" + }, + "time": "2020-06-27T14:33:11+00:00" + }, + { + "name": "phar-io/version", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "bae7c545bef187884426f042434e561ab1ddb182" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", + "reference": "bae7c545bef187884426f042434e561ab1ddb182", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.1.0" + }, + "time": "2021-02-23T14:00:09+00:00" + }, { "name": "php-http/message-factory", "version": "v1.0.2", @@ -2440,86 +3061,262 @@ "stream", "uri" ], + "support": { + "issues": "https://github.com/php-http/message-factory/issues", + "source": "https://github.com/php-http/message-factory/tree/master" + }, "time": "2015-12-19T14:08:53+00:00" }, { - "name": "phpoption/phpoption", - "version": "1.7.5", + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", "source": { "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-2.x": "2.x-dev" } }, "autoload": { "psr-4": { - "PhpOption\\": "src/PhpOption/" + "phpDocumentor\\Reflection\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "Apache-2.0" + "MIT" ], "authors": [ { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com" + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" } ], - "description": "Option Type for PHP", + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", "keywords": [ - "language", - "option", - "php", - "type" + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" ], - "time": "2020-07-20T17:29:33+00:00" + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" }, { - "name": "phpseclib/phpseclib", - "version": "3.0.8", + "name": "phpdocumentor/reflection-docblock", + "version": "5.2.2", "source": { "type": "git", - "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "d9615a6fb970d9933866ca8b4036ec3407b020b6" + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/d9615a6fb970d9933866ca8b4036ec3407b020b6", - "reference": "d9615a6fb970d9933866ca8b4036ec3407b020b6", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "shasum": "" }, "require": { - "paragonie/constant_time_encoding": "^1|^2", - "paragonie/random_compat": "^1.4|^2.0|^9.99.99", - "php": ">=5.6.1" + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" }, "require-dev": { - "phing/phing": "~2.7", - "phpunit/phpunit": "^5.7|^6.0|^9.4", - "squizlabs/php_codesniffer": "~2.0" + "mockery/mockery": "~1.3.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + }, + "time": "2020-09-03T19:13:55+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + }, + "time": "2020-09-17T18:55:26+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.7.5", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", + "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.7-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.7.5" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2020-07-20T17:29:33+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "3.0.8", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "d9615a6fb970d9933866ca8b4036ec3407b020b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/d9615a6fb970d9933866ca8b4036ec3407b020b6", + "reference": "d9615a6fb970d9933866ca8b4036ec3407b020b6", + "shasum": "" + }, + "require": { + "paragonie/constant_time_encoding": "^1|^2", + "paragonie/random_compat": "^1.4|^2.0|^9.99.99", + "php": ">=5.6.1" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "^5.7|^6.0|^9.4", + "squizlabs/php_codesniffer": "~2.0" }, "suggest": { "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", @@ -2588,29 +3385,60 @@ "x.509", "x509" ], + "support": { + "issues": "https://github.com/phpseclib/phpseclib/issues", + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.8" + }, + "funding": [ + { + "url": "https://github.com/terrafrost", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpseclib", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib", + "type": "tidelift" + } + ], "time": "2021-04-19T03:20:48+00:00" }, { - "name": "psr/container", - "version": "1.1.1", + "name": "phpspec/prophecy", + "version": "1.13.0", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + "url": "https://github.com/phpspec/prophecy.git", + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea", + "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea", "shasum": "" }, "require": { - "php": ">=7.2.0" + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.1", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" + }, + "require-dev": { + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.11.x-dev" + } + }, "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "Prophecy\\": "src/Prophecy" } }, "notification-url": "https://packagist.org/downloads/", @@ -2619,365 +3447,473 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" ], "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/1.13.0" }, - "time": "2021-03-05T17:36:06+00:00" + "time": "2021-03-17T13:42:18+00:00" }, { - "name": "psr/event-dispatcher", - "version": "1.0.0", + "name": "phpunit/php-code-coverage", + "version": "9.2.6", "source": { "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "f6293e1b30a2354e8428e004689671b83871edde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde", + "reference": "f6293e1b30a2354e8428e004689671b83871edde", "shasum": "" }, "require": { - "php": ">=7.2.0" + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.10.2", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, - "type": "library", + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "*", + "ext-xdebug": "*" + }, + "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "9.2-dev" } }, "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Standard interfaces for event handling.", + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", "keywords": [ - "events", - "psr", - "psr-14" + "coverage", + "testing", + "xunit" ], - "time": "2019-01-08T18:20:26+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-03-28T07:26:59+00:00" }, { - "name": "psr/http-client", - "version": "1.0.1", + "name": "phpunit/php-file-iterator", + "version": "3.0.5", "source": { "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", "shasum": "" }, "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", "keywords": [ - "http", - "http-client", - "psr", - "psr-18" + "filesystem", + "iterator" ], - "time": "2020-06-29T06:28:15+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:57:25+00:00" }, { - "name": "psr/http-factory", - "version": "1.0.1", + "name": "phpunit/php-invoker", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { - "php": ">=7.0.0", - "psr/http-message": "^1.0" + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.1-dev" } }, "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" + "process" ], - "time": "2019-04-30T12:38:16+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" }, { - "name": "psr/http-message", - "version": "1.0.1", + "name": "phpunit/php-text-template", + "version": "2.0.4", "source": { "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" + "template" ], - "time": "2016-08-06T14:39:51+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" }, { - "name": "psr/log", - "version": "1.1.3", + "name": "phpunit/php-timer", + "version": "5.0.3", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", - "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "5.0-dev" } }, "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", "keywords": [ - "log", - "psr", - "psr-3" + "timer" ], - "time": "2020-03-23T09:12:05+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" }, { - "name": "psr/simple-cache", - "version": "1.0.1", + "name": "phpunit/phpunit", + "version": "9.5.4", "source": { "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "c73c6737305e779771147af66c96ca6a7ed8a741" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c73c6737305e779771147af66c96ca6a7ed8a741", + "reference": "c73c6737305e779771147af66c96ca6a7ed8a741", "shasum": "" }, "require": { - "php": ">=5.3.0" - }, + "doctrine/instantiator": "^1.3.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.3", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3", + "sebastian/version": "^3.0.2" + }, + "require-dev": { + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*" + }, + "bin": [ + "phpunit" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "9.5-dev" } }, "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } + "classmap": [ + "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Common interfaces for simple caching", + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" + "phpunit", + "testing", + "xunit" ], - "time": "2017-10-23T01:57:42+00:00" + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.4" + }, + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-03-23T07:16:29+00:00" }, { - "name": "psy/psysh", - "version": "v0.10.8", + "name": "psr/container", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3" + "url": "https://github.com/php-fig/container.git", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e4573f47750dd6c92dca5aee543fa77513cbd8d3", - "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", "shasum": "" }, "require": { - "ext-json": "*", - "ext-tokenizer": "*", - "nikic/php-parser": "~4.0|~3.0|~2.0|~1.3", - "php": "^8.0 || ^7.0 || ^5.5.9", - "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10", - "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "3.17.*" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + "php": ">=7.2.0" }, - "bin": [ - "bin/psysh" - ], "type": "library", - "extra": { - "branch-alias": { - "dev-main": "0.10.x-dev" - } - }, "autoload": { - "files": [ - "src/functions.php" - ], "psr-4": { - "Psy\\": "src/" + "Psr\\Container\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2986,101 +3922,103 @@ ], "authors": [ { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", "keywords": [ - "REPL", - "console", - "interactive", - "shell" + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" ], - "time": "2021-04-10T16:23:39+00:00" + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.1" + }, + "time": "2021-03-05T17:36:06+00:00" }, { - "name": "pusher/pusher-php-server", - "version": "v4.1.5", + "name": "psr/event-dispatcher", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/pusher/pusher-http-php.git", - "reference": "251f22602320c1b1aff84798fe74f3f7ee0504a9" + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pusher/pusher-http-php/zipball/251f22602320c1b1aff84798fe74f3f7ee0504a9", - "reference": "251f22602320c1b1aff84798fe74f3f7ee0504a9", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", "shasum": "" }, "require": { - "ext-curl": "*", - "paragonie/sodium_compat": "^1.6", - "php": "^7.1|^8.0", - "psr/log": "^1.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.2|^8.5|^9.3" + "php": ">=7.2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Pusher\\": "src/" + "Psr\\EventDispatcher\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Library for interacting with the Pusher REST API", + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", "keywords": [ "events", - "messaging", - "php-pusher-server", - "publish", - "push", - "pusher", - "real time", - "real-time", - "realtime", - "rest", - "trigger" + "psr", + "psr-14" ], - "time": "2020-12-09T09:38:19+00:00" + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" }, { - "name": "ralouphie/getallheaders", - "version": "3.0.3", + "name": "psr/http-client", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", "shasum": "" }, "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { - "files": [ - "src/getallheaders.php" - ] + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3088,52 +4026,50 @@ ], "authors": [ { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "A polyfill for getallheaders.", - "time": "2019-03-08T08:55:37+00:00" + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, + "time": "2020-06-29T06:28:15+00:00" }, { - "name": "ramsey/collection", - "version": "1.1.3", + "name": "psr/http-factory", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", "shasum": "" }, "require": { - "php": "^7.2 || ^8" - }, - "require-dev": { - "captainhook/captainhook": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "ergebnis/composer-normalize": "^2.6", - "fakerphp/faker": "^1.5", - "hamcrest/hamcrest-php": "^2", - "jangregor/phpstan-prophecy": "^0.8", - "mockery/mockery": "^1.3", - "phpstan/extension-installer": "^1", - "phpstan/phpstan": "^0.12.32", - "phpstan/phpstan-mockery": "^0.12.5", - "phpstan/phpstan-phpunit": "^0.12.11", - "phpunit/phpunit": "^8.5 || ^9", - "psy/psysh": "^0.10.4", - "slevomat/coding-standard": "^6.3", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.4" + "php": ">=7.0.0", + "psr/http-message": "^1.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-4": { - "Ramsey\\Collection\\": "src/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3142,133 +4078,105 @@ ], "authors": [ { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "A PHP 7.2+ library for representing and manipulating collections.", + "description": "Common interfaces for PSR-7 HTTP message factories", "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" ], "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.1.3" + "source": "https://github.com/php-fig/http-factory/tree/master" }, - "time": "2021-01-21T17:40:04+00:00" + "time": "2019-04-30T12:38:16+00:00" }, { - "name": "ramsey/uuid", - "version": "4.1.1", + "name": "psr/http-message", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "cd4032040a750077205918c86049aa0f43d22947" + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", - "reference": "cd4032040a750077205918c86049aa0f43d22947", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", "shasum": "" }, "require": { - "brick/math": "^0.8 || ^0.9", - "ext-json": "*", - "php": "^7.2 || ^8", - "ramsey/collection": "^1.0", - "symfony/polyfill-ctype": "^1.8" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "codeception/aspect-mock": "^3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", - "doctrine/annotations": "^1.8", - "goaop/framework": "^2", - "mockery/mockery": "^1.3", - "moontoast/math": "^1.1", - "paragonie/random-lib": "^2", - "php-mock/php-mock-mockery": "^1.3", - "php-mock/php-mock-phpunit": "^2.5", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^0.17.1", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-mockery": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^8.5", - "psy/psysh": "^0.10.0", - "slevomat/coding-standard": "^6.0", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "3.9.4" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-ctype": "Enables faster processing of character classification using ctype functions.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + "php": ">=5.3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { "psr-4": { - "Ramsey\\Uuid\\": "src/" - }, - "files": [ - "src/functions.php" - ] + "Psr\\Http\\Message\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "homepage": "https://github.com/ramsey/uuid", + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", "keywords": [ - "guid", - "identifier", - "uuid" + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" ], - "time": "2020-08-18T17:17:46+00:00" + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, + "time": "2016-08-06T14:39:51+00:00" }, { - "name": "ratchet/rfc6455", - "version": "v0.3", + "name": "psr/log", + "version": "1.1.3", "source": { "type": "git", - "url": "https://github.com/ratchetphp/RFC6455.git", - "reference": "c8651c7938651c2d55f5d8c2422ac5e57a183341" + "url": "https://github.com/php-fig/log.git", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ratchetphp/RFC6455/zipball/c8651c7938651c2d55f5d8c2422ac5e57a183341", - "reference": "c8651c7938651c2d55f5d8c2422ac5e57a183341", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", "shasum": "" }, "require": { - "guzzlehttp/psr7": "^1.0", - "php": ">=5.4.2" - }, - "require-dev": { - "phpunit/phpunit": "5.7.*", - "react/socket": "^1.3" + "php": ">=5.3.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, "autoload": { "psr-4": { - "Ratchet\\RFC6455\\": "src" + "Psr\\Log\\": "Psr/Log/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3277,49 +4185,48 @@ ], "authors": [ { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "role": "Developer" - }, - { - "name": "Matt Bonneau", - "role": "Developer" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "RFC6455 WebSocket protocol handler", - "homepage": "http://socketo.me", + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", "keywords": [ - "WebSockets", - "rfc6455", - "websocket" + "log", + "psr", + "psr-3" ], - "time": "2020-05-15T18:31:24+00:00" + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.3" + }, + "time": "2020-03-23T09:12:05+00:00" }, { - "name": "react/cache", - "version": "v1.1.1", + "name": "psr/simple-cache", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/reactphp/cache.git", - "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e" + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/cache/zipball/4bf736a2cccec7298bdf745db77585966fc2ca7e", - "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", "shasum": "" }, "require": { - "php": ">=5.3.0", - "react/promise": "^3.0 || ^2.0 || ^1.1" - }, - "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35" + "php": ">=5.3.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, "autoload": { "psr-4": { - "React\\Cache\\": "src/" + "Psr\\SimpleCache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3328,64 +4235,71 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Async, Promise-based cache interface for ReactPHP", + "description": "Common interfaces for simple caching", "keywords": [ "cache", "caching", - "promise", - "reactphp" + "psr", + "psr-16", + "simple-cache" ], - "time": "2021-02-02T06:47:52+00:00" + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, + "time": "2017-10-23T01:57:42+00:00" }, { - "name": "react/dns", - "version": "v1.5.0", + "name": "psy/psysh", + "version": "v0.10.8", "source": { "type": "git", - "url": "https://github.com/reactphp/dns.git", - "reference": "b22b0b20278e8535e633ab71a52472c5bf620aa1" + "url": "https://github.com/bobthecow/psysh.git", + "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/dns/zipball/b22b0b20278e8535e633ab71a52472c5bf620aa1", - "reference": "b22b0b20278e8535e633ab71a52472c5bf620aa1", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e4573f47750dd6c92dca5aee543fa77513cbd8d3", + "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3", "shasum": "" }, "require": { - "php": ">=5.3.0", - "react/cache": "^1.0 || ^0.6 || ^0.5", - "react/event-loop": "^1.0 || ^0.5", - "react/promise": "^3.0 || ^2.7 || ^1.2.1", - "react/promise-timer": "^1.2" - }, - "require-dev": { - "clue/block-react": "^1.2", - "phpunit/phpunit": "^9.3 || ^4.8.35" + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "~4.0|~3.0|~2.0|~1.3", + "php": "^8.0 || ^7.0 || ^5.5.9", + "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10", + "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2", + "hoa/console": "3.17.*" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", + "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." }, + "bin": [ + "bin/psysh" + ], "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.10.x-dev" + } + }, "autoload": { + "files": [ + "src/functions.php" + ], "psr-4": { - "React\\Dns\\": "src" + "Psy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3394,114 +4308,109 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" } ], - "description": "Async DNS resolver for ReactPHP", + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", "keywords": [ - "async", - "dns", - "dns-resolver", - "reactphp" + "REPL", + "console", + "interactive", + "shell" ], - "time": "2021-03-05T12:16:50+00:00" + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.10.8" + }, + "time": "2021-04-10T16:23:39+00:00" }, { - "name": "react/event-loop", - "version": "v1.1.1", + "name": "pusher/pusher-php-server", + "version": "v4.1.5", "source": { "type": "git", - "url": "https://github.com/reactphp/event-loop.git", - "reference": "6d24de090cd59cfc830263cfba965be77b563c13" + "url": "https://github.com/pusher/pusher-http-php.git", + "reference": "251f22602320c1b1aff84798fe74f3f7ee0504a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/event-loop/zipball/6d24de090cd59cfc830263cfba965be77b563c13", - "reference": "6d24de090cd59cfc830263cfba965be77b563c13", + "url": "https://api.github.com/repos/pusher/pusher-http-php/zipball/251f22602320c1b1aff84798fe74f3f7ee0504a9", + "reference": "251f22602320c1b1aff84798fe74f3f7ee0504a9", "shasum": "" }, "require": { - "php": ">=5.3.0" + "ext-curl": "*", + "paragonie/sodium_compat": "^1.6", + "php": "^7.1|^8.0", + "psr/log": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35" - }, - "suggest": { - "ext-event": "~1.0 for ExtEventLoop", - "ext-pcntl": "For signal handling support when using the StreamSelectLoop", - "ext-uv": "* for ExtUvLoop" + "phpunit/phpunit": "^7.2|^8.5|^9.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.4-dev" + } + }, "autoload": { "psr-4": { - "React\\EventLoop\\": "src" + "Pusher\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", + "description": "Library for interacting with the Pusher REST API", "keywords": [ - "asynchronous", - "event-loop" + "events", + "messaging", + "php-pusher-server", + "publish", + "push", + "pusher", + "real time", + "real-time", + "realtime", + "rest", + "trigger" ], - "time": "2020-01-01T18:39:52+00:00" + "support": { + "issues": "https://github.com/pusher/pusher-http-php/issues", + "source": "https://github.com/pusher/pusher-http-php/tree/v4.1.5" + }, + "time": "2020-12-09T09:38:19+00:00" }, { - "name": "react/http", - "version": "v1.3.0", + "name": "ralouphie/getallheaders", + "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/reactphp/http.git", - "reference": "bc537273d11ee769c723a830e63aa33c0c35a530" + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/http/zipball/bc537273d11ee769c723a830e63aa33c0c35a530", - "reference": "bc537273d11ee769c723a830e63aa33c0c35a530", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", "shasum": "" }, "require": { - "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "php": ">=5.3.0", - "psr/http-message": "^1.0", - "react/event-loop": "^1.0 || ^0.5", - "react/promise": "^2.3 || ^1.2.1", - "react/promise-stream": "^1.1", - "react/socket": "^1.6", - "react/stream": "^1.1", - "ringcentral/psr7": "^1.2" + "php": ">=5.6" }, "require-dev": { - "clue/block-react": "^1.1", - "clue/http-proxy-react": "^1.3", - "clue/reactphp-ssh-proxy": "^1.0", - "clue/socks-react": "^1.0", - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35" + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" }, "type": "library", "autoload": { - "psr-4": { - "React\\Http\\": "src" - } + "files": [ + "src/getallheaders.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3509,70 +4418,57 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" } ], - "description": "Event-driven, streaming HTTP client and server implementation for ReactPHP", - "keywords": [ - "async", - "client", - "event-driven", - "http", - "http client", - "http server", - "https", - "psr-7", - "reactphp", - "server", - "streaming" - ], - "time": "2021-04-11T18:07:28+00:00" + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" }, { - "name": "react/promise", - "version": "v2.8.0", + "name": "ramsey/collection", + "version": "1.1.3", "source": { "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4" + "url": "https://github.com/ramsey/collection.git", + "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4", - "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4", + "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", + "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", "shasum": "" }, "require": { - "php": ">=5.4.0" + "php": "^7.2 || ^8" }, "require-dev": { - "phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36" + "captainhook/captainhook": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "ergebnis/composer-normalize": "^2.6", + "fakerphp/faker": "^1.5", + "hamcrest/hamcrest-php": "^2", + "jangregor/phpstan-prophecy": "^0.8", + "mockery/mockery": "^1.3", + "phpstan/extension-installer": "^1", + "phpstan/phpstan": "^0.12.32", + "phpstan/phpstan-mockery": "^0.12.5", + "phpstan/phpstan-phpunit": "^0.12.11", + "phpunit/phpunit": "^8.5 || ^9", + "psy/psysh": "^0.10.4", + "slevomat/coding-standard": "^6.3", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.4" }, "type": "library", "autoload": { "psr-4": { - "React\\Promise\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "Ramsey\\Collection\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3580,103 +4476,155 @@ ], "authors": [ { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com" + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" } ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "description": "A PHP 7.2+ library for representing and manipulating collections.", "keywords": [ - "promise", - "promises" + "array", + "collection", + "hash", + "map", + "queue", + "set" ], - "time": "2020-05-12T15:16:56+00:00" + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/1.1.3" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2021-01-21T17:40:04+00:00" }, { - "name": "react/promise-stream", - "version": "v1.2.0", + "name": "ramsey/uuid", + "version": "4.1.1", "source": { "type": "git", - "url": "https://github.com/reactphp/promise-stream.git", - "reference": "6384d8b76cf7dcc44b0bf3343fb2b2928412d1fe" + "url": "https://github.com/ramsey/uuid.git", + "reference": "cd4032040a750077205918c86049aa0f43d22947" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise-stream/zipball/6384d8b76cf7dcc44b0bf3343fb2b2928412d1fe", - "reference": "6384d8b76cf7dcc44b0bf3343fb2b2928412d1fe", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", + "reference": "cd4032040a750077205918c86049aa0f43d22947", "shasum": "" }, "require": { - "php": ">=5.3", - "react/promise": "^2.1 || ^1.2", - "react/stream": "^1.0 || ^0.7 || ^0.6 || ^0.5 || ^0.4.6" + "brick/math": "^0.8 || ^0.9", + "ext-json": "*", + "php": "^7.2 || ^8", + "ramsey/collection": "^1.0", + "symfony/polyfill-ctype": "^1.8" + }, + "replace": { + "rhumsaa/uuid": "self.version" }, "require-dev": { - "clue/block-react": "^1.0", - "phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35", - "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3", - "react/promise-timer": "^1.0" + "codeception/aspect-mock": "^3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", + "doctrine/annotations": "^1.8", + "goaop/framework": "^2", + "mockery/mockery": "^1.3", + "moontoast/math": "^1.1", + "paragonie/random-lib": "^2", + "php-mock/php-mock-mockery": "^1.3", + "php-mock/php-mock-phpunit": "^2.5", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^0.17.1", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-mockery": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^8.5", + "psy/psysh": "^0.10.0", + "slevomat/coding-standard": "^6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "3.9.4" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-ctype": "Enables faster processing of character classification using ctype functions.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.x-dev" + } + }, "autoload": { "psr-4": { - "React\\Promise\\Stream\\": "src/" + "Ramsey\\Uuid\\": "src/" }, "files": [ - "src/functions_include.php" + "src/functions.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "homepage": "https://github.com/ramsey/uuid", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "rss": "https://github.com/ramsey/uuid/releases.atom", + "source": "https://github.com/ramsey/uuid" + }, + "funding": [ { - "name": "Christian Lück", - "email": "christian@lueck.tv" + "url": "https://github.com/ramsey", + "type": "github" } ], - "description": "The missing link between Promise-land and Stream-land for ReactPHP", - "homepage": "https://github.com/reactphp/promise-stream", - "keywords": [ - "Buffer", - "async", - "promise", - "reactphp", - "stream", - "unwrap" - ], - "time": "2019-07-03T12:29:10+00:00" + "time": "2020-08-18T17:17:46+00:00" }, { - "name": "react/promise-timer", - "version": "v1.6.0", + "name": "ratchet/rfc6455", + "version": "v0.3", "source": { "type": "git", - "url": "https://github.com/reactphp/promise-timer.git", - "reference": "daee9baf6ef30c43ea4c86399f828bb5f558f6e6" + "url": "https://github.com/ratchetphp/RFC6455.git", + "reference": "c8651c7938651c2d55f5d8c2422ac5e57a183341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise-timer/zipball/daee9baf6ef30c43ea4c86399f828bb5f558f6e6", - "reference": "daee9baf6ef30c43ea4c86399f828bb5f558f6e6", + "url": "https://api.github.com/repos/ratchetphp/RFC6455/zipball/c8651c7938651c2d55f5d8c2422ac5e57a183341", + "reference": "c8651c7938651c2d55f5d8c2422ac5e57a183341", "shasum": "" }, "require": { - "php": ">=5.3", - "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5", - "react/promise": "^3.0 || ^2.7.0 || ^1.2.1" + "guzzlehttp/psr7": "^1.0", + "php": ">=5.4.2" }, "require-dev": { - "phpunit/phpunit": "^9.0 || ^5.7 || ^4.8.35" + "phpunit/phpunit": "5.7.*", + "react/socket": "^1.3" }, "type": "library", "autoload": { "psr-4": { - "React\\Promise\\Timer\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "Ratchet\\RFC6455\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3684,54 +4632,54 @@ ], "authors": [ { - "name": "Christian Lück", - "email": "christian@lueck.tv" + "name": "Chris Boden", + "email": "cboden@gmail.com", + "role": "Developer" + }, + { + "name": "Matt Bonneau", + "role": "Developer" } ], - "description": "A trivial implementation of timeouts for Promises, built on top of ReactPHP.", - "homepage": "https://github.com/reactphp/promise-timer", + "description": "RFC6455 WebSocket protocol handler", + "homepage": "http://socketo.me", "keywords": [ - "async", - "event-loop", - "promise", - "reactphp", - "timeout", - "timer" + "WebSockets", + "rfc6455", + "websocket" ], - "time": "2020-07-10T12:18:06+00:00" + "support": { + "chat": "https://gitter.im/reactphp/reactphp", + "issues": "https://github.com/ratchetphp/RFC6455/issues", + "source": "https://github.com/ratchetphp/RFC6455/tree/v0.3" + }, + "time": "2020-05-15T18:31:24+00:00" }, { - "name": "react/socket", - "version": "v1.6.0", + "name": "react/cache", + "version": "v1.1.1", "source": { "type": "git", - "url": "https://github.com/reactphp/socket.git", - "reference": "e2b96b23a13ca9b41ab343268dbce3f8ef4d524a" + "url": "https://github.com/reactphp/cache.git", + "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/e2b96b23a13ca9b41ab343268dbce3f8ef4d524a", - "reference": "e2b96b23a13ca9b41ab343268dbce3f8ef4d524a", + "url": "https://api.github.com/repos/reactphp/cache/zipball/4bf736a2cccec7298bdf745db77585966fc2ca7e", + "reference": "4bf736a2cccec7298bdf745db77585966fc2ca7e", "shasum": "" }, "require": { - "evenement/evenement": "^3.0 || ^2.0 || ^1.0", "php": ">=5.3.0", - "react/dns": "^1.1", - "react/event-loop": "^1.0 || ^0.5", - "react/promise": "^2.6.0 || ^1.2.1", - "react/promise-timer": "^1.4.0", - "react/stream": "^1.1" + "react/promise": "^3.0 || ^2.0 || ^1.1" }, "require-dev": { - "clue/block-react": "^1.2", - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35", - "react/promise-stream": "^1.2" + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35" }, "type": "library", "autoload": { "psr-4": { - "React\\Socket\\": "src" + "React\\Cache\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3760,158 +4708,192 @@ "homepage": "https://cboden.dev/" } ], - "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", + "description": "Async, Promise-based cache interface for ReactPHP", "keywords": [ - "Connection", - "Socket", - "async", - "reactphp", - "stream" + "cache", + "caching", + "promise", + "reactphp" ], - "time": "2020-08-28T12:49:05+00:00" + "support": { + "issues": "https://github.com/reactphp/cache/issues", + "source": "https://github.com/reactphp/cache/tree/v1.1.1" + }, + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2021-02-02T06:47:52+00:00" }, { - "name": "react/stream", - "version": "v1.1.1", + "name": "react/dns", + "version": "v1.5.0", "source": { "type": "git", - "url": "https://github.com/reactphp/stream.git", - "reference": "7c02b510ee3f582c810aeccd3a197b9c2f52ff1a" + "url": "https://github.com/reactphp/dns.git", + "reference": "b22b0b20278e8535e633ab71a52472c5bf620aa1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/stream/zipball/7c02b510ee3f582c810aeccd3a197b9c2f52ff1a", - "reference": "7c02b510ee3f582c810aeccd3a197b9c2f52ff1a", + "url": "https://api.github.com/repos/reactphp/dns/zipball/b22b0b20278e8535e633ab71a52472c5bf620aa1", + "reference": "b22b0b20278e8535e633ab71a52472c5bf620aa1", "shasum": "" }, "require": { - "evenement/evenement": "^3.0 || ^2.0 || ^1.0", - "php": ">=5.3.8", - "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5" + "php": ">=5.3.0", + "react/cache": "^1.0 || ^0.6 || ^0.5", + "react/event-loop": "^1.0 || ^0.5", + "react/promise": "^3.0 || ^2.7 || ^1.2.1", + "react/promise-timer": "^1.2" }, "require-dev": { - "clue/stream-filter": "~1.2", - "phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35" + "clue/block-react": "^1.2", + "phpunit/phpunit": "^9.3 || ^4.8.35" }, "type": "library", "autoload": { "psr-4": { - "React\\Stream\\": "src" + "React\\Dns\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP", + "authors": [ + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "Async DNS resolver for ReactPHP", "keywords": [ - "event-driven", - "io", - "non-blocking", - "pipe", - "reactphp", - "readable", - "stream", - "writable" + "async", + "dns", + "dns-resolver", + "reactphp" ], - "time": "2020-05-04T10:17:57+00:00" - }, - { - "name": "ringcentral/psr7", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/ringcentral/psr7.git", - "reference": "360faaec4b563958b673fb52bbe94e37f14bc686" + "support": { + "issues": "https://github.com/reactphp/dns/issues", + "source": "https://github.com/reactphp/dns/tree/v1.5.0" + }, + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2021-03-05T12:16:50+00:00" + }, + { + "name": "react/event-loop", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/reactphp/event-loop.git", + "reference": "6d24de090cd59cfc830263cfba965be77b563c13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ringcentral/psr7/zipball/360faaec4b563958b673fb52bbe94e37f14bc686", - "reference": "360faaec4b563958b673fb52bbe94e37f14bc686", + "url": "https://api.github.com/repos/reactphp/event-loop/zipball/6d24de090cd59cfc830263cfba965be77b563c13", + "reference": "6d24de090cd59cfc830263cfba965be77b563c13", "shasum": "" }, "require": { - "php": ">=5.3", - "psr/http-message": "~1.0" - }, - "provide": { - "psr/http-message-implementation": "1.0" + "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } + "suggest": { + "ext-event": "~1.0 for ExtEventLoop", + "ext-pcntl": "For signal handling support when using the StreamSelectLoop", + "ext-uv": "* for ExtUvLoop" }, + "type": "library", "autoload": { "psr-4": { - "RingCentral\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + "React\\EventLoop\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - } - ], - "description": "PSR-7 message implementation", + "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.", "keywords": [ - "http", - "message", - "stream", - "uri" + "asynchronous", + "event-loop" ], - "time": "2018-05-29T20:21:04+00:00" + "support": { + "issues": "https://github.com/reactphp/event-loop/issues", + "source": "https://github.com/reactphp/event-loop/tree/v1.1.1" + }, + "time": "2020-01-01T18:39:52+00:00" }, { - "name": "swiftmailer/swiftmailer", - "version": "v6.2.7", + "name": "react/http", + "version": "v1.3.0", "source": { "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933" + "url": "https://github.com/reactphp/http.git", + "reference": "bc537273d11ee769c723a830e63aa33c0c35a530" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933", + "url": "https://api.github.com/repos/reactphp/http/zipball/bc537273d11ee769c723a830e63aa33c0c35a530", + "reference": "bc537273d11ee769c723a830e63aa33c0c35a530", "shasum": "" }, "require": { - "egulias/email-validator": "^2.0|^3.1", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "psr/http-message": "^1.0", + "react/event-loop": "^1.0 || ^0.5", + "react/promise": "^2.3 || ^1.2.1", + "react/promise-stream": "^1.1", + "react/socket": "^1.6", + "react/stream": "^1.1", + "ringcentral/psr7": "^1.2" }, "require-dev": { - "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.0" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses" + "clue/block-react": "^1.1", + "clue/http-proxy-react": "^1.3", + "clue/reactphp-ssh-proxy": "^1.0", + "clue/socks-react": "^1.0", + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, "autoload": { - "files": [ - "lib/swift_required.php" - ] + "psr-4": { + "React\\Http\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3919,80 +4901,83 @@ ], "authors": [ { - "name": "Chris Corbyn" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" }, { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", + "description": "Event-driven, streaming HTTP client and server implementation for ReactPHP", "keywords": [ - "email", - "mail", - "mailer" + "async", + "client", + "event-driven", + "http", + "http client", + "http server", + "https", + "psr-7", + "reactphp", + "server", + "streaming" ], "support": { - "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" + "issues": "https://github.com/reactphp/http/issues", + "source": "https://github.com/reactphp/http/tree/v1.3.0" }, - "time": "2021-03-09T12:30:35+00:00" + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2021-04-11T18:07:28+00:00" }, { - "name": "symfony/console", - "version": "v5.2.6", + "name": "react/promise", + "version": "v2.8.0", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d" + "url": "https://github.com/reactphp/promise.git", + "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/35f039df40a3b335ebf310f244cb242b3a83ac8d", - "reference": "35f039df40a3b335ebf310f244cb242b3a83ac8d", + "url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4", + "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2", - "symfony/string": "^5.1" - }, - "conflict": { - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" - }, - "provide": { - "psr/log-implementation": "1.0" + "php": ">=5.4.0" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Console\\": "" + "React\\Promise\\": "src/" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -4001,48 +4986,53 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com" } ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", + "description": "A lightweight implementation of CommonJS Promises/A for PHP", "keywords": [ - "cli", - "command line", - "console", - "terminal" + "promise", + "promises" ], - "time": "2021-03-28T09:42:18+00:00" + "support": { + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v2.8.0" + }, + "time": "2020-05-12T15:16:56+00:00" }, { - "name": "symfony/css-selector", - "version": "v5.2.4", + "name": "react/promise-stream", + "version": "v1.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f" + "url": "https://github.com/reactphp/promise-stream.git", + "reference": "6384d8b76cf7dcc44b0bf3343fb2b2928412d1fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/f65f217b3314504a1ec99c2d6ef69016bb13490f", - "reference": "f65f217b3314504a1ec99c2d6ef69016bb13490f", + "url": "https://api.github.com/repos/reactphp/promise-stream/zipball/6384d8b76cf7dcc44b0bf3343fb2b2928412d1fe", + "reference": "6384d8b76cf7dcc44b0bf3343fb2b2928412d1fe", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=5.3", + "react/promise": "^2.1 || ^1.2", + "react/stream": "^1.0 || ^0.7 || ^0.6 || ^0.5 || ^0.4.6" + }, + "require-dev": { + "clue/block-react": "^1.0", + "phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35", + "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3", + "react/promise-timer": "^1.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\CssSelector\\": "" + "React\\Promise\\Stream\\": "src/" }, - "exclude-from-classmap": [ - "/Tests/" + "files": [ + "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -4051,55 +5041,55 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Christian Lück", + "email": "christian@lueck.tv" } ], - "description": "Converts CSS selectors to XPath expressions", - "homepage": "https://symfony.com", + "description": "The missing link between Promise-land and Stream-land for ReactPHP", + "homepage": "https://github.com/reactphp/promise-stream", + "keywords": [ + "Buffer", + "async", + "promise", + "reactphp", + "stream", + "unwrap" + ], "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.2.4" + "issues": "https://github.com/reactphp/promise-stream/issues", + "source": "https://github.com/reactphp/promise-stream/tree/v1.2.0" }, - "time": "2021-01-27T10:01:46+00:00" + "time": "2019-07-03T12:29:10+00:00" }, { - "name": "symfony/deprecation-contracts", - "version": "v2.4.0", + "name": "react/promise-timer", + "version": "v1.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" + "url": "https://github.com/reactphp/promise-timer.git", + "reference": "daee9baf6ef30c43ea4c86399f828bb5f558f6e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", - "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "url": "https://api.github.com/repos/reactphp/promise-timer/zipball/daee9baf6ef30c43ea4c86399f828bb5f558f6e6", + "reference": "daee9baf6ef30c43ea4c86399f828bb5f558f6e6", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=5.3", + "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5", + "react/promise": "^3.0 || ^2.7.0 || ^1.2.1" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } + "require-dev": { + "phpunit/phpunit": "^9.0 || ^5.7 || ^4.8.35" }, + "type": "library", "autoload": { + "psr-4": { + "React\\Promise\\Timer\\": "src/" + }, "files": [ - "function.php" + "src/functions_include.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -4108,51 +5098,59 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Christian Lück", + "email": "christian@lueck.tv" } ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "time": "2021-03-23T23:28:01+00:00" + "description": "A trivial implementation of timeouts for Promises, built on top of ReactPHP.", + "homepage": "https://github.com/reactphp/promise-timer", + "keywords": [ + "async", + "event-loop", + "promise", + "reactphp", + "timeout", + "timer" + ], + "support": { + "issues": "https://github.com/reactphp/promise-timer/issues", + "source": "https://github.com/reactphp/promise-timer/tree/v1.6.0" + }, + "time": "2020-07-10T12:18:06+00:00" }, { - "name": "symfony/error-handler", - "version": "v5.2.6", + "name": "react/socket", + "version": "v1.6.0", "source": { "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "bdb7fb4188da7f4211e4b88350ba0dfdad002b03" + "url": "https://github.com/reactphp/socket.git", + "reference": "e2b96b23a13ca9b41ab343268dbce3f8ef4d524a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/bdb7fb4188da7f4211e4b88350ba0dfdad002b03", - "reference": "bdb7fb4188da7f4211e4b88350ba0dfdad002b03", + "url": "https://api.github.com/repos/reactphp/socket/zipball/e2b96b23a13ca9b41ab343268dbce3f8ef4d524a", + "reference": "e2b96b23a13ca9b41ab343268dbce3f8ef4d524a", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/log": "^1.0", - "symfony/polyfill-php80": "^1.15", - "symfony/var-dumper": "^4.4|^5.0" + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.0", + "react/dns": "^1.1", + "react/event-loop": "^1.0 || ^0.5", + "react/promise": "^2.6.0 || ^1.2.1", + "react/promise-timer": "^1.4.0", + "react/stream": "^1.1" }, "require-dev": { - "symfony/deprecation-contracts": "^2.1", - "symfony/http-kernel": "^4.4|^5.0", - "symfony/serializer": "^4.4|^5.0" + "clue/block-react": "^1.2", + "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35", + "react/promise-stream": "^1.2" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "React\\Socket\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4160,124 +5158,137 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" } ], - "description": "Provides tools to manage errors and ease debugging PHP code", - "homepage": "https://symfony.com", - "time": "2021-03-16T09:07:47+00:00" + "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", + "keywords": [ + "Connection", + "Socket", + "async", + "reactphp", + "stream" + ], + "support": { + "issues": "https://github.com/reactphp/socket/issues", + "source": "https://github.com/reactphp/socket/tree/v1.6.0" + }, + "funding": [ + { + "url": "https://github.com/WyriHaximus", + "type": "github" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2020-08-28T12:49:05+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v5.2.4", + "name": "react/stream", + "version": "v1.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "d08d6ec121a425897951900ab692b612a61d6240" + "url": "https://github.com/reactphp/stream.git", + "reference": "7c02b510ee3f582c810aeccd3a197b9c2f52ff1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d08d6ec121a425897951900ab692b612a61d6240", - "reference": "d08d6ec121a425897951900ab692b612a61d6240", + "url": "https://api.github.com/repos/reactphp/stream/zipball/7c02b510ee3f582c810aeccd3a197b9c2f52ff1a", + "reference": "7c02b510ee3f582c810aeccd3a197b9c2f52ff1a", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/event-dispatcher-contracts": "^2", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/dependency-injection": "<4.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "php": ">=5.3.8", + "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5" }, "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/error-handler": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^4.4|^5.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "clue/stream-filter": "~1.2", + "phpunit/phpunit": "^7.0 || ^6.4 || ^5.7 || ^4.8.35" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "React\\Stream\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } + "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP", + "keywords": [ + "event-driven", + "io", + "non-blocking", + "pipe", + "reactphp", + "readable", + "stream", + "writable" ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.4" + "issues": "https://github.com/reactphp/stream/issues", + "source": "https://github.com/reactphp/stream/tree/v1.1.1" }, - "time": "2021-02-18T17:12:37+00:00" + "time": "2020-05-04T10:17:57+00:00" }, { - "name": "symfony/event-dispatcher-contracts", - "version": "v2.4.0", + "name": "ringcentral/psr7", + "version": "1.3.0", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" + "url": "https://github.com/ringcentral/psr7.git", + "reference": "360faaec4b563958b673fb52bbe94e37f14bc686" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", - "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "url": "https://api.github.com/repos/ringcentral/psr7/zipball/360faaec4b563958b673fb52bbe94e37f14bc686", + "reference": "360faaec4b563958b673fb52bbe94e37f14bc686", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/event-dispatcher": "^1" + "php": ">=5.3", + "psr/http-message": "~1.0" }, - "suggest": { - "symfony/event-dispatcher-implementation": "" + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "dev-master": "1.0-dev" } }, "autoload": { "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } + "RingCentral\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4285,1119 +5296,1113 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" } ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", + "description": "PSR-7 message implementation", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "http", + "message", + "stream", + "uri" ], - "time": "2021-03-23T23:28:01+00:00" + "support": { + "source": "https://github.com/ringcentral/psr7/tree/master" + }, + "time": "2018-05-29T20:21:04+00:00" }, { - "name": "symfony/finder", - "version": "v5.2.4", + "name": "sebastian/cli-parser", + "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "0d639a0943822626290d169965804f79400e6a04" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04", - "reference": "0d639a0943822626290d169965804f79400e6a04", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { - "source": "https://github.com/symfony/finder/tree/v5.2.4" + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" }, - "time": "2021-02-15T18:55:04+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" }, { - "name": "symfony/http-client-contracts", - "version": "v2.4.0", + "name": "sebastian/code-unit", + "version": "1.0.8", "source": { "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", - "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=7.3" }, - "suggest": { - "symfony/http-client-implementation": "" + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "dev-master": "1.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2021-04-11T23:07:08+00:00" + "time": "2020-10-26T13:08:54+00:00" }, { - "name": "symfony/http-foundation", - "version": "v5.2.4", + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", "source": { "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf" + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/54499baea7f7418bce7b5ec92770fd0799e8e9bf", - "reference": "54499baea7f7418bce7b5ec92770fd0799e8e9bf", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.15" + "php": ">=7.3" }, "require-dev": { - "predis/predis": "~1.0", - "symfony/cache": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/mime": "^4.4|^5.0" - }, - "suggest": { - "symfony/mime": "To use the file extension guesser" + "phpunit/phpunit": "^9.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Defines an object-oriented layer for the HTTP specification", - "homepage": "https://symfony.com", + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.2.4" + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" }, - "time": "2021-02-25T17:16:57+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" }, { - "name": "symfony/http-kernel", - "version": "v5.2.6", + "name": "sebastian/comparator", + "version": "4.0.6", "source": { "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "f34de4c61ca46df73857f7f36b9a3805bdd7e3b2" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/f34de4c61ca46df73857f7f36b9a3805bdd7e3b2", - "reference": "f34de4c61ca46df73857f7f36b9a3805bdd7e3b2", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/log": "~1.0", - "symfony/deprecation-contracts": "^2.1", - "symfony/error-handler": "^4.4|^5.0", - "symfony/event-dispatcher": "^5.0", - "symfony/http-client-contracts": "^1.1|^2", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/browser-kit": "<4.4", - "symfony/cache": "<5.0", - "symfony/config": "<5.0", - "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.1.8", - "symfony/doctrine-bridge": "<5.0", - "symfony/form": "<5.0", - "symfony/http-client": "<5.0", - "symfony/mailer": "<5.0", - "symfony/messenger": "<5.0", - "symfony/translation": "<5.0", - "symfony/twig-bridge": "<5.0", - "symfony/validator": "<5.0", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^4.4|^5.0", - "symfony/config": "^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/css-selector": "^4.4|^5.0", - "symfony/dependency-injection": "^5.1.8", - "symfony/dom-crawler": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/routing": "^4.4|^5.0", - "symfony/stopwatch": "^4.4|^5.0", - "symfony/translation": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" + "phpunit/phpunit": "^9.3" }, "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" } ], - "description": "Provides a structured process for converting a Request into a Response", - "homepage": "https://symfony.com", - "time": "2021-03-29T05:16:58+00:00" + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:49:45+00:00" }, { - "name": "symfony/mime", - "version": "v5.2.6", + "name": "sebastian/complexity", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "1b2092244374cbe48ae733673f2ca0818b37197b" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/1b2092244374cbe48ae733673f2ca0818b37197b", - "reference": "1b2092244374cbe48ae733673f2ca0818b37197b", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<4.4" + "nikic/php-parser": "^4.7", + "php": ">=7.3" }, "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/property-access": "^4.4|^5.1", - "symfony/property-info": "^4.4|^5.1", - "symfony/serializer": "^5.2" + "phpunit/phpunit": "^9.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, "autoload": { - "psr-4": { - "Symfony\\Component\\Mime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Allows manipulating MIME messages", - "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } ], - "time": "2021-03-12T13:18:39+00:00" + "time": "2020-10-26T15:52:27+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.22.1", + "name": "sebastian/diff", + "version": "4.0.4", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", - "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" }, - "suggest": { - "ext-ctype": "For best performance" + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "dev-master": "4.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" + "diff", + "udiff", + "unidiff", + "unified diff" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" }, - "time": "2021-01-07T16:49:33+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" }, { - "name": "symfony/polyfill-iconv", - "version": "v1.22.1", + "name": "sebastian/environment", + "version": "5.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "06fb361659649bcfd6a208a0f1fcaf4e827ad342" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/06fb361659649bcfd6a208a0f1fcaf4e827ad342", - "reference": "06fb361659649bcfd6a208a0f1fcaf4e827ad342", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-iconv": "For best performance" + "ext-posix": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "dev-master": "5.1-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, - "files": [ - "bootstrap.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" + "Xdebug", + "environment", + "hhvm" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.22.1" + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3" }, - "time": "2021-01-22T09:19:47+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:52:38+00:00" }, { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.22.1", + "name": "sebastian/exporter", + "version": "4.0.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170", - "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, - "suggest": { - "ext-intl": "For best performance" + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "dev-master": "4.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, - "files": [ - "bootstrap.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" } ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" + "export", + "exporter" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1" + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" }, - "time": "2021-01-22T09:19:47+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:24:23+00:00" }, { - "name": "symfony/polyfill-intl-idn", - "version": "v1.22.1", + "name": "sebastian/global-state", + "version": "5.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "2d63434d922daf7da8dd863e7907e67ee3031483" + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483", - "reference": "2d63434d922daf7da8dd863e7907e67ee3031483", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455", + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-intl": "For best performance" + "ext-uopz": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "dev-master": "5.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, - "files": [ - "bootstrap.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" + "global state" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.1" + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2" }, - "time": "2021-01-22T09:19:47+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:55:19+00:00" }, { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.22.1", + "name": "sebastian/lines-of-code", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248", - "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", "shasum": "" }, "require": { - "php": ">=7.1" + "nikic/php-parser": "^4.6", + "php": ">=7.3" }, - "suggest": { - "ext-intl": "For best performance" + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "dev-master": "1.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "files": [ - "bootstrap.php" - ], "classmap": [ - "Resources/stubs" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1" + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" }, - "time": "2021-01-22T09:19:47+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.22.1", + "name": "sebastian/object-enumerator", + "version": "4.0.4", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", - "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, - "suggest": { - "ext-mbstring": "For best performance" + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "dev-master": "4.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" }, - "time": "2021-01-22T09:19:47+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" }, { - "name": "symfony/polyfill-php72", - "version": "v1.22.1", + "name": "sebastian/object-reflector", + "version": "2.0.4", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", - "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "dev-master": "2.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.1" + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" }, - "time": "2021-01-07T16:49:33+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" }, { - "name": "symfony/polyfill-php73", - "version": "v1.22.1", + "name": "sebastian/recursion-context", + "version": "4.0.4", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", - "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "dev-master": "4.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], "classmap": [ - "Resources/stubs" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" } ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1" + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" }, - "time": "2021-01-07T16:49:33+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:17:30+00:00" }, { - "name": "symfony/polyfill-php80", - "version": "v1.22.1", + "name": "sebastian/resource-operations", + "version": "3.0.3", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", - "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.22-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "dev-master": "3.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "files": [ - "bootstrap.php" - ], "classmap": [ - "Resources/stubs" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" } ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" }, - "time": "2021-01-07T16:49:33+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" }, { - "name": "symfony/process", - "version": "v5.2.4", + "name": "sebastian/type", + "version": "2.3.1", "source": { "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f" + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/313a38f09c77fbcdc1d223e57d368cea76a2fd2f", - "reference": "313a38f09c77fbcdc1d223e57d368cea76a2fd2f", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" + } + }, "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", "support": { - "source": "https://github.com/symfony/process/tree/v5.2.4" + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/2.3.1" }, - "time": "2021-01-27T10:15:41+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:18:59+00:00" }, { - "name": "symfony/psr-http-message-bridge", - "version": "v2.1.0", + "name": "sebastian/version", + "version": "3.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "81db2d4ae86e9f0049828d9343a72b9523884e5d" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/81db2d4ae86e9f0049828d9343a72b9523884e5d", - "reference": "81db2d4ae86e9f0049828d9343a72b9523884e5d", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", "shasum": "" }, "require": { - "php": ">=7.1", - "psr/http-message": "^1.0", - "symfony/http-foundation": "^4.4 || ^5.0" - }, - "require-dev": { - "nyholm/psr7": "^1.1", - "psr/log": "^1.1", - "symfony/browser-kit": "^4.4 || ^5.0", - "symfony/config": "^4.4 || ^5.0", - "symfony/event-dispatcher": "^4.4 || ^5.0", - "symfony/framework-bundle": "^4.4 || ^5.0", - "symfony/http-kernel": "^4.4 || ^5.0", - "symfony/phpunit-bridge": "^4.4.19 || ^5.2" - }, - "suggest": { - "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" + "php": ">=7.3" }, - "type": "symfony-bridge", + "type": "library", "extra": { "branch-alias": { - "dev-main": "2.1-dev" + "dev-master": "3.0-dev" } }, "autoload": { - "psr-4": { - "Symfony\\Bridge\\PsrHttpMessage\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" + "url": "https://github.com/sebastianbergmann", + "type": "github" } ], - "description": "PSR HTTP message bridge", - "homepage": "http://symfony.com", - "keywords": [ - "http", - "http-message", - "psr-17", - "psr-7" + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v6.2.7", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "15f7faf8508e04471f666633addacf54c0ab5933" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", + "reference": "15f7faf8508e04471f666633addacf54c0ab5933", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.0|^3.1", + "php": ">=7.0.0", + "symfony/polyfill-iconv": "^1.0", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "symfony/phpunit-bridge": "^4.4|^5.0" + }, + "suggest": { + "ext-intl": "Needed to support internationalized email addresses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" ], - "time": "2021-02-17T10:35:25+00:00" + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "support": { + "issues": "https://github.com/swiftmailer/swiftmailer/issues", + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", + "type": "tidelift" + } + ], + "time": "2021-03-09T12:30:35+00:00" }, { - "name": "symfony/routing", - "version": "v5.2.6", + "name": "symfony/console", + "version": "v5.2.7", "source": { "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "31fba555f178afd04d54fd26953501b2c3f0c6e6" + "url": "https://github.com/symfony/console.git", + "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/31fba555f178afd04d54fd26953501b2c3f0c6e6", - "reference": "31fba555f178afd04d54fd26953501b2c3f0c6e6", + "url": "https://api.github.com/repos/symfony/console/zipball/90374b8ed059325b49a29b55b3f8bb4062c87629", + "reference": "90374b8ed059325b49a29b55b3f8bb4062c87629", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" }, "conflict": { - "symfony/config": "<5.0", "symfony/dependency-injection": "<4.4", - "symfony/yaml": "<4.4" + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0" }, "require-dev": { - "doctrine/annotations": "^1.10.4", "psr/log": "~1.0", - "symfony/config": "^5.0", + "symfony/config": "^4.4|^5.0", "symfony/dependency-injection": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/yaml": "^4.4|^5.0" + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" }, "suggest": { - "doctrine/annotations": "For using the annotation loader", - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Routing\\": "" + "Symfony\\Component\\Console\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -5417,36 +6422,114 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Maps an HTTP request to a set of configuration variables", + "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", "keywords": [ - "router", - "routing", - "uri", - "url" + "cli", + "command line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2021-03-14T13:53:33+00:00" + "time": "2021-04-19T14:07:32+00:00" }, { - "name": "symfony/service-contracts", - "version": "v2.4.0", + "name": "symfony/css-selector", + "version": "v5.2.7", "source": { "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" + "url": "https://github.com/symfony/css-selector.git", + "reference": "59a684f5ac454f066ecbe6daecce6719aed283fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", - "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/59a684f5ac454f066ecbe6daecce6719aed283fb", + "reference": "59a684f5ac454f066ecbe6daecce6719aed283fb", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1" + "php": ">=7.2.5" }, - "suggest": { - "symfony/service-implementation": "" + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v5.3.0-BETA1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-07T16:07:52+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "shasum": "" + }, + "require": { + "php": ">=7.1" }, "type": "library", "extra": { @@ -5459,9 +6542,9 @@ } }, "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } + "files": [ + "function.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5477,54 +6560,57 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to writing services", + "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2021-04-01T10:43:52+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { - "name": "symfony/string", - "version": "v5.2.6", + "name": "symfony/error-handler", + "version": "v5.2.7", "source": { "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572" + "url": "https://github.com/symfony/error-handler.git", + "reference": "ea3ddbf67615e883ca7c33a4de61213789846782" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", - "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/ea3ddbf67615e883ca7c33a4de61213789846782", + "reference": "ea3ddbf67615e883ca7c33a4de61213789846782", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" + "psr/log": "^1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/var-dumper": "^4.4|^5.0" }, "require-dev": { - "symfony/error-handler": "^4.4|^5.0", - "symfony/http-client": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0" + "symfony/deprecation-contracts": "^2.1", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\String\\": "" + "Symfony\\Component\\ErrorHandler\\": "" }, - "files": [ - "Resources/functions.php" - ], "exclude-from-classmap": [ "/Tests/" ] @@ -5535,79 +6621,80 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" + "support": { + "source": "https://github.com/symfony/error-handler/tree/v5.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2021-03-17T17:12:15+00:00" + "time": "2021-04-07T15:57:33+00:00" }, { - "name": "symfony/translation", - "version": "v5.2.6", + "name": "symfony/event-dispatcher", + "version": "v5.2.4", "source": { "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "2cc7f45d96db9adfcf89adf4401d9dfed509f4e1" + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "d08d6ec121a425897951900ab692b612a61d6240" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/2cc7f45d96db9adfcf89adf4401d9dfed509f4e1", - "reference": "2cc7f45d96db9adfcf89adf4401d9dfed509f4e1", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d08d6ec121a425897951900ab692b612a61d6240", + "reference": "d08d6ec121a425897951900ab692b612a61d6240", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15", - "symfony/translation-contracts": "^2.3" + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^2", + "symfony/polyfill-php80": "^1.15" }, "conflict": { - "symfony/config": "<4.4", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" + "symfony/dependency-injection": "<4.4" }, "provide": { - "symfony/translation-implementation": "2.3" + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" }, "require-dev": { "psr/log": "~1.0", "symfony/config": "^4.4|^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/dependency-injection": "^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/http-kernel": "^5.0", - "symfony/intl": "^4.4|^5.0", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^4.4|^5.0" + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/stopwatch": "^4.4|^5.0" }, "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "symfony/dependency-injection": "", + "symfony/http-kernel": "" }, "type": "library", "autoload": { - "files": [ - "Resources/functions.php" - ], "psr-4": { - "Symfony\\Component\\Translation\\": "" + "Symfony\\Component\\EventDispatcher\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -5627,29 +6714,47 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides tools to internationalize your application", + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", - "time": "2021-03-23T19:33:48+00:00" + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v5.2.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-18T17:12:37+00:00" }, { - "name": "symfony/translation-contracts", + "name": "symfony/event-dispatcher-contracts", "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "95c812666f3e91db75385749fe219c5e494c7f95" + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95", - "reference": "95c812666f3e91db75385749fe219c5e494c7f95", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" }, "suggest": { - "symfony/translation-implementation": "" + "symfony/event-dispatcher-implementation": "" }, "type": "library", "extra": { @@ -5663,7 +6768,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Contracts\\Translation\\": "" + "Symfony\\Contracts\\EventDispatcher\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -5680,7 +6785,7 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to translation", + "description": "Generic abstractions related to dispatching event", "homepage": "https://symfony.com", "keywords": [ "abstractions", @@ -5690,52 +6795,46 @@ "interoperability", "standards" ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], "time": "2021-03-23T23:28:01+00:00" }, { - "name": "symfony/var-dumper", - "version": "v5.2.6", + "name": "symfony/finder", + "version": "v5.2.4", "source": { "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "89412a68ea2e675b4e44f260a5666729f77f668e" + "url": "https://github.com/symfony/finder.git", + "reference": "0d639a0943822626290d169965804f79400e6a04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/89412a68ea2e675b4e44f260a5666729f77f668e", - "reference": "89412a68ea2e675b4e44f260a5666729f77f668e", + "url": "https://api.github.com/repos/symfony/finder/zipball/0d639a0943822626290d169965804f79400e6a04", + "reference": "0d639a0943822626290d169965804f79400e6a04", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "phpunit/phpunit": "<5.4.3", - "symfony/console": "<4.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + "php": ">=7.2.5" }, - "bin": [ - "Resources/bin/var-dump-server" - ], "type": "library", "autoload": { - "files": [ - "Resources/functions/dump.php" - ], "psr-4": { - "Symfony\\Component\\VarDumper\\": "" + "Symfony\\Component\\Finder\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -5747,218 +6846,341 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" + "support": { + "source": "https://github.com/symfony/finder/tree/v5.2.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2021-03-28T09:42:18+00:00" + "time": "2021-02-15T18:55:04+00:00" }, { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.3", + "name": "symfony/http-client-contracts", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" + "php": ">=7.2.5" }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" + "suggest": { + "symfony/http-client-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.2.x-dev" + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" + "Symfony\\Contracts\\HttpClient\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "time": "2020-07-13T06:12:54+00:00" + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-11T23:07:08+00:00" }, { - "name": "vipsoft/unzip", - "version": "1.3", + "name": "symfony/http-foundation", + "version": "v5.2.7", "source": { "type": "git", - "url": "https://github.com/vipsoft/Unzip.git", - "reference": "090712dc65d0d77842f077d0a768fc7c852d4624" + "url": "https://github.com/symfony/http-foundation.git", + "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vipsoft/Unzip/zipball/090712dc65d0d77842f077d0a768fc7c852d4624", - "reference": "090712dc65d0d77842f077d0a768fc7c852d4624", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", + "reference": "a416487a73bb9c9d120e9ba3a60547f4a3fb7a1f", "shasum": "" }, "require": { - "ext-zip": "*", - "php": ">=5.3.6" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/cache": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" }, "type": "library", "autoload": { - "psr-0": { - "VIPSoft\\Unzip": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Anthon Pang", - "email": "apang@softwaredevelopment.ca", - "role": "developer" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Unzip library - a ZipArchive wrapper", - "homepage": "http://github.com/vipsoft/", - "keywords": [ - "pclzip", - "unzip", - "zip", - "ziparchive" - ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/vipsoft/Unzip/issues", - "source": "https://github.com/vipsoft/Unzip/tree/1.3" + "source": "https://github.com/symfony/http-foundation/tree/v5.2.7" }, - "time": "2021-01-21T18:23:24+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-01T13:46:24+00:00" }, { - "name": "vlucas/phpdotenv", - "version": "v5.3.0", + "name": "symfony/http-kernel", + "version": "v5.2.7", "source": { "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56" + "url": "https://github.com/symfony/http-kernel.git", + "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", - "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1e9f6879f070f718e0055fbac232a56f67b8b6bd", + "reference": "1e9f6879f070f718e0055fbac232a56f67b8b6bd", "shasum": "" }, "require": { - "ext-pcre": "*", - "graham-campbell/result-type": "^1.0.1", - "php": "^7.1.3 || ^8.0", - "phpoption/phpoption": "^1.7.4", - "symfony/polyfill-ctype": "^1.17", - "symfony/polyfill-mbstring": "^1.17", - "symfony/polyfill-php80": "^1.17" + "php": ">=7.2.5", + "psr/log": "~1.0", + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4|^5.0", + "symfony/event-dispatcher": "^5.0", + "symfony/http-client-contracts": "^1.1|^2", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/browser-kit": "<4.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.1.8", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1" + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/config": "^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dependency-injection": "^5.1.8", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.13|^3.0.4" }, "suggest": { - "ext-filter": "Required to use the boolean validator." + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.3-dev" - } - }, "autoload": { "psr-4": { - "Dotenv\\": "src/" - } + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0" + "source": "https://github.com/symfony/http-kernel/tree/v5.2.7" }, - "time": "2021-01-20T15:23:13+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-01T14:53:15+00:00" }, { - "name": "voku/portable-ascii", - "version": "1.5.6", + "name": "symfony/mime", + "version": "v5.2.7", "source": { "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "80953678b19901e5165c56752d087fc11526017c" + "url": "https://github.com/symfony/mime.git", + "reference": "7af452bf51c46f18da00feb32e1ad36db9426515" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", - "reference": "80953678b19901e5165c56752d087fc11526017c", + "url": "https://api.github.com/repos/symfony/mime/zipball/7af452bf51c46f18da00feb32e1ad36db9426515", + "reference": "7af452bf51c46f18da00feb32e1ad36db9426515", "shasum": "" }, "require": { - "php": ">=7.0.0" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.15" }, - "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<4.4" }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.1", + "symfony/property-info": "^4.4|^5.1", + "symfony/serializer": "^5.2" }, "type": "library", "autoload": { "psr-4": { - "voku\\": "src/voku/" - } + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5966,54 +7188,76 @@ ], "authors": [ { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", "keywords": [ - "ascii", - "clean", - "php" + "mime", + "mime-type" ], - "time": "2020-11-12T00:07:28+00:00" + "support": { + "source": "https://github.com/symfony/mime/tree/v5.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-29T20:47:09+00:00" }, { - "name": "webmozart/assert", - "version": "1.10.0", + "name": "symfony/polyfill-ctype", + "version": "v1.22.1", "source": { "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e", + "reference": "c6c942b1ac76c82448322025e084cadc56048b4e", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" + "php": ">=7.1" }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" + "suggest": { + "ext-ctype": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.10-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Webmozart\\Assert\\": "src/" - } + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6021,79 +7265,78 @@ ], "authors": [ { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" ], "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.10.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.1" }, - "time": "2021-03-09T10:59:23+00:00" - } - ], - "packages-dev": [ + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" + }, { - "name": "barryvdh/laravel-ide-helper", - "version": "v2.10.0", + "name": "symfony/polyfill-iconv", + "version": "v1.22.1", "source": { "type": "git", - "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "73b1012b927633a1b4cd623c2e6b1678e6faef08" + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "06fb361659649bcfd6a208a0f1fcaf4e827ad342" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/73b1012b927633a1b4cd623c2e6b1678e6faef08", - "reference": "73b1012b927633a1b4cd623c2e6b1678e6faef08", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/06fb361659649bcfd6a208a0f1fcaf4e827ad342", + "reference": "06fb361659649bcfd6a208a0f1fcaf4e827ad342", "shasum": "" }, "require": { - "barryvdh/reflection-docblock": "^2.0.6", - "composer/composer": "^1.6 || ^2", - "doctrine/dbal": "^2.6 || ^3", - "ext-json": "*", - "illuminate/console": "^8", - "illuminate/filesystem": "^8", - "illuminate/support": "^8", - "nikic/php-parser": "^4.7", - "php": "^7.3 || ^8.0", - "phpdocumentor/type-resolver": "^1.1.0" - }, - "require-dev": { - "ext-pdo_sqlite": "*", - "friendsofphp/php-cs-fixer": "^2", - "illuminate/config": "^8", - "illuminate/view": "^8", - "mockery/mockery": "^1.4", - "orchestra/testbench": "^6", - "phpunit/phpunit": "^8.5 || ^9", - "spatie/phpunit-snapshot-assertions": "^3 || ^4", - "vimeo/psalm": "^3.12" + "php": ">=7.1" }, "suggest": { - "illuminate/events": "Required for automatic helper generation (^6|^7|^8)." + "ext-iconv": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.9-dev" + "dev-main": "1.22-dev" }, - "laravel": { - "providers": [ - "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" - ] + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Barryvdh\\LaravelIdeHelper\\": "src" - } + "Symfony\\Polyfill\\Iconv\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6101,60 +7344,79 @@ ], "authors": [ { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", + "description": "Symfony polyfill for the Iconv extension", + "homepage": "https://symfony.com", "keywords": [ - "autocomplete", - "codeintel", - "helper", - "ide", - "laravel", - "netbeans", - "phpdoc", - "phpstorm", - "sublime" + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" ], - "time": "2021-04-09T06:17:55+00:00" + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" }, { - "name": "barryvdh/reflection-docblock", - "version": "v2.0.6", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.22.1", "source": { "type": "git", - "url": "https://github.com/barryvdh/ReflectionDocBlock.git", - "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/6b69015d83d3daf9004a71a89f26e27d27ef6a16", - "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/5601e09b69f26c1828b13b6bb87cb07cddba3170", + "reference": "5601e09b69f26c1828b13b6bb87cb07cddba3170", "shasum": "" }, "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0,<4.5" + "php": ">=7.1" }, "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { - "psr-0": { - "Barryvdh": [ - "src/" - ] - } + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6162,47 +7424,82 @@ ], "authors": [ { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "time": "2018-12-13T10:34:14+00:00" + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" }, { - "name": "composer/ca-bundle", - "version": "1.2.9", + "name": "symfony/polyfill-intl-idn", + "version": "v1.22.1", "source": { "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5" + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/78a0e288fdcebf92aa2318a8d3656168da6ac1a5", - "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/2d63434d922daf7da8dd863e7907e67ee3031483", + "reference": "2d63434d922daf7da8dd863e7907e67ee3031483", "shasum": "" }, "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" + "suggest": { + "ext-intl": "For best performance" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.x-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Composer\\CaBundle\\": "src" - } + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6210,73 +7507,87 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" ], - "time": "2021-01-12T12:10:35+00:00" - }, - { - "name": "composer/composer", - "version": "2.0.12", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "6c12ce263da71641903e399c3ce8ecb08fd375fb" + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.22.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/6c12ce263da71641903e399c3ce8ecb08fd375fb", - "reference": "6c12ce263da71641903e399c3ce8ecb08fd375fb", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/43a0283138253ed1d48d352ab6d0bdb3f809f248", + "reference": "43a0283138253ed1d48d352ab6d0bdb3f809f248", "shasum": "" }, "require": { - "composer/ca-bundle": "^1.0", - "composer/semver": "^3.0", - "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^1.1", - "justinrainbow/json-schema": "^5.2.10", - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0", - "react/promise": "^1.2 || ^2.7", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.0", - "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", - "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", - "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", - "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0" - }, - "require-dev": { - "phpspec/prophecy": "^1.10", - "symfony/phpunit-bridge": "^4.2 || ^5.0" + "php": ">=7.1" }, "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" + "ext-intl": "For best performance" }, - "bin": [ - "bin/composer" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Composer\\": "src/Composer" - } + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6284,62 +7595,80 @@ ], "authors": [ { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "https://www.naderman.de" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", "keywords": [ - "autoload", - "dependency", - "package" + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2021-04-01T08:14:59+00:00" + "time": "2021-01-22T09:19:47+00:00" }, { - "name": "composer/package-versions-deprecated", - "version": "1.11.99.1", + "name": "symfony/polyfill-mbstring", + "version": "v1.22.1", "source": { "type": "git", - "url": "https://github.com/composer/package-versions-deprecated.git", - "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/7413f0b55a051e89485c5cb9f765fe24bb02a7b6", - "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/5232de97ee3b75b0360528dae24e73db49566ab1", + "reference": "5232de97ee3b75b0360528dae24e73db49566ab1", "shasum": "" }, "require": { - "composer-plugin-api": "^1.1.0 || ^2.0", - "php": "^7 || ^8" - }, - "replace": { - "ocramius/package-versions": "1.11.99" + "php": ">=7.1" }, - "require-dev": { - "composer/composer": "^1.9.3 || ^2.0@dev", - "ext-zip": "^1.13", - "phpunit/phpunit": "^6.5 || ^7" + "suggest": { + "ext-mbstring": "For best performance" }, - "type": "composer-plugin", + "type": "library", "extra": { - "class": "PackageVersions\\Installer", "branch-alias": { - "dev-master": "1.x-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "PackageVersions\\": "src/PackageVersions" - } + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6347,48 +7676,76 @@ ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", - "time": "2020-11-11T10:22:58+00:00" + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-22T09:19:47+00:00" }, { - "name": "composer/semver", - "version": "3.2.4", + "name": "symfony/polyfill-php72", + "version": "v1.22.1", "source": { "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464" + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", - "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", + "reference": "cc6e6f9b39fe8075b3dabfbaf5b5f645ae1340c9", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.54", - "symfony/phpunit-bridge": "^4.2 || ^5" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.x-dev" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { "psr-4": { - "Composer\\Semver\\": "src" - } + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6396,117 +7753,157 @@ ], "authors": [ { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "semantic", - "semver", - "validation", - "versioning" + "compatibility", + "polyfill", + "portable", + "shim" ], - "time": "2020-11-13T08:59:24+00:00" + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" }, { - "name": "composer/spdx-licenses", - "version": "1.5.5", + "name": "symfony/polyfill-php73", + "version": "v1.22.1", "source": { "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "de30328a7af8680efdc03e396aad24befd513200" + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/de30328a7af8680efdc03e396aad24befd513200", - "reference": "de30328a7af8680efdc03e396aad24befd513200", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", + "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "SPDX licenses list and validation library.", + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "license", - "spdx", - "validator" + "compatibility", + "polyfill", + "portable", + "shim" ], - "time": "2020-12-03T16:04:16+00:00" + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" }, { - "name": "composer/xdebug-handler", - "version": "1.4.6", + "name": "symfony/polyfill-php80", + "version": "v1.22.1", "source": { "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "f27e06cd9675801df441b3656569b328e04aa37c" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f27e06cd9675801df441b3656569b328e04aa37c", - "reference": "f27e06cd9675801df441b3656569b328e04aa37c", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91", + "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" + "php": ">=7.1" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { "psr-4": { - "Composer\\XdebugHandler\\": "src" - } + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6514,56 +7911,71 @@ ], "authors": [ { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Restarts a process without Xdebug.", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "Xdebug", - "performance" + "compatibility", + "polyfill", + "portable", + "shim" ], - "time": "2021-03-25T17:01:18+00:00" + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-01-07T16:49:33+00:00" }, { - "name": "doctrine/cache", - "version": "1.11.0", + "name": "symfony/process", + "version": "v5.2.7", "source": { "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "a9c1b59eba5a08ca2770a76eddb88922f504e8e0" + "url": "https://github.com/symfony/process.git", + "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/a9c1b59eba5a08ca2770a76eddb88922f504e8e0", - "reference": "a9c1b59eba5a08ca2770a76eddb88922f504e8e0", + "url": "https://api.github.com/repos/symfony/process/zipball/98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e", + "reference": "98cb8eeb72e55d4196dd1e36f1f16e7b3a9a088e", "shasum": "" }, "require": { - "php": "~7.1 || ^8.0" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4", - "psr/cache": ">=3" - }, - "require-dev": { - "alcaeus/mongo-php-adapter": "^1.1", - "cache/integration-tests": "dev-master", - "doctrine/coding-standard": "^8.0", - "mongodb/mongodb": "^1.1", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "predis/predis": "~1.0", - "psr/cache": "^1.0 || ^2.0", - "symfony/cache": "^4.4 || ^5.2" - }, - "suggest": { - "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" - } + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6571,84 +7983,80 @@ ], "authors": [ { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v5.3.0-BETA1" + }, + "funding": [ { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" + "url": "https://github.com/fabpot", + "type": "github" }, { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", - "homepage": "https://www.doctrine-project.org/projects/cache.html", - "keywords": [ - "abstraction", - "apcu", - "cache", - "caching", - "couchdb", - "memcached", - "php", - "redis", - "xcache" - ], - "time": "2021-04-13T14:46:17+00:00" + "time": "2021-04-08T10:27:02+00:00" }, { - "name": "doctrine/dbal", - "version": "3.1.0", + "name": "symfony/psr-http-message-bridge", + "version": "v2.1.0", "source": { "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "5ba62e7e40df119424866064faf2cef66cb5232a" + "url": "https://github.com/symfony/psr-http-message-bridge.git", + "reference": "81db2d4ae86e9f0049828d9343a72b9523884e5d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/5ba62e7e40df119424866064faf2cef66cb5232a", - "reference": "5ba62e7e40df119424866064faf2cef66cb5232a", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/81db2d4ae86e9f0049828d9343a72b9523884e5d", + "reference": "81db2d4ae86e9f0049828d9343a72b9523884e5d", "shasum": "" }, "require": { - "composer/package-versions-deprecated": "^1.11.99", - "doctrine/cache": "^1.0", - "doctrine/deprecations": "^0.5.3", - "doctrine/event-manager": "^1.0", - "php": "^7.3 || ^8.0" + "php": ">=7.1", + "psr/http-message": "^1.0", + "symfony/http-foundation": "^4.4 || ^5.0" }, "require-dev": { - "doctrine/coding-standard": "8.2.0", - "jetbrains/phpstorm-stubs": "2020.2", - "phpstan/phpstan": "0.12.81", - "phpstan/phpstan-strict-rules": "^0.12.2", - "phpunit/phpunit": "9.5.0", - "psalm/plugin-phpunit": "0.13.0", - "squizlabs/php_codesniffer": "3.6.0", - "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", - "vimeo/psalm": "4.6.4" + "nyholm/psr7": "^1.1", + "psr/log": "^1.1", + "symfony/browser-kit": "^4.4 || ^5.0", + "symfony/config": "^4.4 || ^5.0", + "symfony/event-dispatcher": "^4.4 || ^5.0", + "symfony/framework-bundle": "^4.4 || ^5.0", + "symfony/http-kernel": "^4.4 || ^5.0", + "symfony/phpunit-bridge": "^4.4.19 || ^5.2" }, "suggest": { - "symfony/console": "For helpful console commands such as SQL execution and import of files." + "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" + }, + "type": "symfony-bridge", + "extra": { + "branch-alias": { + "dev-main": "2.1-dev" + } }, - "bin": [ - "bin/doctrine-dbal" - ], - "type": "library", "autoload": { "psr-4": { - "Doctrine\\DBAL\\": "src" - } + "Symfony\\Bridge\\PsrHttpMessage\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6656,118 +8064,165 @@ ], "authors": [ { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Roman Borschel", - "email": "roman@code-factory.org" + "name": "Symfony Community", + "homepage": "http://symfony.com/contributors" + } + ], + "description": "PSR HTTP message bridge", + "homepage": "http://symfony.com", + "keywords": [ + "http", + "http-message", + "psr-17", + "psr-7" + ], + "support": { + "issues": "https://github.com/symfony/psr-http-message-bridge/issues", + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" + "url": "https://github.com/fabpot", + "type": "github" }, { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", - "homepage": "https://www.doctrine-project.org/projects/dbal.html", - "keywords": [ - "abstraction", - "database", - "db2", - "dbal", - "mariadb", - "mssql", - "mysql", - "oci8", - "oracle", - "pdo", - "pgsql", - "postgresql", - "queryobject", - "sasql", - "sql", - "sqlite", - "sqlserver", - "sqlsrv" - ], - "time": "2021-04-19T17:51:23+00:00" + "time": "2021-02-17T10:35:25+00:00" }, { - "name": "doctrine/deprecations", - "version": "v0.5.3", + "name": "symfony/routing", + "version": "v5.2.7", "source": { "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "9504165960a1f83cc1480e2be1dd0a0478561314" + "url": "https://github.com/symfony/routing.git", + "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314", - "reference": "9504165960a1f83cc1480e2be1dd0a0478561314", + "url": "https://api.github.com/repos/symfony/routing/zipball/3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c", + "reference": "3f0cab2e95b5e92226f34c2c1aa969d3fc41f48c", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/config": "<5.0", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" }, "require-dev": { - "doctrine/coding-standard": "^6.0|^7.0|^8.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0", - "psr/log": "^1.0" + "doctrine/annotations": "^1.10.4", + "psr/log": "~1.0", + "symfony/config": "^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { - "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" - } + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "time": "2021-03-21T12:59:47+00:00" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v5.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-11T22:55:21+00:00" }, { - "name": "doctrine/event-manager", - "version": "1.1.1", + "name": "symfony/service-contracts", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", - "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/common": "<2.9@dev" + "php": ">=7.2.5", + "psr/container": "^1.1" }, - "require-dev": { - "doctrine/coding-standard": "^6.0", - "phpunit/phpunit": "^7.0" + "suggest": { + "symfony/service-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { - "Doctrine\\Common\\": "lib/Doctrine/Common" + "Symfony\\Contracts\\Service\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -6776,72 +8231,82 @@ ], "authors": [ { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" + }, + "funding": [ { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" + "url": "https://github.com/fabpot", + "type": "github" }, { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", - "keywords": [ - "event", - "event dispatcher", - "event manager", - "event system", - "events" - ], - "time": "2020-05-29T18:28:51+00:00" + "time": "2021-04-01T10:43:52+00:00" }, { - "name": "doctrine/instantiator", - "version": "1.4.0", + "name": "symfony/string", + "version": "v5.2.6", "source": { "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + "url": "https://github.com/symfony/string.git", + "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "url": "https://api.github.com/repos/symfony/string/zipball/ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", + "reference": "ad0bd91bce2054103f5eaa18ebeba8d3bc2a0572", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" }, "require-dev": { - "doctrine/coding-standard": "^8.0", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6849,181 +8314,169 @@ ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", "keywords": [ - "constructor", - "instantiate" + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" ], - "time": "2020-11-10T18:47:58+00:00" - }, - { - "name": "facade/flare-client-php", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/facade/flare-client-php.git", - "reference": "6bf380035890cb0a09b9628c491ae3866b858522" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/6bf380035890cb0a09b9628c491ae3866b858522", - "reference": "6bf380035890cb0a09b9628c491ae3866b858522", - "shasum": "" - }, - "require": { - "facade/ignition-contracts": "~1.0", - "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", - "php": "^7.1|^8.0", - "symfony/http-foundation": "^3.3|^4.1|^5.0", - "symfony/mime": "^3.4|^4.0|^5.1", - "symfony/var-dumper": "^3.4|^4.0|^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "phpunit/phpunit": "^7.5.16", - "spatie/phpunit-snapshot-assertions": "^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } + "support": { + "source": "https://github.com/symfony/string/tree/v5.2.6" }, - "autoload": { - "psr-4": { - "Facade\\FlareClient\\": "src" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Send PHP errors to Flare", - "homepage": "https://github.com/facade/flare-client-php", - "keywords": [ - "exception", - "facade", - "flare", - "reporting" + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2021-04-12T09:30:36+00:00" + "time": "2021-03-17T17:12:15+00:00" }, { - "name": "facade/ignition", - "version": "2.8.3", + "name": "symfony/translation", + "version": "v5.2.7", "source": { "type": "git", - "url": "https://github.com/facade/ignition.git", - "reference": "a8201d51aae83addceaef9344592a3b068b5d64d" + "url": "https://github.com/symfony/translation.git", + "reference": "e37ece5242564bceea54d709eafc948377ec9749" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/a8201d51aae83addceaef9344592a3b068b5d64d", - "reference": "a8201d51aae83addceaef9344592a3b068b5d64d", + "url": "https://api.github.com/repos/symfony/translation/zipball/e37ece5242564bceea54d709eafc948377ec9749", + "reference": "e37ece5242564bceea54d709eafc948377ec9749", "shasum": "" }, "require": { - "ext-json": "*", - "ext-mbstring": "*", - "facade/flare-client-php": "^1.6", - "facade/ignition-contracts": "^1.0.2", - "filp/whoops": "^2.4", - "illuminate/support": "^7.0|^8.0", - "monolog/monolog": "^2.0", - "php": "^7.2.5|^8.0", - "symfony/console": "^5.0", - "symfony/var-dumper": "^5.0" + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15", + "symfony/translation-contracts": "^2.3" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.3" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "mockery/mockery": "^1.3", - "orchestra/testbench": "^5.0|^6.0", - "psalm/plugin-laravel": "^1.2" + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/service-contracts": "^1.1.2|^2", + "symfony/yaml": "^4.4|^5.0" }, "suggest": { - "laravel/telescope": "^3.1" + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Facade\\Ignition\\IgnitionServiceProvider" - ], - "aliases": { - "Flare": "Facade\\Ignition\\Facades\\Flare" - } - } - }, "autoload": { + "files": [ + "Resources/functions.php" + ], "psr-4": { - "Facade\\Ignition\\": "src" + "Symfony\\Component\\Translation\\": "" }, - "files": [ - "src/helpers.php" + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "A beautiful error page for Laravel applications.", - "homepage": "https://github.com/facade/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v5.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2021-04-09T20:45:59+00:00" + "time": "2021-04-01T08:15:21+00:00" }, { - "name": "filp/whoops", - "version": "2.12.0", + "name": "symfony/translation-contracts", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "d501fd2658d55491a2295ff600ae5978eaad7403" + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "95c812666f3e91db75385749fe219c5e494c7f95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/d501fd2658d55491a2295ff600ae5978eaad7403", - "reference": "d501fd2658d55491a2295ff600ae5978eaad7403", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95", + "reference": "95c812666f3e91db75385749fe219c5e494c7f95", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "psr/log": "^1.0.1" - }, - "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + "php": ">=7.2.5" }, "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" + "symfony/translation-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { "psr-4": { - "Whoops\\": "src/Whoops/" + "Symfony\\Contracts\\Translation\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -7032,55 +8485,91 @@ ], "authors": [ { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } ], - "time": "2021-03-30T12:00:00+00:00" + "time": "2021-03-23T23:28:01+00:00" }, { - "name": "fzaninotto/faker", - "version": "v1.9.2", + "name": "symfony/var-dumper", + "version": "v5.2.7", "source": { "type": "git", - "url": "https://github.com/fzaninotto/Faker.git", - "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e" + "url": "https://github.com/symfony/var-dumper.git", + "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/848d8125239d7dbf8ab25cb7f054f1a630e68c2e", - "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/27cb9f7cfa3853c736425c7233a8f68814b19636", + "reference": "27cb9f7cfa3853c736425c7233a8f68814b19636", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" }, "require-dev": { - "ext-intl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^2.9.2" + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "twig/twig": "^2.13|^3.0.4" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", "autoload": { + "files": [ + "Resources/functions/dump.php" + ], "psr-4": { - "Faker\\": "src/Faker/" - } + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -7088,162 +8577,164 @@ ], "authors": [ { - "name": "François Zaninotto" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Faker is a PHP library that generates fake data for you.", + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", "keywords": [ - "data", - "faker", - "fixtures" + "debug", + "dump" ], - "abandoned": true, - "time": "2020-12-11T09:56:16+00:00" + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-19T14:07:32+00:00" }, { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "name": "theseer/tokenizer", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "url": "https://github.com/theseer/tokenizer.git", + "reference": "75a63c33a8577608444246075ea0af0d052e452a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", + "reference": "75a63c33a8577608444246075ea0af0d052e452a", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" - }, - "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, "autoload": { "classmap": [ - "hamcrest" + "src/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } ], - "time": "2020-07-09T08:09:16+00:00" + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/master" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2020-07-12T23:59:07+00:00" }, { - "name": "justinrainbow/json-schema", - "version": "5.2.10", + "name": "tijsverkoyen/css-to-inline-styles", + "version": "2.2.3", "source": { "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b" + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", "shasum": "" }, "require": { - "php": ">=5.3.3" + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.35" + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" }, - "bin": [ - "bin/validate-json" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0.x-dev" + "dev-master": "2.2.x-dev" } }, "autoload": { "psr-4": { - "JsonSchema\\": "src/JsonSchema/" + "TijsVerkoyen\\CssToInlineStyles\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" } ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ], - "time": "2020-05-27T16:41:55+00:00" + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3" + }, + "time": "2020-07-13T06:12:54+00:00" }, { - "name": "laracasts/generators", - "version": "2.0.0", + "name": "vipsoft/unzip", + "version": "1.3", "source": { "type": "git", - "url": "https://github.com/laracasts/Laravel-5-Generators-Extended.git", - "reference": "0b8b3d300cc948217f7547502b6de5db6fbafa70" + "url": "https://github.com/vipsoft/Unzip.git", + "reference": "090712dc65d0d77842f077d0a768fc7c852d4624" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laracasts/Laravel-5-Generators-Extended/zipball/0b8b3d300cc948217f7547502b6de5db6fbafa70", - "reference": "0b8b3d300cc948217f7547502b6de5db6fbafa70", + "url": "https://api.github.com/repos/vipsoft/Unzip/zipball/090712dc65d0d77842f077d0a768fc7c852d4624", + "reference": "090712dc65d0d77842f077d0a768fc7c852d4624", "shasum": "" }, "require": { - "illuminate/support": "~6.0|~7.0|~8.0" - }, - "require-dev": { - "phpspec/phpspec": "~6.0" + "ext-zip": "*", + "php": ">=5.3.6" }, "type": "library", - "extra": { - "laravel": { - "providers": [ - "Laracasts\\Generators\\GeneratorsServiceProvider" - ] - } - }, "autoload": { - "psr-4": { - "Laracasts\\Generators\\": "src/" + "psr-0": { + "VIPSoft\\Unzip": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -7252,226 +8743,293 @@ ], "authors": [ { - "name": "Jeffrey Way", - "email": "jeffrey@laracasts.com" - }, - { - "name": "Cristian Tabacitu", - "email": "hello@tabaciu.ro" + "name": "Anthon Pang", + "email": "apang@softwaredevelopment.ca", + "role": "developer" } ], - "description": "Advanced Laravel generators, that include schema information.", + "description": "Unzip library - a ZipArchive wrapper", + "homepage": "http://github.com/vipsoft/", "keywords": [ - "generators", - "laravel" + "pclzip", + "unzip", + "zip", + "ziparchive" ], - "time": "2020-09-10T13:49:13+00:00" + "support": { + "issues": "https://github.com/vipsoft/Unzip/issues", + "source": "https://github.com/vipsoft/Unzip/tree/1.3" + }, + "time": "2021-01-21T18:23:24+00:00" }, { - "name": "laravel/homestead", - "version": "v11.4.0", + "name": "vlucas/phpdotenv", + "version": "v5.3.0", "source": { "type": "git", - "url": "https://github.com/laravel/homestead.git", - "reference": "41a628deed9b601ee80689cf3ae0815195b5040f" + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/homestead/zipball/41a628deed9b601ee80689cf3ae0815195b5040f", - "reference": "41a628deed9b601ee80689cf3ae0815195b5040f", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", + "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0", - "symfony/console": "~5.1", - "symfony/process": "~5.1", - "symfony/yaml": "~5.1" + "ext-pcre": "*", + "graham-campbell/result-type": "^1.0.1", + "php": "^7.1.3 || ^8.0", + "phpoption/phpoption": "^1.7.4", + "symfony/polyfill-ctype": "^1.17", + "symfony/polyfill-mbstring": "^1.17", + "symfony/polyfill-php80": "^1.17" }, "require-dev": { - "dms/phpunit-arraysubset-asserts": "^0.2.0", - "phpunit/phpunit": "^9" + "bamarni/composer-bin-plugin": "^1.4.1", + "ext-filter": "*", + "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." }, - "bin": [ - "bin/homestead" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.3-dev" + } + }, "autoload": { "psr-4": { - "Laravel\\Homestead\\": "src/" + "Dotenv\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "homepage": "https://gjcampbell.co.uk/" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://vancelucas.com/" } ], - "description": "A virtual machine for web artisans.", - "time": "2020-11-24T17:59:52+00:00" + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2021-01-20T15:23:13+00:00" }, { - "name": "mockery/mockery", - "version": "1.4.3", + "name": "voku/portable-ascii", + "version": "1.5.6", "source": { "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea" + "url": "https://github.com/voku/portable-ascii.git", + "reference": "80953678b19901e5165c56752d087fc11526017c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/d1339f64479af1bee0e82a0413813fe5345a54ea", - "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", + "reference": "80953678b19901e5165c56752d087fc11526017c", "shasum": "" }, "require": { - "hamcrest/hamcrest-php": "^2.0.1", - "lib-pcre": ">=7.0", - "php": "^7.3 || ^8.0" - }, - "conflict": { - "phpunit/phpunit": "<8.0" + "php": ">=7.0.0" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.3" + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" }, + "type": "library", "autoload": { - "psr-0": { - "Mockery": "library/" + "psr-4": { + "voku\\": "src/voku/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - }, - { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" } ], - "description": "Mockery is a simple yet flexible PHP mock object framework", - "homepage": "https://github.com/mockery/mockery", + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", - "test", - "test double", - "testing" + "ascii", + "clean", + "php" ], - "time": "2021-02-24T09:51:49+00:00" + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/1.5.6" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2020-11-12T00:07:28+00:00" }, { - "name": "myclabs/deep-copy", - "version": "1.10.2", + "name": "webmozart/assert", + "version": "1.10.0", "source": { "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" + "url": "https://github.com/webmozarts/assert.git", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", - "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^7.2 || ^8.0", + "symfony/polyfill-ctype": "^1.8" }, - "replace": { - "myclabs/deep-copy": "self.version" + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" }, "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^8.5.13" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, "autoload": { "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, - "files": [ - "src/DeepCopy/deep_copy.php" - ] + "Webmozart\\Assert\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Create deep copies (clones) of your objects", + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" + "assert", + "check", + "validate" ], - "time": "2020-11-13T09:40:50+00:00" - }, + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" + }, + "time": "2021-03-09T10:59:23+00:00" + } + ], + "packages-dev": [ { - "name": "nunomaduro/collision", - "version": "v5.4.0", + "name": "barryvdh/laravel-ide-helper", + "version": "v2.10.0", "source": { "type": "git", - "url": "https://github.com/nunomaduro/collision.git", - "reference": "41b7e9999133d5082700d31a1d0977161df8322a" + "url": "https://github.com/barryvdh/laravel-ide-helper.git", + "reference": "73b1012b927633a1b4cd623c2e6b1678e6faef08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/41b7e9999133d5082700d31a1d0977161df8322a", - "reference": "41b7e9999133d5082700d31a1d0977161df8322a", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/73b1012b927633a1b4cd623c2e6b1678e6faef08", + "reference": "73b1012b927633a1b4cd623c2e6b1678e6faef08", "shasum": "" }, "require": { - "facade/ignition-contracts": "^1.0", - "filp/whoops": "^2.7.2", + "barryvdh/reflection-docblock": "^2.0.6", + "composer/composer": "^1.6 || ^2", + "doctrine/dbal": "^2.6 || ^3", + "ext-json": "*", + "illuminate/console": "^8", + "illuminate/filesystem": "^8", + "illuminate/support": "^8", + "nikic/php-parser": "^4.7", "php": "^7.3 || ^8.0", - "symfony/console": "^5.0" + "phpdocumentor/type-resolver": "^1.1.0" }, "require-dev": { - "brianium/paratest": "^6.1", - "fideloper/proxy": "^4.4.1", - "friendsofphp/php-cs-fixer": "^2.17.3", - "fruitcake/laravel-cors": "^2.0.3", - "laravel/framework": "^9.0", - "nunomaduro/larastan": "^0.6.2", - "nunomaduro/mock-final-classes": "^1.0", - "orchestra/testbench": "^7.0", - "phpstan/phpstan": "^0.12.64", - "phpunit/phpunit": "^9.5.0" + "ext-pdo_sqlite": "*", + "friendsofphp/php-cs-fixer": "^2", + "illuminate/config": "^8", + "illuminate/view": "^8", + "mockery/mockery": "^1.4", + "orchestra/testbench": "^6", + "phpunit/phpunit": "^8.5 || ^9", + "spatie/phpunit-snapshot-assertions": "^3 || ^4", + "vimeo/psalm": "^3.12" + }, + "suggest": { + "illuminate/events": "Required for automatic helper generation (^6|^7|^8)." }, "type": "library", "extra": { + "branch-alias": { + "dev-master": "2.9-dev" + }, "laravel": { "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" ] } }, "autoload": { "psr-4": { - "NunoMaduro\\Collision\\": "src/" + "Barryvdh\\LaravelIdeHelper\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7480,45 +9038,57 @@ ], "authors": [ { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" } ], - "description": "Cli error handling for console/command-line PHP applications.", + "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", "keywords": [ - "artisan", - "cli", - "command-line", - "console", - "error", - "handling", + "autocomplete", + "codeintel", + "helper", + "ide", "laravel", - "laravel-zero", - "php", - "symfony" + "netbeans", + "phpdoc", + "phpstorm", + "sublime" ], - "time": "2021-04-09T13:38:32+00:00" + "support": { + "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", + "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.10.0" + }, + "funding": [ + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2021-04-09T06:17:55+00:00" }, { - "name": "phar-io/manifest", - "version": "2.0.1", + "name": "barryvdh/reflection-docblock", + "version": "v2.0.6", "source": { "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + "url": "https://github.com/barryvdh/ReflectionDocBlock.git", + "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/6b69015d83d3daf9004a71a89f26e27d27ef6a16", + "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0,<4.5" + }, + "suggest": { + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" }, "type": "library", "extra": { @@ -7527,107 +9097,155 @@ } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-0": { + "Barryvdh": [ + "src/" + ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" } ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2020-06-27T14:33:11+00:00" + "support": { + "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.0.6" + }, + "time": "2018-12-13T10:34:14+00:00" }, { - "name": "phar-io/version", - "version": "3.1.0", + "name": "composer/ca-bundle", + "version": "1.2.9", "source": { "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "bae7c545bef187884426f042434e561ab1ddb182" + "url": "https://github.com/composer/ca-bundle.git", + "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/bae7c545bef187884426f042434e561ab1ddb182", - "reference": "bae7c545bef187884426f042434e561ab1ddb182", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/78a0e288fdcebf92aa2318a8d3656168da6ac1a5", + "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.55", + "psr/log": "^1.0", + "symfony/phpunit-bridge": "^4.2 || ^5", + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Composer\\CaBundle\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/ca-bundle/issues", + "source": "https://github.com/composer/ca-bundle/tree/1.2.9" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" }, { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" + "url": "https://github.com/composer", + "type": "github" }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "description": "Library for handling version information and constraints", - "time": "2021-02-23T14:00:09+00:00" + "time": "2021-01-12T12:10:35+00:00" }, { - "name": "phpdocumentor/reflection-common", - "version": "2.2.0", + "name": "composer/composer", + "version": "2.0.13", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" + "url": "https://github.com/composer/composer.git", + "reference": "986e8b86b7b570632ad0a905c3726c33dd4c0efb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "url": "https://api.github.com/repos/composer/composer/zipball/986e8b86b7b570632ad0a905c3726c33dd4c0efb", + "reference": "986e8b86b7b570632ad0a905c3726c33dd4c0efb", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "composer/ca-bundle": "^1.0", + "composer/metadata-minifier": "^1.0", + "composer/semver": "^3.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^5.2.10", + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0", + "react/promise": "^1.2 || ^2.7", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", + "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", + "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0", + "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0" + }, + "require-dev": { + "phpspec/prophecy": "^1.10", + "symfony/phpunit-bridge": "^4.2 || ^5.0" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" }, + "bin": [ + "bin/composer" + ], "type": "library", "extra": { "branch-alias": { - "dev-2.x": "2.x-dev" + "dev-master": "2.0-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": "src/" + "Composer\\": "src/Composer" } }, "notification-url": "https://packagist.org/downloads/", @@ -7636,54 +9254,75 @@ ], "authors": [ { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "https://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" } ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", + "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" + "autoload", + "dependency", + "package" ], - "time": "2020-06-27T09:03:43+00:00" + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/composer/issues", + "source": "https://github.com/composer/composer/tree/2.0.13" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-04-27T11:11:08+00:00" }, { - "name": "phpdocumentor/reflection-docblock", - "version": "5.2.2", + "name": "composer/metadata-minifier", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + "url": "https://github.com/composer/metadata-minifier.git", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207", "shasum": "" }, "require": { - "ext-filter": "*", - "php": "^7.2 || ^8.0", - "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.3", - "webmozart/assert": "^1.9.1" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "mockery/mockery": "~1.3.2" + "composer/composer": "^2", + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.x-dev" + "dev-main": "1.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": "src" + "Composer\\MetadataMinifier\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7692,47 +9331,72 @@ ], "authors": [ { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Small utility library that handles metadata minification and expansion.", + "keywords": [ + "composer", + "compression" + ], + "support": { + "issues": "https://github.com/composer/metadata-minifier/issues", + "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" }, { - "name": "Jaap van Otterdijk", - "email": "account@ijaap.nl" + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" } ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "time": "2020-09-03T19:13:55+00:00" + "time": "2021-04-07T13:37:33+00:00" }, { - "name": "phpdocumentor/type-resolver", - "version": "1.4.0", + "name": "composer/package-versions-deprecated", + "version": "1.11.99.1", "source": { "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + "url": "https://github.com/composer/package-versions-deprecated.git", + "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/7413f0b55a051e89485c5cb9f765fe24bb02a7b6", + "reference": "7413f0b55a051e89485c5cb9f765fe24bb02a7b6", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "phpdocumentor/reflection-common": "^2.0" + "composer-plugin-api": "^1.1.0 || ^2.0", + "php": "^7 || ^8" + }, + "replace": { + "ocramius/package-versions": "1.11.99" }, "require-dev": { - "ext-tokenizer": "*" + "composer/composer": "^1.9.3 || ^2.0@dev", + "ext-zip": "^1.13", + "phpunit/phpunit": "^6.5 || ^7" }, - "type": "library", + "type": "composer-plugin", "extra": { + "class": "PackageVersions\\Installer", "branch-alias": { - "dev-1.x": "1.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": "src" + "PackageVersions\\": "src/PackageVersions" } }, "notification-url": "https://packagist.org/downloads/", @@ -7741,47 +9405,65 @@ ], "authors": [ { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" } ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2020-09-17T18:55:26+00:00" + "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "support": { + "issues": "https://github.com/composer/package-versions-deprecated/issues", + "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.1" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-11-11T10:22:58+00:00" }, { - "name": "phpspec/prophecy", - "version": "1.13.0", + "name": "composer/semver", + "version": "3.2.4", "source": { "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea" + "url": "https://github.com/composer/semver.git", + "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea", - "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea", + "url": "https://api.github.com/repos/composer/semver/zipball/a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", + "reference": "a02fdf930a3c1c3ed3a49b5f63859c0c20e10464", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.2", - "php": "^7.2 || ~8.0, <8.1", - "phpdocumentor/reflection-docblock": "^5.2", - "sebastian/comparator": "^3.0 || ^4.0", - "sebastian/recursion-context": "^3.0 || ^4.0" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpspec/phpspec": "^6.0", - "phpunit/phpunit": "^8.0 || ^9.0" + "phpstan/phpstan": "^0.12.54", + "symfony/phpunit-bridge": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { - "Prophecy\\": "src/Prophecy" + "Composer\\Semver\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -7790,1129 +9472,1013 @@ ], "authors": [ { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", + "description": "Semver library that offers utilities, version constraint parsing and validation.", "keywords": [ - "Double", - "Dummy", - "fake", - "mock", - "spy", - "stub" + "semantic", + "semver", + "validation", + "versioning" ], - "time": "2021-03-17T13:42:18+00:00" + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.2.4" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-11-13T08:59:24+00:00" }, { - "name": "phpunit/php-code-coverage", - "version": "9.2.6", + "name": "composer/spdx-licenses", + "version": "1.5.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f6293e1b30a2354e8428e004689671b83871edde" + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "de30328a7af8680efdc03e396aad24befd513200" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde", - "reference": "f6293e1b30a2354e8428e004689671b83871edde", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/de30328a7af8680efdc03e396aad24befd513200", + "reference": "de30328a7af8680efdc03e396aad24befd513200", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.10.2", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcov": "*", - "ext-xdebug": "*" + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "1.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Composer\\Spdx\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "description": "SPDX licenses list and validation library.", "keywords": [ - "coverage", - "testing", - "xunit" + "license", + "spdx", + "validator" ], - "time": "2021-03-28T07:26:59+00:00" + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/spdx-licenses/issues", + "source": "https://github.com/composer/spdx-licenses/tree/1.5.5" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-12-03T16:04:16+00:00" }, { - "name": "phpunit/php-file-iterator", - "version": "3.0.5", + "name": "composer/xdebug-handler", + "version": "1.4.6", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "f27e06cd9675801df441b3656569b328e04aa37c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", - "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f27e06cd9675801df441b3656569b328e04aa37c", + "reference": "f27e06cd9675801df441b3656569b328e04aa37c", "shasum": "" }, "require": { - "php": ">=7.3" + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" } ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "description": "Restarts a process without Xdebug.", "keywords": [ - "filesystem", - "iterator" + "Xdebug", + "performance" ], - "time": "2020-09-28T05:57:25+00:00" + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/1.4.6" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-03-25T17:01:18+00:00" }, { - "name": "phpunit/php-invoker", - "version": "3.1.1", + "name": "doctrine/cache", + "version": "1.11.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + "url": "https://github.com/doctrine/cache.git", + "reference": "a9c1b59eba5a08ca2770a76eddb88922f504e8e0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "url": "https://api.github.com/repos/doctrine/cache/zipball/a9c1b59eba5a08ca2770a76eddb88922f504e8e0", + "reference": "a9c1b59eba5a08ca2770a76eddb88922f504e8e0", "shasum": "" }, "require": { - "php": ">=7.3" + "php": "~7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4", + "psr/cache": ">=3" }, "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" + "alcaeus/mongo-php-adapter": "^1.1", + "cache/integration-tests": "dev-master", + "doctrine/coding-standard": "^8.0", + "mongodb/mongodb": "^1.1", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "predis/predis": "~1.0", + "psr/cache": "^1.0 || ^2.0", + "symfony/cache": "^4.4 || ^5.2" }, "suggest": { - "ext-pcntl": "*" + "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", "keywords": [ - "process" + "abstraction", + "apcu", + "cache", + "caching", + "couchdb", + "memcached", + "php", + "redis", + "xcache" ], - "time": "2020-09-28T05:58:55+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] + "support": { + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/1.11.0" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ + "funding": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "time": "2020-10-26T05:33:50+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", + "type": "tidelift" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "time": "2020-10-26T13:16:10+00:00" + "time": "2021-04-13T14:46:17+00:00" }, { - "name": "phpunit/phpunit", - "version": "9.5.4", + "name": "doctrine/dbal", + "version": "3.1.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "c73c6737305e779771147af66c96ca6a7ed8a741" + "url": "https://github.com/doctrine/dbal.git", + "reference": "5ba62e7e40df119424866064faf2cef66cb5232a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c73c6737305e779771147af66c96ca6a7ed8a741", - "reference": "c73c6737305e779771147af66c96ca6a7ed8a741", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/5ba62e7e40df119424866064faf2cef66cb5232a", + "reference": "5ba62e7e40df119424866064faf2cef66cb5232a", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.1", - "phar-io/version": "^3.0.2", - "php": ">=7.3", - "phpspec/prophecy": "^1.12.1", - "phpunit/php-code-coverage": "^9.2.3", - "phpunit/php-file-iterator": "^3.0.5", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.5", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.3", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^2.3", - "sebastian/version": "^3.0.2" + "composer/package-versions-deprecated": "^1.11.99", + "doctrine/cache": "^1.0", + "doctrine/deprecations": "^0.5.3", + "doctrine/event-manager": "^1.0", + "php": "^7.3 || ^8.0" }, "require-dev": { - "ext-pdo": "*", - "phpspec/prophecy-phpunit": "^2.0.1" + "doctrine/coding-standard": "8.2.0", + "jetbrains/phpstorm-stubs": "2020.2", + "phpstan/phpstan": "0.12.81", + "phpstan/phpstan-strict-rules": "^0.12.2", + "phpunit/phpunit": "9.5.0", + "psalm/plugin-phpunit": "0.13.0", + "squizlabs/php_codesniffer": "3.6.0", + "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", + "vimeo/psalm": "4.6.4" }, "suggest": { - "ext-soap": "*", - "ext-xdebug": "*" + "symfony/console": "For helpful console commands such as SQL execution and import of files." }, "bin": [ - "phpunit" + "bin/doctrine-dbal" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.5-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ], - "files": [ - "src/Framework/Assert/Functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "time": "2021-03-23T07:16:29+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" + "psr-4": { + "Doctrine\\DBAL\\": "src" } }, - "autoload": { - "classmap": [ - "src/" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "time": "2020-09-28T06:08:49+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "time": "2020-10-26T13:08:54+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" } ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "time": "2020-09-28T05:30:19+00:00" - }, - { - "name": "sebastian/comparator", - "version": "4.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "55f4261989e546dc112258c7a75935a81a7ce382" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", - "reference": "55f4261989e546dc112258c7a75935a81a7ce382", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", + "keywords": [ + "abstraction", + "database", + "db2", + "dbal", + "mariadb", + "mssql", + "mysql", + "oci8", + "oracle", + "pdo", + "pgsql", + "postgresql", + "queryobject", + "sasql", + "sql", + "sqlite", + "sqlserver", + "sqlsrv" ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, + "support": { + "issues": "https://github.com/doctrine/dbal/issues", + "source": "https://github.com/doctrine/dbal/tree/3.1.0" + }, + "funding": [ { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" }, { - "name": "Volker Dusch", - "email": "github@wallbash.com" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" }, { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", + "type": "tidelift" } ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "time": "2020-10-26T15:49:45+00:00" + "time": "2021-04-19T17:51:23+00:00" }, { - "name": "sebastian/complexity", - "version": "2.0.2", + "name": "doctrine/deprecations", + "version": "v0.5.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "url": "https://github.com/doctrine/deprecations.git", + "reference": "9504165960a1f83cc1480e2be1dd0a0478561314" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314", + "reference": "9504165960a1f83cc1480e2be1dd0a0478561314", "shasum": "" }, "require": { - "nikic/php-parser": "^4.7", - "php": ">=7.3" + "php": "^7.1|^8.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "doctrine/coding-standard": "^6.0|^7.0|^8.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0", + "psr/log": "^1.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" }, + "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } + "MIT" ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "time": "2020-10-26T15:52:27+00:00" + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/v0.5.3" + }, + "time": "2021-03-21T12:59:47+00:00" }, { - "name": "sebastian/diff", - "version": "4.0.4", + "name": "doctrine/event-manager", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + "url": "https://github.com/doctrine/event-manager.git", + "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", - "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f", + "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f", "shasum": "" }, "require": { - "php": ">=7.3" + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": "<2.9@dev" }, "require-dev": { - "phpunit/phpunit": "^9.3", - "symfony/process": "^4.2 || ^5" + "doctrine/coding-standard": "^6.0", + "phpunit/phpunit": "^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Doctrine\\Common\\": "lib/Doctrine/Common" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" } ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" + "event", + "event dispatcher", + "event manager", + "event system", + "events" ], - "time": "2020-10-26T13:10:38+00:00" - }, - { - "name": "sebastian/environment", - "version": "5.1.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "388b6ced16caa751030f6a69e588299fa09200ac" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", - "reference": "388b6ced16caa751030f6a69e588299fa09200ac", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] + "support": { + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/1.1.x" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ + "funding": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", + "type": "tidelift" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "time": "2020-09-28T05:52:38+00:00" + "time": "2020-05-29T18:28:51+00:00" }, { - "name": "sebastian/exporter", - "version": "4.0.3", + "name": "facade/flare-client-php", + "version": "1.8.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" + "url": "https://github.com/facade/flare-client-php.git", + "reference": "69742118c037f34ee1ef86dc605be4a105d9e984" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", - "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/69742118c037f34ee1ef86dc605be4a105d9e984", + "reference": "69742118c037f34ee1ef86dc605be4a105d9e984", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" + "facade/ignition-contracts": "~1.0", + "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", + "php": "^7.1|^8.0", + "symfony/http-foundation": "^3.3|^4.1|^5.0", + "symfony/mime": "^3.4|^4.0|^5.1", + "symfony/var-dumper": "^3.4|^4.0|^5.0" }, "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" + "friendsofphp/php-cs-fixer": "^2.14", + "phpunit/phpunit": "^7.5.16", + "spatie/phpunit-snapshot-assertions": "^2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "1.0-dev" } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Facade\\FlareClient\\": "src" + }, + "files": [ + "src/helpers.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/facade/flare-client-php", + "keywords": [ + "exception", + "facade", + "flare", + "reporting" + ], + "support": { + "issues": "https://github.com/facade/flare-client-php/issues", + "source": "https://github.com/facade/flare-client-php/tree/1.8.0" + }, + "funding": [ { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" + "url": "https://github.com/spatie", + "type": "github" } ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "time": "2020-09-28T05:24:23+00:00" + "time": "2021-04-30T11:11:50+00:00" }, { - "name": "sebastian/global-state", - "version": "5.0.2", + "name": "facade/ignition", + "version": "2.8.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "a90ccbddffa067b51f574dea6eb25d5680839455" + "url": "https://github.com/facade/ignition.git", + "reference": "87fb348dab0ae1a7c206c3e902a5a44ba541742f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455", - "reference": "a90ccbddffa067b51f574dea6eb25d5680839455", + "url": "https://api.github.com/repos/facade/ignition/zipball/87fb348dab0ae1a7c206c3e902a5a44ba541742f", + "reference": "87fb348dab0ae1a7c206c3e902a5a44ba541742f", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" + "ext-json": "*", + "ext-mbstring": "*", + "facade/flare-client-php": "^1.6", + "facade/ignition-contracts": "^1.0.2", + "filp/whoops": "^2.4", + "illuminate/support": "^7.0|^8.0", + "monolog/monolog": "^2.0", + "php": "^7.2.5|^8.0", + "symfony/console": "^5.0", + "symfony/var-dumper": "^5.0" }, "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^9.3" + "friendsofphp/php-cs-fixer": "^2.14", + "mockery/mockery": "^1.3", + "orchestra/testbench": "^5.0|^6.0", + "psalm/plugin-laravel": "^1.2" }, "suggest": { - "ext-uopz": "*" + "laravel/telescope": "^3.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Facade\\Ignition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Facade\\Ignition\\Facades\\Flare" + } } }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Facade\\Ignition\\": "src" + }, + "files": [ + "src/helpers.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } + "MIT" ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://github.com/facade/ignition", "keywords": [ - "global state" + "error", + "flare", + "laravel", + "page" ], - "time": "2020-10-26T15:55:19+00:00" + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/facade/ignition/issues", + "source": "https://github.com/facade/ignition" + }, + "time": "2021-04-29T13:55:26+00:00" }, { - "name": "sebastian/lines-of-code", - "version": "1.0.3", + "name": "filp/whoops", + "version": "2.12.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "url": "https://github.com/filp/whoops.git", + "reference": "c13c0be93cff50f88bbd70827d993026821914dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://api.github.com/repos/filp/whoops/zipball/c13c0be93cff50f88bbd70827d993026821914dd", + "reference": "c13c0be93cff50f88bbd70827d993026821914dd", "shasum": "" }, "require": { - "nikic/php-parser": "^4.6", - "php": ">=7.3" + "php": "^5.5.9 || ^7.0 || ^8.0", + "psr/log": "^1.0.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.7-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Whoops\\": "src/Whoops/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" } ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "time": "2020-11-28T06:42:11+00:00" + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.12.1" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2021-04-25T12:00:00+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "4.0.4", + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { "classmap": [ - "src/" + "hamcrest" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "time": "2020-10-26T13:12:34+00:00" + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, + "time": "2020-07-09T08:09:16+00:00" }, { - "name": "sebastian/object-reflector", - "version": "2.0.4", + "name": "justinrainbow/json-schema", + "version": "5.2.10", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", + "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=5.3.3" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" }, + "bin": [ + "bin/validate-json" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "5.0.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" } ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "time": "2020-10-26T13:14:26+00:00" + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "support": { + "issues": "https://github.com/justinrainbow/json-schema/issues", + "source": "https://github.com/justinrainbow/json-schema/tree/5.2.10" + }, + "time": "2020-05-27T16:41:55+00:00" }, { - "name": "sebastian/recursion-context", - "version": "4.0.4", + "name": "laracasts/generators", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" + "url": "https://github.com/laracasts/Laravel-5-Generators-Extended.git", + "reference": "0b8b3d300cc948217f7547502b6de5db6fbafa70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", - "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", + "url": "https://api.github.com/repos/laracasts/Laravel-5-Generators-Extended/zipball/0b8b3d300cc948217f7547502b6de5db6fbafa70", + "reference": "0b8b3d300cc948217f7547502b6de5db6fbafa70", "shasum": "" }, "require": { - "php": ">=7.3" + "illuminate/support": "~6.0|~7.0|~8.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpspec/phpspec": "~6.0" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "4.0-dev" + "laravel": { + "providers": [ + "Laracasts\\Generators\\GeneratorsServiceProvider" + ] } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Laracasts\\Generators\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" + "name": "Jeffrey Way", + "email": "jeffrey@laracasts.com" }, { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Cristian Tabacitu", + "email": "hello@tabaciu.ro" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "http://www.github.com/sebastianbergmann/recursion-context", - "time": "2020-10-26T13:17:30+00:00" + "description": "Advanced Laravel generators, that include schema information.", + "keywords": [ + "generators", + "laravel" + ], + "support": { + "issues": "https://github.com/laracasts/Laravel-5-Generators-Extended/issues", + "source": "https://github.com/laracasts/Laravel-5-Generators-Extended/tree/2.0.0" + }, + "time": "2020-09-10T13:49:13+00:00" }, { - "name": "sebastian/resource-operations", - "version": "3.0.3", + "name": "laravel/homestead", + "version": "v11.4.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + "url": "https://github.com/laravel/homestead.git", + "reference": "41a628deed9b601ee80689cf3ae0815195b5040f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "url": "https://api.github.com/repos/laravel/homestead/zipball/41a628deed9b601ee80689cf3ae0815195b5040f", + "reference": "41a628deed9b601ee80689cf3ae0815195b5040f", "shasum": "" }, "require": { - "php": ">=7.3" + "php": "^7.4 || ^8.0", + "symfony/console": "~5.1", + "symfony/process": "~5.1", + "symfony/yaml": "~5.1" }, "require-dev": { - "phpunit/phpunit": "^9.0" + "dms/phpunit-arraysubset-asserts": "^0.2.0", + "phpunit/phpunit": "^9" }, + "bin": [ + "bin/homestead" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Laravel\\Homestead\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Taylor Otwell", + "email": "taylor@laravel.com" } ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "time": "2020-09-28T06:45:17+00:00" + "description": "A virtual machine for web artisans.", + "support": { + "issues": "https://github.com/laravel/homestead/issues", + "source": "https://github.com/laravel/homestead/tree/v11.4.0" + }, + "time": "2020-11-24T17:59:52+00:00" }, { - "name": "sebastian/type", - "version": "2.3.1", + "name": "mockery/mockery", + "version": "1.4.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" + "url": "https://github.com/mockery/mockery.git", + "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", - "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "url": "https://api.github.com/repos/mockery/mockery/zipball/d1339f64479af1bee0e82a0413813fe5345a54ea", + "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea", "shasum": "" }, "require": { - "php": ">=7.3" + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": "^7.3 || ^8.0" + }, + "conflict": { + "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^8.5 || ^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.3-dev" + "dev-master": "1.4.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-0": { + "Mockery": "library/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -8920,57 +10486,123 @@ ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "http://blog.astrumfutura.com" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "http://davedevelopment.co.uk" } ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "time": "2020-10-26T13:18:59+00:00" + "description": "Mockery is a simple yet flexible PHP mock object framework", + "homepage": "https://github.com/mockery/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "support": { + "issues": "https://github.com/mockery/mockery/issues", + "source": "https://github.com/mockery/mockery/tree/1.4.3" + }, + "time": "2021-02-24T09:51:49+00:00" }, { - "name": "sebastian/version", - "version": "3.0.2", + "name": "nunomaduro/collision", + "version": "v5.4.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" + "url": "https://github.com/nunomaduro/collision.git", + "reference": "41b7e9999133d5082700d31a1d0977161df8322a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/41b7e9999133d5082700d31a1d0977161df8322a", + "reference": "41b7e9999133d5082700d31a1d0977161df8322a", "shasum": "" }, "require": { - "php": ">=7.3" + "facade/ignition-contracts": "^1.0", + "filp/whoops": "^2.7.2", + "php": "^7.3 || ^8.0", + "symfony/console": "^5.0" + }, + "require-dev": { + "brianium/paratest": "^6.1", + "fideloper/proxy": "^4.4.1", + "friendsofphp/php-cs-fixer": "^2.17.3", + "fruitcake/laravel-cors": "^2.0.3", + "laravel/framework": "^9.0", + "nunomaduro/larastan": "^0.6.2", + "nunomaduro/mock-final-classes": "^1.0", + "orchestra/testbench": "^7.0", + "phpstan/phpstan": "^0.12.64", + "phpunit/phpunit": "^9.5.0" }, "type": "library", "extra": { - "branch-alias": { - "dev-master": "3.0-dev" + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "time": "2020-09-28T06:39:44+00:00" + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2021-04-09T13:38:32+00:00" }, { "name": "seld/jsonlint", @@ -9019,6 +10651,20 @@ "parser", "validator" ], + "support": { + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.8.3" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", + "type": "tidelift" + } + ], "time": "2020-11-11T09:19:24+00:00" }, { @@ -9063,20 +10709,24 @@ "keywords": [ "phar" ], + "support": { + "issues": "https://github.com/Seldaek/phar-utils/issues", + "source": "https://github.com/Seldaek/phar-utils/tree/master" + }, "time": "2020-07-07T18:42:57+00:00" }, { "name": "symfony/filesystem", - "version": "v5.2.6", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "8c86a82f51658188119e62cff0a050a12d09836f" + "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/8c86a82f51658188119e62cff0a050a12d09836f", - "reference": "8c86a82f51658188119e62cff0a050a12d09836f", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/056e92acc21d977c37e6ea8e97374b2a6c8551b0", + "reference": "056e92acc21d977c37e6ea8e97374b2a6c8551b0", "shasum": "" }, "require": { @@ -9108,20 +10758,37 @@ ], "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", - "time": "2021-03-28T14:30:26+00:00" + "support": { + "source": "https://github.com/symfony/filesystem/tree/v5.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-01T10:42:13+00:00" }, { "name": "symfony/yaml", - "version": "v5.2.5", + "version": "v5.2.7", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "298a08ddda623485208506fcee08817807a251dd" + "reference": "76546cbeddd0a9540b4e4e57eddeec3e9bb444a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/298a08ddda623485208506fcee08817807a251dd", - "reference": "298a08ddda623485208506fcee08817807a251dd", + "url": "https://api.github.com/repos/symfony/yaml/zipball/76546cbeddd0a9540b4e4e57eddeec3e9bb444a5", + "reference": "76546cbeddd0a9540b4e4e57eddeec3e9bb444a5", "shasum": "" }, "require": { @@ -9166,47 +10833,24 @@ ], "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", - "time": "2021-03-06T07:59:01+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "75a63c33a8577608444246075ea0af0d052e452a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", - "reference": "75a63c33a8577608444246075ea0af0d052e452a", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] + "support": { + "source": "https://github.com/symfony/yaml/tree/v5.2.7" }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ + "funding": [ { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2020-07-12T23:59:07+00:00" + "time": "2021-04-29T20:47:09+00:00" } ], "aliases": [], @@ -9215,9 +10859,10 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": "^7.3.26", + "php": "^8.0", "ext-curl": "*", "ext-json": "*" }, - "platform-dev": [] + "platform-dev": [], + "plugin-api-version": "2.0.0" } diff --git a/database/migrations/2021_01_01_164127_create_categories_table.php b/database/migrations/2020_06_21_235133_create_categories_table.php similarity index 100% rename from database/migrations/2021_01_01_164127_create_categories_table.php rename to database/migrations/2020_06_21_235133_create_categories_table.php diff --git a/database/migrations/2020_06_21_235134_create_collections_table.php b/database/migrations/2020_06_21_235134_create_collections_table.php index 8f66a92b..fd580de4 100644 --- a/database/migrations/2020_06_21_235134_create_collections_table.php +++ b/database/migrations/2020_06_21_235134_create_collections_table.php @@ -14,12 +14,12 @@ class CreateCollectionsTable extends Migration public function up() { Schema::create('collections', function (Blueprint $table) { - $table->id(); - $table->integer('category_id')->unsigned(); - $table->integer('order')->unsigned()->unique(); - $table->string('name'); - $table->string('alias')->unique(); - $table->string('model'); + $table->id(); + $table->foreignId('category_id')->constrained(); + $table->integer('order')->unsigned()->unique(); + $table->string('name')->unique(); + $table->string('slug'); + $table->string('model'); }); /** @@ -37,413 +37,413 @@ public function up() DB::table('collections')->insert( [ [ - "category_id" => 2, - "order" => 1, - "name" => "abyssal sire", - "alias" => "Abyssal Sire", - "model" => "App\Boss\AbyssalSire" + 'category_id' => 2, + 'order' => 1, + 'name' => 'Abyssal Sire', + 'slug' => 'abyssal-sire', + 'model' => 'App\Boss\AbyssalSire' ], [ - "category_id" => 2, - "order" => 2, - "name" => "alchemical hydra", - "alias" => "Alchemical Hydra", - "model" => "App\Boss\AlchemicalHydra" + 'category_id' => 2, + 'order' => 2, + 'name' => 'Alchemical Hydra', + 'slug' => 'alchemical-hydra', + 'model' => 'App\Boss\AlchemicalHydra' ], [ - "category_id" => 2, - "order" => 3, - "name" => "barrows chests", - "alias" => "Barrows Chests", - "model" => "App\Boss\BarrowsChests" + 'category_id' => 2, + 'order' => 3, + 'name' => 'Barrows Chests', + 'slug' => 'barrows-chests', + 'model' => 'App\Boss\BarrowsChests' ], [ - "category_id" => 2, - "order" => 4, - "name" => "bryophyta", - "alias" => "Bryophyta", - "model" => "App\Boss\Bryophyta" + 'category_id' => 2, + 'order' => 4, + 'name' => 'Bryophyta', + 'slug' => 'bryophyta', + 'model' => 'App\Boss\Bryophyta' ], [ - "category_id" => 2, - "order" => 5, - "name" => "callisto", - "alias" => "Callisto", - "model" => "App\Boss\Callisto" + 'category_id' => 2, + 'order' => 5, + 'name' => 'Callisto', + 'slug' => 'callisto', + 'model' => 'App\Boss\Callisto' ], [ - "category_id" => 2, - "order" => 6, - "name" => "cerberus", - "alias" => "Cerberus", - "model" => "App\Boss\Cerberus" + 'category_id' => 2, + 'order' => 6, + 'name' => 'Cerberus', + 'slug' => 'cerberus', + 'model' => 'App\Boss\Cerberus' ], [ - "category_id" => 3, - "order" => 7, - "name" => "chambers of xeric", - "alias" => "Chambers of Xeric", - "model" => "App\Raid\ChambersOfXeric" + 'category_id' => 3, + 'order' => 7, + 'name' => 'Chambers of Xeric', + 'slug' => 'chambers-of-xeric', + 'model' => 'App\Raid\ChambersOfXeric' ], [ - "category_id" => 3, - "order" => 8, - "name" => "chambers of xeric challenge mode", - "alias" => "CoX: Challenge Mode", - "model" => "App\Raid\ChambersOfXericChallengeMode" + 'category_id' => 3, + 'order' => 8, + 'name' => 'CoX: Challenge Mode', + 'slug' => 'chambers-of-xeric-challenge-mode', + 'model' => 'App\Raid\ChambersOfXericChallengeMode' ], [ - "category_id" => 2, - "order" => 9, - "name" => "chaos elemental", - "alias" => "Chaos Elemental", - "model" => "App\Boss\ChaosElemental" + 'category_id' => 2, + 'order' => 9, + 'name' => 'Chaos Elemental', + 'slug' => 'chaos-elemental', + 'model' => 'App\Boss\ChaosElemental' ], [ - "category_id" => 2, - "order" => 10, - "name" => "chaos fanatic", - "alias" => "Chaos Fanatic", - "model" => "App\Boss\ChaosFanatic" + 'category_id' => 2, + 'order' => 10, + 'name' => 'Chaos Fanatic', + 'slug' => 'chaos-fanatic', + 'model' => 'App\Boss\ChaosFanatic' ], [ - "category_id" => 2, - "order" => 11, - "name" => "commander zilyana", - "alias" => "Commander Zilyana", - "model" => "App\Boss\CommanderZilyana" + 'category_id' => 2, + 'order' => 11, + 'name' => 'Commander Zilyana', + 'slug' => 'commander-zilyana', + 'model' => 'App\Boss\CommanderZilyana' ], [ - "category_id" => 2, - "order" => 12, - "name" => "corporeal beast", - "alias" => "Corporeal Beast", - "model" => "App\Boss\CorporealBeast" + 'category_id' => 2, + 'order' => 12, + 'name' => 'Corporeal Beast', + 'slug' => 'corporeal-beast', + 'model' => 'App\Boss\CorporealBeast' ], [ - "category_id" => 2, - "order" => 13, - "name" => "crazy archaeologist", - "alias" => "Crazy Archaeologist", - "model" => "App\Boss\CrazyArchaeologist" + 'category_id' => 2, + 'order' => 13, + 'name' => 'Crazy Archaeologist', + 'slug' => 'crazy-archaeologist', + 'model' => 'App\Boss\CrazyArchaeologist' ], [ - "category_id" => 2, - "order" => 14, - "name" => "dagannoth kings", - "alias" => "Dagannoth Kings", - "model" => "App\Boss\DagannothKings" + 'category_id' => 2, + 'order' => 14, + 'name' => 'Dagannoth Kings', + 'slug' => 'dagannoth-kings', + 'model' => 'App\Boss\DagannothKings' ], [ - "category_id" => 2, - "order" => 15, - "name" => "dagannoth prime", - "alias" => "Dagannoth Prime", - "model" => "App\Boss\DagannothPrime" + 'category_id' => 2, + 'order' => 15, + 'name' => 'Dagannoth Prime', + 'slug' => 'dagannoth-prime', + 'model' => 'App\Boss\DagannothPrime' ], [ - "category_id" => 2, - "order" => 16, - "name" => "dagannoth rex", - "alias" => "Dagannoth Rex", - "model" => "App\Boss\DagannothRex" + 'category_id' => 2, + 'order' => 16, + 'name' => 'Dagannoth Rex', + 'slug' => 'dagannoth-rex', + 'model' => 'App\Boss\DagannothRex' ], [ - "category_id" => 2, - "order" => 17, - "name" => "dagannoth supreme", - "alias" => "Dagannoth Surpeme", - "model" => "App\Boss\DagannothSupreme" + 'category_id' => 2, + 'order' => 17, + 'name' => 'Dagannoth Supreme', + 'slug' => 'dagannoth-supreme', + 'model' => 'App\Boss\DagannothSupreme' ], [ - "category_id" => 2, - "order" => 18, - "name" => "deranged archaeologist", - "alias" => "Deranged Archaeologist", - "model" => "App\Boss\DerangedArchaeologist" + 'category_id' => 2, + 'order' => 18, + 'name' => 'Deranged Archaeologist', + 'slug' => 'deranged-archaeologist', + 'model' => 'App\Boss\DerangedArchaeologist' ], [ - "category_id" => 2, - "order" => 19, - "name" => "general graardor", - "alias" => "General Graardor", - "model" => "App\Boss\GeneralGraardor" + 'category_id' => 2, + 'order' => 19, + 'name' => 'General Graardor', + 'slug' => 'general-graardor', + 'model' => 'App\Boss\GeneralGraardor' ], [ - "category_id" => 2, - "order" => 20, - "name" => "giant mole", - "alias" => "Giant Mole", - "model" => "App\Boss\GiantMole" + 'category_id' => 2, + 'order' => 20, + 'name' => 'Giant Mole', + 'slug' => 'giant-mole', + 'model' => 'App\Boss\GiantMole' ], [ - "category_id" => 2, - "order" => 21, - "name" => "grotesque guardians", - "alias" => "Grotesque Guardians", - "model" => "App\Boss\GrotesqueGuardians" + 'category_id' => 2, + 'order' => 21, + 'name' => 'Grotesque Guardians', + 'slug' => 'grotesque-guardians', + 'model' => 'App\Boss\GrotesqueGuardians' ], [ - "category_id" => 2, - "order" => 22, - "name" => "hespori", - "alias" => "Hespori", - "model" => "App\Boss\Hespori" + 'category_id' => 2, + 'order' => 22, + 'name' => 'Hespori', + 'slug' => 'hespori', + 'model' => 'App\Boss\Hespori' ], [ - "category_id" => 2, - "order" => 23, - "name" => "kalphite queen", - "alias" => "Kalphite Queen", - "model" => "App\Boss\KalphiteQueen" + 'category_id' => 2, + 'order' => 23, + 'name' => 'Kalphite Queen', + 'slug' => 'kalphite-queen', + 'model' => 'App\Boss\KalphiteQueen' ], [ - "category_id" => 2, - "order" => 24, - "name" => "king black dragon", - "alias" => "King Black Dragon", - "model" => "App\Boss\KingBlackDragon" + 'category_id' => 2, + 'order' => 24, + 'name' => 'King Black Dragon', + 'slug' => 'king-black-dragon', + 'model' => 'App\Boss\KingBlackDragon' ], [ - "category_id" => 2, - "order" => 25, - "name" => "kraken", - "alias" => "Kraken", - "model" => "App\Boss\Kraken" + 'category_id' => 2, + 'order' => 25, + 'name' => 'Kraken', + 'slug' => 'kraken', + 'model' => 'App\Boss\Kraken' ], [ - "category_id" => 2, - "order" => 26, - "name" => "kreearra", - "alias" => "Kree'arra", - "model" => "App\Boss\KreeArra" + 'category_id' => 2, + 'order' => 26, + 'name' => "Kree'arra", + 'slug' => 'kreearra', + 'model' => 'App\Boss\KreeArra' ], [ - "category_id" => 2, - "order" => 27, - "name" => "kril tsutsaroth", - "alias" => "K'ril Tsutsaroth", - "model" => "App\Boss\KrilTsutsaroth" + 'category_id' => 2, + 'order' => 27, + 'name' => "K'ril Tsutsaroth", + 'slug' => 'kril-tsutsaroth', + 'model' => 'App\Boss\KrilTsutsaroth' ], [ - "category_id" => 2, - "order" => 28, - "name" => "mimic", - "alias" => "Mimic", - "model" => "App\Boss\Mimic" + 'category_id' => 2, + 'order' => 28, + 'name' => 'Mimic', + 'slug' => 'mimic', + 'model' => 'App\Boss\Mimic' ], [ - "category_id" => 2, - "order" => 29, - "name" => "the nightmare", - "alias" => "Nightmare", - "model" => "App\Boss\TheNightmare" + 'category_id' => 2, + 'order' => 29, + 'name' => 'Nightmare', + 'slug' => 'nightmare', + 'model' => 'App\Boss\Nightmare' ], [ - "category_id" => 2, - "order" => 30, - "name" => "the nightmare", - "alias" => "The Nightmare", - "model" => "App\Boss\TheNightmare" + 'category_id' => 2, + 'order' => 30, + 'name' => 'The Nightmare', + 'slug' => 'nightmare', + 'model' => 'App\Boss\Nightmare' ], [ - "category_id" => 2, - "order" => 31, - "name" => "obor", - "alias" => "Obor", - "model" => "App\Boss\Obor" + 'category_id' => 2, + 'order' => 31, + 'name' => 'Obor', + 'slug' => 'obor', + 'model' => 'App\Boss\Obor' ], [ - "category_id" => 2, - "order" => 32, - "name" => "sarachnis", - "alias" => "Sarachnis", - "model" => "App\Boss\Sarachnis" + 'category_id' => 2, + 'order' => 32, + 'name' => 'Sarachnis', + 'slug' => 'sarachnis', + 'model' => 'App\Boss\Sarachnis' ], [ - "category_id" => 2, - "order" => 33, - "name" => "scorpia", - "alias" => "Scorpia", - "model" => "App\Boss\Scorpia" + 'category_id' => 2, + 'order' => 33, + 'name' => 'Scorpia', + 'slug' => 'scorpia', + 'model' => 'App\Boss\Scorpia' ], [ - "category_id" => 2, - "order" => 34, - "name" => "skotizo", - "alias" => "Skotizo", - "model" => "App\Boss\Skotizo" + 'category_id' => 2, + 'order' => 34, + 'name' => 'Skotizo', + 'slug' => 'skotizo', + 'model' => 'App\Boss\Skotizo' ], [ - "category_id" => 2, - "order" => 35, - "name" => "tempoross", - "alias" => "Tempoross", - "model" => "App\Boss\Tempoross" + 'category_id' => 2, + 'order' => 35, + 'name' => 'Tempoross', + 'slug' => 'tempoross', + 'model' => 'App\Boss\Tempoross' ], [ - "category_id" => 2, - "order" => 36, - "name" => "the gauntlet", - "alias" => "The Gauntlet", - "model" => "App\Boss\TheGauntlet" + 'category_id' => 2, + 'order' => 36, + 'name' => 'The Gauntlet', + 'slug' => 'the-gauntlet', + 'model' => 'App\Boss\TheGauntlet' ], [ - "category_id" => 2, - "order" => 37, - "name" => "the corrupted gauntlet", - "alias" => "The Corrupted Gauntlet", - "model" => "App\Boss\TheCorruptedGauntlet" + 'category_id' => 2, + 'order' => 37, + 'name' => 'The Corrupted Gauntlet', + 'slug' => 'the-corrupted-gauntlet', + 'model' => 'App\Boss\TheCorruptedGauntlet' ], [ - "category_id" => 3, - "order" => 38, - "name" => "theatre of blood", - "alias" => "Theatre of Blood", - "model" => "App\Raid\TheatreOfBlood" + 'category_id' => 3, + 'order' => 38, + 'name' => 'Theatre of Blood', + 'slug' => 'theatre-of-blood', + 'model' => 'App\Raid\TheatreOfBlood' ], [ - "category_id" => 2, - "order" => 39, - "name" => "thermonuclear smoke devil", - "alias" => "Thermonuclear Smoke Devil", - "model" => "App\Boss\ThermonuclearSmokeDevil" + 'category_id' => 2, + 'order' => 39, + 'name' => 'Thermonuclear Smoke Devil', + 'slug' => 'thermonuclear-smoke-devil', + 'model' => 'App\Boss\ThermonuclearSmokeDevil' ], [ - "category_id" => 2, - "order" => 40, - "name" => "the inferno", - "alias" => "The Inferno", - "model" => "App\Boss\TheInferno" + 'category_id' => 2, + 'order' => 40, + 'name' => 'TzKal-Zuk', + 'slug' => 'tzkal-zuk', + 'model' => 'App\Boss\TzKalZuk' ], [ - "category_id" => 2, - "order" => 41, - "name" => "the inferno", - "alias" => "TzKal-Zuk", - "model" => "App\Boss\TheInferno" + 'category_id' => 2, + 'order' => 41, + 'name' => 'The Inferno', + 'slug' => 'tzkal-zuk', + 'model' => 'App\Boss\TzKalZuk' ], [ - "category_id" => 2, - "order" => 42, - "name" => "the fight caves", - "alias" => "The Fight Caves", - "model" => "App\Boss\TheFightCaves" + 'category_id' => 2, + 'order' => 42, + 'name' => 'TzTok-Jad', + 'slug' => 'tztok-jad', + 'model' => 'App\Boss\TzTokJad' ], [ - "category_id" => 2, - "order" => 43, - "name" => "the fight caves", - "alias" => "TzTok-Jad", - "model" => "App\Boss\TheFightCaves" + 'category_id' => 2, + 'order' => 43, + 'name' => 'The Fight Caves', + 'slug' => 'tztok-jad', + 'model' => 'App\Boss\TzTokJad' ], [ - "category_id" => 2, - "order" => 44, - "name" => "venenatis", - "alias" => "Venenatis", - "model" => "App\Boss\Venenatis" + 'category_id' => 2, + 'order' => 44, + 'name' => 'Venenatis', + 'slug' => 'venenatis', + 'model' => 'App\Boss\Venenatis' ], [ - "category_id" => 2, - "order" => 45, - "name" => "vetion", - "alias" => "Vet'ion", - "model" => "App\Boss\Vetion" + 'category_id' => 2, + 'order' => 45, + 'name' => "Vet'ion", + 'slug' => 'vetion', + 'model' => 'App\Boss\VetIon' ], [ - "category_id" => 2, - "order" => 46, - "name" => "vetion", - "alias" => "Vet'ion Reborn", - "model" => "App\Boss\Vetion" + 'category_id' => 2, + 'order' => 46, + 'name' => "Vet'ion Reborn", + 'slug' => 'vetion', + 'model' => 'App\Boss\Vetion' ], [ - "category_id" => 2, - "order" => 47, - "name" => "vorkath", - "alias" => "Vorkath", - "model" => "App\Boss\Vorkath" + 'category_id' => 2, + 'order' => 47, + 'name' => 'Vorkath', + 'slug' => 'vorkath', + 'model' => 'App\Boss\Vorkath' ], [ - "category_id" => 2, - "order" => 48, - "name" => "wintertodt", - "alias" => "Wintertodt", - "model" => "App\Boss\Wintertodt" + 'category_id' => 2, + 'order' => 48, + 'name' => 'Wintertodt', + 'slug' => 'wintertodt', + 'model' => 'App\Boss\Wintertodt' ], [ - "category_id" => 2, - "order" => 49, - "name" => "zalcano", - "alias" => "Zalcano", - "model" => "App\Boss\Zalcano" + 'category_id' => 2, + 'order' => 49, + 'name' => 'Zalcano', + 'slug' => 'zalcano', + 'model' => 'App\Boss\Zalcano' ], [ - "category_id" => 2, - "order" => 50, - "name" => "zulrah", - "alias" => "Zulrah", - "model" => "App\Boss\Zulrah" + 'category_id' => 2, + 'order' => 50, + 'name' => 'Zulrah', + 'slug' => 'zulrah', + 'model' => 'App\Boss\Zulrah' ], [ - "category_id" => 5, - "order" => 51, - "name" => "all treasure trails", - "alias" => "All Treasure Trails", - "model" => "App\Clues\AllTreasureTrails" + 'category_id' => 5, + 'order' => 51, + 'name' => 'All Treasure Trails', + 'slug' => 'all-treasure-trails', + 'model' => 'App\Clues\AllTreasureTrails' ], [ - "category_id" => 5, - "order" => 52, - "name" => "beginner treasure trails", - "alias" => "Clue scroll (beginner)", - "model" => "App\Clues\BeginnerTreasureTrails" + 'category_id' => 5, + 'order' => 52, + 'name' => 'Clue scroll (beginner)', + 'slug' => 'beginner-treasure-trails', + 'model' => 'App\Clues\BeginnerTreasureTrails' ], [ - "category_id" => 5, - "order" => 53, - "name" => "easy treasure trails", - "alias" => "Clue scroll (easy)", - "model" => "App\Clues\EasyTreasureTrails" + 'category_id' => 5, + 'order' => 53, + 'name' => 'Clue scroll (easy)', + 'slug' => 'easy-treasure-trails', + 'model' => 'App\Clues\EasyTreasureTrails' ], [ - "category_id" => 5, - "order" => 54, - "name" => "medium treasure trails", - "alias" => "Clue scroll (medium)", - "model" => "App\Clues\MediumTreasureTrails" + 'category_id' => 5, + 'order' => 54, + 'name' => 'Clue scroll (medium)', + 'slug' => 'medium-treasure-trails', + 'model' => 'App\Clues\MediumTreasureTrails' ], [ - "category_id" => 5, - "order" => 55, - "name" => "hard treasure trails", - "alias" => "Clue scroll (hard)", - "model" => "App\Clues\HardTreasureTrails" + 'category_id' => 5, + 'order' => 55, + 'name' => 'Clue scroll (hard)', + 'slug' => 'hard-treasure-trails', + 'model' => 'App\Clues\HardTreasureTrails' ], [ - "category_id" => 5, - "order" => 56, - "name" => "elite treasure trails", - "alias" => "Clue scroll (elite)", - "model" => "App\Clues\EliteTreasureTrails" + 'category_id' => 5, + 'order' => 56, + 'name' => 'Clue scroll (elite)', + 'slug' => 'elite-treasure-trails', + 'model' => 'App\Clues\EliteTreasureTrails' ], [ - "category_id" => 5, - "order" => 57, - "name" => "master treasure trails", - "alias" => "Clue scroll (master)", - "model" => "App\Clues\MasterTreasureTrails" + 'category_id' => 5, + 'order' => 57, + 'name' => 'Clue scroll (master)', + 'slug' => 'master-treasure-trails', + 'model' => 'App\Clues\MasterTreasureTrails' ], [ // TODO remove later - "category_id" => 4, - "order" => 58, - "name" => "goblin", - "alias" => "Goblin", - "model" => "App\Npc\Goblin" + 'category_id' => 4, + 'order' => 58, + 'name' => 'Goblin', + 'slug' => 'goblin', + 'model' => 'App\Npc\Goblin' ] ] ); diff --git a/database/migrations/2020_08_14_225333_create_accounts_table.php b/database/migrations/2020_08_03_225333_create_accounts_table.php similarity index 94% rename from database/migrations/2020_08_14_225333_create_accounts_table.php rename to database/migrations/2020_08_03_225333_create_accounts_table.php index 2b8d3b80..b4d99322 100644 --- a/database/migrations/2020_08_14_225333_create_accounts_table.php +++ b/database/migrations/2020_08_03_225333_create_accounts_table.php @@ -16,7 +16,7 @@ public function up() { Schema::create('accounts', function (Blueprint $table) { $table->id(); - $table->integer('user_id')->unsigned(); + $table->foreignId('user_id')->constrained(); $table->enum('account_type', Helper::listAccountTypes()); $table->string('username', 13)->unique(); $table->integer('rank')->default(0); diff --git a/database/migrations/2020_09_01_093912_create_account_auth_statuses_table.php b/database/migrations/2020_08_03_225334_create_account_auth_statuses_table.php similarity index 93% rename from database/migrations/2020_09_01_093912_create_account_auth_statuses_table.php rename to database/migrations/2020_08_03_225334_create_account_auth_statuses_table.php index c1e75ed3..0321605e 100644 --- a/database/migrations/2020_09_01_093912_create_account_auth_statuses_table.php +++ b/database/migrations/2020_08_03_225334_create_account_auth_statuses_table.php @@ -16,7 +16,7 @@ public function up() { Schema::create('account_auth_statuses', function (Blueprint $table) { $table->id(); - $table->integer('user_id')->unsigned(); + $table->foreignId('user_id')->constrained(); $table->enum('account_type', Helper::listAccountTypes()); $table->string('username', 13); $table->string('code', 8); diff --git a/database/migrations/2020_08_03_230720_create_abyssal_sire_table.php b/database/migrations/2020_08_03_230720_create_abyssal_sire_table.php index fdfb5c53..39eac62f 100644 --- a/database/migrations/2020_08_03_230720_create_abyssal_sire_table.php +++ b/database/migrations/2020_08_03_230720_create_abyssal_sire_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('abyssal_sire', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230721_create_alchemical_hydra_table.php b/database/migrations/2020_08_03_230721_create_alchemical_hydra_table.php index 9a4f6a15..00feb66c 100644 --- a/database/migrations/2020_08_03_230721_create_alchemical_hydra_table.php +++ b/database/migrations/2020_08_03_230721_create_alchemical_hydra_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('alchemical_hydra', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230721_create_barrows_chests_table.php b/database/migrations/2020_08_03_230722_create_barrows_chests_table.php similarity index 97% rename from database/migrations/2020_08_03_230721_create_barrows_chests_table.php rename to database/migrations/2020_08_03_230722_create_barrows_chests_table.php index 498c69a6..e5571c10 100644 --- a/database/migrations/2020_08_03_230721_create_barrows_chests_table.php +++ b/database/migrations/2020_08_03_230722_create_barrows_chests_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('barrows_chests', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230721_create_bryophyta_table.php b/database/migrations/2020_08_03_230723_create_bryophyta_table.php similarity index 92% rename from database/migrations/2020_08_03_230721_create_bryophyta_table.php rename to database/migrations/2020_08_03_230723_create_bryophyta_table.php index 4471996a..405ab394 100644 --- a/database/migrations/2020_08_03_230721_create_bryophyta_table.php +++ b/database/migrations/2020_08_03_230723_create_bryophyta_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('bryophyta', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230721_create_callisto_table.php b/database/migrations/2020_08_03_230724_create_callisto_table.php similarity index 94% rename from database/migrations/2020_08_03_230721_create_callisto_table.php rename to database/migrations/2020_08_03_230724_create_callisto_table.php index d3c164c8..df689638 100644 --- a/database/migrations/2020_08_03_230721_create_callisto_table.php +++ b/database/migrations/2020_08_03_230724_create_callisto_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('callisto', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230721_create_cerberus_table.php b/database/migrations/2020_08_03_230725_create_cerberus_table.php similarity index 95% rename from database/migrations/2020_08_03_230721_create_cerberus_table.php rename to database/migrations/2020_08_03_230725_create_cerberus_table.php index 7d01e479..be4f8685 100644 --- a/database/migrations/2020_08_03_230721_create_cerberus_table.php +++ b/database/migrations/2020_08_03_230725_create_cerberus_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('cerberus', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_21_164442_create_chambers_of_xeric_table.php b/database/migrations/2020_08_03_230726_create_chambers_of_xeric_table.php similarity index 97% rename from database/migrations/2020_08_21_164442_create_chambers_of_xeric_table.php rename to database/migrations/2020_08_03_230726_create_chambers_of_xeric_table.php index ebaa054a..afe74376 100644 --- a/database/migrations/2020_08_21_164442_create_chambers_of_xeric_table.php +++ b/database/migrations/2020_08_03_230726_create_chambers_of_xeric_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('chambers_of_xeric', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_21_222717_create_chambers_of_xeric_challenge_mode_table.php b/database/migrations/2020_08_03_230727_create_chambers_of_xeric_challenge_mode_table.php similarity index 92% rename from database/migrations/2020_08_21_222717_create_chambers_of_xeric_challenge_mode_table.php rename to database/migrations/2020_08_03_230727_create_chambers_of_xeric_challenge_mode_table.php index 5a360b03..ef85e232 100644 --- a/database/migrations/2020_08_21_222717_create_chambers_of_xeric_challenge_mode_table.php +++ b/database/migrations/2020_08_03_230727_create_chambers_of_xeric_challenge_mode_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('chambers_of_xeric_challenge_mode', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->timestamps(); diff --git a/database/migrations/2020_08_03_230722_create_chaos_elemental_table.php b/database/migrations/2020_08_03_230728_create_chaos_elemental_table.php similarity index 93% rename from database/migrations/2020_08_03_230722_create_chaos_elemental_table.php rename to database/migrations/2020_08_03_230728_create_chaos_elemental_table.php index 90748f50..a28f3f2c 100644 --- a/database/migrations/2020_08_03_230722_create_chaos_elemental_table.php +++ b/database/migrations/2020_08_03_230728_create_chaos_elemental_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('chaos_elemental', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230722_create_chaos_fanatic_table.php b/database/migrations/2020_08_03_230729_create_chaos_fanatic_table.php similarity index 93% rename from database/migrations/2020_08_03_230722_create_chaos_fanatic_table.php rename to database/migrations/2020_08_03_230729_create_chaos_fanatic_table.php index eed2fbd2..9a3a6e33 100644 --- a/database/migrations/2020_08_03_230722_create_chaos_fanatic_table.php +++ b/database/migrations/2020_08_03_230729_create_chaos_fanatic_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('chaos_fanatic', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230722_create_commander_zilyana_table.php b/database/migrations/2020_08_03_230730_create_commander_zilyana_table.php similarity index 95% rename from database/migrations/2020_08_03_230722_create_commander_zilyana_table.php rename to database/migrations/2020_08_03_230730_create_commander_zilyana_table.php index d64757d1..e02f8dbe 100644 --- a/database/migrations/2020_08_03_230722_create_commander_zilyana_table.php +++ b/database/migrations/2020_08_03_230730_create_commander_zilyana_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('commander_zilyana', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230722_create_corporeal_beast_table.php b/database/migrations/2020_08_03_230731_create_corporeal_beast_table.php similarity index 94% rename from database/migrations/2020_08_03_230722_create_corporeal_beast_table.php rename to database/migrations/2020_08_03_230731_create_corporeal_beast_table.php index 8cc45f14..70697c72 100644 --- a/database/migrations/2020_08_03_230722_create_corporeal_beast_table.php +++ b/database/migrations/2020_08_03_230731_create_corporeal_beast_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('corporeal_beast', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230722_create_crazy_archaeologist_table.php b/database/migrations/2020_08_03_230732_create_crazy_archaeologist_table.php similarity index 93% rename from database/migrations/2020_08_03_230722_create_crazy_archaeologist_table.php rename to database/migrations/2020_08_03_230732_create_crazy_archaeologist_table.php index 2ec69fb3..a08df4f6 100644 --- a/database/migrations/2020_08_03_230722_create_crazy_archaeologist_table.php +++ b/database/migrations/2020_08_03_230732_create_crazy_archaeologist_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('crazy_archaeologist', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_21_220215_create_dagannoth_prime_table.php b/database/migrations/2020_08_03_230733_create_dagannoth_prime_table.php similarity index 91% rename from database/migrations/2020_08_21_220215_create_dagannoth_prime_table.php rename to database/migrations/2020_08_03_230733_create_dagannoth_prime_table.php index e106757e..11c69c4a 100644 --- a/database/migrations/2020_08_21_220215_create_dagannoth_prime_table.php +++ b/database/migrations/2020_08_03_230733_create_dagannoth_prime_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('dagannoth_prime', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->timestamps(); diff --git a/database/migrations/2020_08_21_220224_create_dagannoth_rex_table.php b/database/migrations/2020_08_03_230734_create_dagannoth_rex_table.php similarity index 91% rename from database/migrations/2020_08_21_220224_create_dagannoth_rex_table.php rename to database/migrations/2020_08_03_230734_create_dagannoth_rex_table.php index 8dafb30b..d3df7328 100644 --- a/database/migrations/2020_08_21_220224_create_dagannoth_rex_table.php +++ b/database/migrations/2020_08_03_230734_create_dagannoth_rex_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('dagannoth_rex', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->timestamps(); diff --git a/database/migrations/2020_08_21_220231_create_dagannoth_supreme_table.php b/database/migrations/2020_08_03_230735_create_dagannoth_supreme_table.php similarity index 91% rename from database/migrations/2020_08_21_220231_create_dagannoth_supreme_table.php rename to database/migrations/2020_08_03_230735_create_dagannoth_supreme_table.php index 89b74244..1dd4ca1e 100644 --- a/database/migrations/2020_08_21_220231_create_dagannoth_supreme_table.php +++ b/database/migrations/2020_08_03_230735_create_dagannoth_supreme_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('dagannoth_supreme', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->timestamps(); diff --git a/database/migrations/2020_08_21_221523_create_deranged_archaeologist_table.php b/database/migrations/2020_08_03_230736_create_deranged_archaeologist_table.php similarity index 92% rename from database/migrations/2020_08_21_221523_create_deranged_archaeologist_table.php rename to database/migrations/2020_08_03_230736_create_deranged_archaeologist_table.php index cf341eac..3baf489c 100644 --- a/database/migrations/2020_08_21_221523_create_deranged_archaeologist_table.php +++ b/database/migrations/2020_08_03_230736_create_deranged_archaeologist_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('deranged_archaeologist', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->timestamps(); diff --git a/database/migrations/2020_08_03_230723_create_general_graardor_table.php b/database/migrations/2020_08_03_230737_create_general_graardor_table.php similarity index 95% rename from database/migrations/2020_08_03_230723_create_general_graardor_table.php rename to database/migrations/2020_08_03_230737_create_general_graardor_table.php index e14f87cb..b84c0666 100644 --- a/database/migrations/2020_08_03_230723_create_general_graardor_table.php +++ b/database/migrations/2020_08_03_230737_create_general_graardor_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('general_graardor', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230723_create_giant_mole_table.php b/database/migrations/2020_08_03_230738_create_giant_mole_table.php similarity index 93% rename from database/migrations/2020_08_03_230723_create_giant_mole_table.php rename to database/migrations/2020_08_03_230738_create_giant_mole_table.php index 57aba5cd..ba72631d 100644 --- a/database/migrations/2020_08_03_230723_create_giant_mole_table.php +++ b/database/migrations/2020_08_03_230738_create_giant_mole_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('giant_mole', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230723_create_grotesque_guardians_table.php b/database/migrations/2020_08_03_230739_create_grotesque_guardians_table.php similarity index 95% rename from database/migrations/2020_08_03_230723_create_grotesque_guardians_table.php rename to database/migrations/2020_08_03_230739_create_grotesque_guardians_table.php index c265728b..e3fcdab0 100644 --- a/database/migrations/2020_08_03_230723_create_grotesque_guardians_table.php +++ b/database/migrations/2020_08_03_230739_create_grotesque_guardians_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('grotesque_guardians', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230724_create_hespori_table.php b/database/migrations/2020_08_03_230740_create_hespori_table.php similarity index 94% rename from database/migrations/2020_08_03_230724_create_hespori_table.php rename to database/migrations/2020_08_03_230740_create_hespori_table.php index 1c9aff1c..52aaaf70 100644 --- a/database/migrations/2020_08_03_230724_create_hespori_table.php +++ b/database/migrations/2020_08_03_230740_create_hespori_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('hespori', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230724_create_kalphite_queen_table.php b/database/migrations/2020_08_03_230741_create_kalphite_queen_table.php similarity index 94% rename from database/migrations/2020_08_03_230724_create_kalphite_queen_table.php rename to database/migrations/2020_08_03_230741_create_kalphite_queen_table.php index 0a68b923..d4643de4 100644 --- a/database/migrations/2020_08_03_230724_create_kalphite_queen_table.php +++ b/database/migrations/2020_08_03_230741_create_kalphite_queen_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('kalphite_queen', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230724_create_king_black_dragon_table.php b/database/migrations/2020_08_03_230742_create_king_black_dragon_table.php similarity index 94% rename from database/migrations/2020_08_03_230724_create_king_black_dragon_table.php rename to database/migrations/2020_08_03_230742_create_king_black_dragon_table.php index 5368a95a..3e0e5f46 100644 --- a/database/migrations/2020_08_03_230724_create_king_black_dragon_table.php +++ b/database/migrations/2020_08_03_230742_create_king_black_dragon_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('king_black_dragon', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230724_create_kraken_table.php b/database/migrations/2020_08_03_230743_create_kraken_table.php similarity index 94% rename from database/migrations/2020_08_03_230724_create_kraken_table.php rename to database/migrations/2020_08_03_230743_create_kraken_table.php index 9a00f616..ab3dc8dd 100644 --- a/database/migrations/2020_08_03_230724_create_kraken_table.php +++ b/database/migrations/2020_08_03_230743_create_kraken_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('kraken', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230724_create_kreearra_table.php b/database/migrations/2020_08_03_230744_create_kreearra_table.php similarity index 95% rename from database/migrations/2020_08_03_230724_create_kreearra_table.php rename to database/migrations/2020_08_03_230744_create_kreearra_table.php index 54890ea4..41c9644e 100644 --- a/database/migrations/2020_08_03_230724_create_kreearra_table.php +++ b/database/migrations/2020_08_03_230744_create_kreearra_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('kreearra', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230725_create_kril_tsutsaroth_table.php b/database/migrations/2020_08_03_230745_create_kril_tsutsaroth_table.php similarity index 95% rename from database/migrations/2020_08_03_230725_create_kril_tsutsaroth_table.php rename to database/migrations/2020_08_03_230745_create_kril_tsutsaroth_table.php index b75a188f..23bbf688 100644 --- a/database/migrations/2020_08_03_230725_create_kril_tsutsaroth_table.php +++ b/database/migrations/2020_08_03_230745_create_kril_tsutsaroth_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('kril_tsutsaroth', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_21_163454_create_mimic_table.php b/database/migrations/2020_08_03_230746_create_mimic_table.php similarity index 91% rename from database/migrations/2020_08_21_163454_create_mimic_table.php rename to database/migrations/2020_08_03_230746_create_mimic_table.php index c55ef68a..6d83f8c0 100644 --- a/database/migrations/2020_08_21_163454_create_mimic_table.php +++ b/database/migrations/2020_08_03_230746_create_mimic_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('mimic', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->timestamps(); diff --git a/database/migrations/2020_08_03_230726_create_the_nightmare_table.php b/database/migrations/2020_08_03_230747_create_nightmare_table.php similarity index 85% rename from database/migrations/2020_08_03_230726_create_the_nightmare_table.php rename to database/migrations/2020_08_03_230747_create_nightmare_table.php index c7c0c157..c2befbf8 100644 --- a/database/migrations/2020_08_03_230726_create_the_nightmare_table.php +++ b/database/migrations/2020_08_03_230747_create_nightmare_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateTheNightmareTable extends Migration +class CreateNightmareTable extends Migration { /** * Run the migrations. @@ -13,9 +13,9 @@ class CreateTheNightmareTable extends Migration */ public function up() { - Schema::create('the_nightmare', function (Blueprint $table) { + Schema::create('nightmare', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); @@ -40,6 +40,6 @@ public function up() */ public function down() { - Schema::dropIfExists('the_nightmare'); + Schema::dropIfExists('nightmare'); } } diff --git a/database/migrations/2020_08_03_230725_create_obor_table.php b/database/migrations/2020_08_03_230748_create_obor_table.php similarity index 92% rename from database/migrations/2020_08_03_230725_create_obor_table.php rename to database/migrations/2020_08_03_230748_create_obor_table.php index d0c420cd..90ea4729 100644 --- a/database/migrations/2020_08_03_230725_create_obor_table.php +++ b/database/migrations/2020_08_03_230748_create_obor_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('obor', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230725_create_sarachnis_table.php b/database/migrations/2020_08_03_230749_create_sarachnis_table.php similarity index 94% rename from database/migrations/2020_08_03_230725_create_sarachnis_table.php rename to database/migrations/2020_08_03_230749_create_sarachnis_table.php index afdaa4f6..68d7c98b 100644 --- a/database/migrations/2020_08_03_230725_create_sarachnis_table.php +++ b/database/migrations/2020_08_03_230749_create_sarachnis_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('sarachnis', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230725_create_scorpia_table.php b/database/migrations/2020_08_03_230750_create_scorpia_table.php similarity index 93% rename from database/migrations/2020_08_03_230725_create_scorpia_table.php rename to database/migrations/2020_08_03_230750_create_scorpia_table.php index 1fb7c9d5..3de335bb 100644 --- a/database/migrations/2020_08_03_230725_create_scorpia_table.php +++ b/database/migrations/2020_08_03_230750_create_scorpia_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('scorpia', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230726_create_skotizo_table.php b/database/migrations/2020_08_03_230751_create_skotizo_table.php similarity index 94% rename from database/migrations/2020_08_03_230726_create_skotizo_table.php rename to database/migrations/2020_08_03_230751_create_skotizo_table.php index 6f186eba..9384a6db 100644 --- a/database/migrations/2020_08_03_230726_create_skotizo_table.php +++ b/database/migrations/2020_08_03_230751_create_skotizo_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('skotizo', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2021_03_28_134356_create_temporosses_table.php b/database/migrations/2020_08_03_230752_create_tempoross_table.php similarity index 86% rename from database/migrations/2021_03_28_134356_create_temporosses_table.php rename to database/migrations/2020_08_03_230752_create_tempoross_table.php index 3f68d2ff..4dec18f6 100644 --- a/database/migrations/2021_03_28_134356_create_temporosses_table.php +++ b/database/migrations/2020_08_03_230752_create_tempoross_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateTemporossesTable extends Migration +class CreateTemporossTable extends Migration { /** * Run the migrations. @@ -15,7 +15,7 @@ public function up() { Schema::create('tempoross', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230726_create_the_gauntlet_table.php b/database/migrations/2020_08_03_230753_create_the_gauntlet_table.php similarity index 94% rename from database/migrations/2020_08_03_230726_create_the_gauntlet_table.php rename to database/migrations/2020_08_03_230753_create_the_gauntlet_table.php index fa46abab..0ae5c01c 100644 --- a/database/migrations/2020_08_03_230726_create_the_gauntlet_table.php +++ b/database/migrations/2020_08_03_230753_create_the_gauntlet_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('the_gauntlet', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_21_222733_create_the_corrupted_gauntlet_table.php b/database/migrations/2020_08_03_230754_create_the_corrupted_gauntlet_table.php similarity index 92% rename from database/migrations/2020_08_21_222733_create_the_corrupted_gauntlet_table.php rename to database/migrations/2020_08_03_230754_create_the_corrupted_gauntlet_table.php index eb8d2859..55996346 100644 --- a/database/migrations/2020_08_21_222733_create_the_corrupted_gauntlet_table.php +++ b/database/migrations/2020_08_03_230754_create_the_corrupted_gauntlet_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('the_corrupted_gauntlet', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->timestamps(); diff --git a/database/migrations/2020_08_21_164453_create_theatre_of_blood_table.php b/database/migrations/2020_08_03_230755_create_theatre_of_blood_table.php similarity index 96% rename from database/migrations/2020_08_21_164453_create_theatre_of_blood_table.php rename to database/migrations/2020_08_03_230755_create_theatre_of_blood_table.php index c52a29b1..921a66a0 100644 --- a/database/migrations/2020_08_21_164453_create_theatre_of_blood_table.php +++ b/database/migrations/2020_08_03_230755_create_theatre_of_blood_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('theatre_of_blood', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230727_create_thermonuclear_smoke_devil_table.php b/database/migrations/2020_08_03_230756_create_thermonuclear_smoke_devil_table.php similarity index 94% rename from database/migrations/2020_08_03_230727_create_thermonuclear_smoke_devil_table.php rename to database/migrations/2020_08_03_230756_create_thermonuclear_smoke_devil_table.php index a10b9052..d7cc8f4e 100644 --- a/database/migrations/2020_08_03_230727_create_thermonuclear_smoke_devil_table.php +++ b/database/migrations/2020_08_03_230756_create_thermonuclear_smoke_devil_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('thermonuclear_smoke_devil', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230726_create_the_inferno_table.php b/database/migrations/2020_08_03_230757_create_tzkal_zuk_table.php similarity index 77% rename from database/migrations/2020_08_03_230726_create_the_inferno_table.php rename to database/migrations/2020_08_03_230757_create_tzkal_zuk_table.php index 0323dcf8..a1c9135f 100644 --- a/database/migrations/2020_08_03_230726_create_the_inferno_table.php +++ b/database/migrations/2020_08_03_230757_create_tzkal_zuk_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateTheInfernoTable extends Migration +class CreateTzkalZukTable extends Migration { /** * Run the migrations. @@ -13,9 +13,9 @@ class CreateTheInfernoTable extends Migration */ public function up() { - Schema::create('the_inferno', function (Blueprint $table) { + Schema::create('tzkal_zuk', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); @@ -32,6 +32,6 @@ public function up() */ public function down() { - Schema::dropIfExists('the_inferno'); + Schema::dropIfExists('tzkal_zuk'); } } diff --git a/database/migrations/2020_08_03_230726_create_the_fight_caves_table.php b/database/migrations/2020_08_03_230758_create_tztok_jad_table.php similarity index 76% rename from database/migrations/2020_08_03_230726_create_the_fight_caves_table.php rename to database/migrations/2020_08_03_230758_create_tztok_jad_table.php index 41348ca7..0eea60d1 100644 --- a/database/migrations/2020_08_03_230726_create_the_fight_caves_table.php +++ b/database/migrations/2020_08_03_230758_create_tztok_jad_table.php @@ -4,7 +4,7 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -class CreateTheFightCavesTable extends Migration +class CreateTztokJadTable extends Migration { /** * Run the migrations. @@ -13,9 +13,9 @@ class CreateTheFightCavesTable extends Migration */ public function up() { - Schema::create('the_fight_caves', function (Blueprint $table) { + Schema::create('tztok_jad', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); @@ -32,6 +32,6 @@ public function up() */ public function down() { - Schema::dropIfExists('the_fight_caves'); + Schema::dropIfExists('tztok_jad'); } } diff --git a/database/migrations/2020_08_03_230727_create_venenatis_table.php b/database/migrations/2020_08_03_230759_create_venenatis_table.php similarity index 94% rename from database/migrations/2020_08_03_230727_create_venenatis_table.php rename to database/migrations/2020_08_03_230759_create_venenatis_table.php index b109aa58..854ae479 100644 --- a/database/migrations/2020_08_03_230727_create_venenatis_table.php +++ b/database/migrations/2020_08_03_230759_create_venenatis_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('venenatis', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230727_create_vetion_table.php b/database/migrations/2020_08_03_230760_create_vetion_table.php similarity index 94% rename from database/migrations/2020_08_03_230727_create_vetion_table.php rename to database/migrations/2020_08_03_230760_create_vetion_table.php index f3ae5091..0d1932aa 100644 --- a/database/migrations/2020_08_03_230727_create_vetion_table.php +++ b/database/migrations/2020_08_03_230760_create_vetion_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('vetion', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230727_create_vorkath_table.php b/database/migrations/2020_08_03_230761_create_vorkath_table.php similarity index 94% rename from database/migrations/2020_08_03_230727_create_vorkath_table.php rename to database/migrations/2020_08_03_230761_create_vorkath_table.php index 367097aa..9b76c79a 100644 --- a/database/migrations/2020_08_03_230727_create_vorkath_table.php +++ b/database/migrations/2020_08_03_230761_create_vorkath_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('vorkath', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230727_create_wintertodt_table.php b/database/migrations/2020_08_03_230762_create_wintertodt_table.php similarity index 95% rename from database/migrations/2020_08_03_230727_create_wintertodt_table.php rename to database/migrations/2020_08_03_230762_create_wintertodt_table.php index b2ce7e42..e1ba0e8a 100644 --- a/database/migrations/2020_08_03_230727_create_wintertodt_table.php +++ b/database/migrations/2020_08_03_230762_create_wintertodt_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('wintertodt', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230728_create_zalcano_table.php b/database/migrations/2020_08_03_230763_create_zalcano_table.php similarity index 94% rename from database/migrations/2020_08_03_230728_create_zalcano_table.php rename to database/migrations/2020_08_03_230763_create_zalcano_table.php index 3b7c73a8..c6223616 100644 --- a/database/migrations/2020_08_03_230728_create_zalcano_table.php +++ b/database/migrations/2020_08_03_230763_create_zalcano_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('zalcano', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230728_create_zulrah_table.php b/database/migrations/2020_08_03_230764_create_zulrah_table.php similarity index 95% rename from database/migrations/2020_08_03_230728_create_zulrah_table.php rename to database/migrations/2020_08_03_230764_create_zulrah_table.php index a2fce6c1..dd6928fb 100644 --- a/database/migrations/2020_08_03_230728_create_zulrah_table.php +++ b/database/migrations/2020_08_03_230764_create_zulrah_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('zulrah', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_03_230723_create_dagannoth_kings_table.php b/database/migrations/2020_08_03_230765_create_dagannoth_kings_table.php similarity index 95% rename from database/migrations/2020_08_03_230723_create_dagannoth_kings_table.php rename to database/migrations/2020_08_03_230765_create_dagannoth_kings_table.php index 93f1e762..595ec952 100644 --- a/database/migrations/2020_08_03_230723_create_dagannoth_kings_table.php +++ b/database/migrations/2020_08_03_230765_create_dagannoth_kings_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('dagannoth_kings', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); $table->integer('pet_dagannoth_prime')->default(0)->unsigned(); diff --git a/database/migrations/2020_08_05_225546_create_goblin_table.php b/database/migrations/2020_08_05_225546_create_goblin_table.php index 07d5b1b3..3c42cb0b 100644 --- a/database/migrations/2020_08_05_225546_create_goblin_table.php +++ b/database/migrations/2020_08_05_225546_create_goblin_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('goblin', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2021_01_01_164136_create_news_categories_table.php b/database/migrations/2020_08_16_094531_create_news_categories_table.php similarity index 100% rename from database/migrations/2021_01_01_164136_create_news_categories_table.php rename to database/migrations/2020_08_16_094531_create_news_categories_table.php diff --git a/database/migrations/2020_08_16_094900_create_images_table.php b/database/migrations/2020_08_16_094532_create_images_table.php similarity index 100% rename from database/migrations/2020_08_16_094900_create_images_table.php rename to database/migrations/2020_08_16_094532_create_images_table.php diff --git a/database/migrations/2020_08_16_094532_create_news_posts_table.php b/database/migrations/2020_08_16_094533_create_news_posts_table.php similarity index 78% rename from database/migrations/2020_08_16_094532_create_news_posts_table.php rename to database/migrations/2020_08_16_094533_create_news_posts_table.php index adb801ca..35dc81f6 100644 --- a/database/migrations/2020_08_16_094532_create_news_posts_table.php +++ b/database/migrations/2020_08_16_094533_create_news_posts_table.php @@ -15,9 +15,9 @@ public function up() { Schema::create('news_posts', function (Blueprint $table) { $table->id(); - $table->integer('user_id')->unsigned(); - $table->integer('category_id')->unsigned(); - $table->integer('image_id')->unsigned()->default('1'); + $table->foreignId('user_id')->constrained(); + $table->foreignId('news_category_id')->constrained(); + $table->foreignId('image_id')->constrained()->default('1'); $table->string('title'); $table->string('shortstory'); $table->longText('longstory'); diff --git a/database/migrations/2021_01_02_190709_create_logs_table.php b/database/migrations/2021_01_02_190709_create_logs_table.php index 013d88be..019ad451 100644 --- a/database/migrations/2021_01_02_190709_create_logs_table.php +++ b/database/migrations/2021_01_02_190709_create_logs_table.php @@ -15,9 +15,9 @@ public function up() { Schema::create('logs', function (Blueprint $table) { $table->id(); - $table->integer('user_id')->unsigned(); - $table->integer('account_id')->unsigned(); - $table->integer('category_id')->unsigned(); + $table->foreignId('user_id')->constrained(); + $table->foreignId('account_id')->constrained(); + $table->foreignId('category_id')->constrained(); $table->string('action'); // TODO enum? $table->text('data')->nullable(); $table->integer('total')->nullable(); diff --git a/database/migrations/2021_01_17_001156_create_equipment_table.php b/database/migrations/2021_01_17_001156_create_equipment_table.php index 97c65806..c7cb160d 100644 --- a/database/migrations/2021_01_17_001156_create_equipment_table.php +++ b/database/migrations/2021_01_17_001156_create_equipment_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('equipment', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned(); + $table->foreignId('account_id')->constrained(); $table->text('data')->nullable(); $table->boolean('display')->default(false); $table->timestamps(); diff --git a/database/migrations/2021_02_07_115657_create_banks_table.php b/database/migrations/2021_02_07_115657_create_banks_table.php index 4b4a8d95..5a4e5a61 100644 --- a/database/migrations/2021_02_07_115657_create_banks_table.php +++ b/database/migrations/2021_02_07_115657_create_banks_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('banks', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned(); + $table->foreignId('account_id')->constrained(); $table->text('data')->nullable(); $table->integer('total')->nullable(); $table->boolean('display')->default(false); diff --git a/database/migrations/2021_02_07_211455_create_quests_table.php b/database/migrations/2021_02_07_211455_create_quests_table.php index 2d64222f..b711823c 100644 --- a/database/migrations/2021_02_07_211455_create_quests_table.php +++ b/database/migrations/2021_02_07_211455_create_quests_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('quests', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned(); + $table->foreignId('account_id')->constrained(); $table->text('data')->nullable(); $table->boolean('display')->default(false); $table->timestamps(); diff --git a/database/migrations/2021_04_21_144745_create_all_treasure_trails_table.php b/database/migrations/2021_02_28_090621_create_all_treasure_trails_table.php similarity index 92% rename from database/migrations/2021_04_21_144745_create_all_treasure_trails_table.php rename to database/migrations/2021_02_28_090621_create_all_treasure_trails_table.php index c4a9fe6d..6fb42833 100644 --- a/database/migrations/2021_04_21_144745_create_all_treasure_trails_table.php +++ b/database/migrations/2021_02_28_090621_create_all_treasure_trails_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('all_treasure_trails', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2021_02_28_090622_create_beginner_treasure_trails_table.php b/database/migrations/2021_02_28_090622_create_beginner_treasure_trails_table.php index e7225473..4574aaf9 100644 --- a/database/migrations/2021_02_28_090622_create_beginner_treasure_trails_table.php +++ b/database/migrations/2021_02_28_090622_create_beginner_treasure_trails_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('beginner_treasure_trails', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2021_02_28_090734_create_easy_treasure_trails_table.php b/database/migrations/2021_02_28_090734_create_easy_treasure_trails_table.php index ad226816..6d9c08c0 100644 --- a/database/migrations/2021_02_28_090734_create_easy_treasure_trails_table.php +++ b/database/migrations/2021_02_28_090734_create_easy_treasure_trails_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('easy_treasure_trails', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2021_02_28_090756_create_medium_treasure_trails_table.php b/database/migrations/2021_02_28_090756_create_medium_treasure_trails_table.php index 39f61dae..ceb26809 100644 --- a/database/migrations/2021_02_28_090756_create_medium_treasure_trails_table.php +++ b/database/migrations/2021_02_28_090756_create_medium_treasure_trails_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('medium_treasure_trails', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2021_02_28_090818_create_hard_treasure_trails_table.php b/database/migrations/2021_02_28_090818_create_hard_treasure_trails_table.php index 3253bd54..e8b04f32 100644 --- a/database/migrations/2021_02_28_090818_create_hard_treasure_trails_table.php +++ b/database/migrations/2021_02_28_090818_create_hard_treasure_trails_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('hard_treasure_trails', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2021_02_28_090827_create_elite_treasure_trails_table.php b/database/migrations/2021_02_28_090827_create_elite_treasure_trails_table.php index f04cb7a9..0b8882b2 100644 --- a/database/migrations/2021_02_28_090827_create_elite_treasure_trails_table.php +++ b/database/migrations/2021_02_28_090827_create_elite_treasure_trails_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('elite_treasure_trails', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2021_02_28_090836_create_master_treasure_trails_table.php b/database/migrations/2021_02_28_090836_create_master_treasure_trails_table.php index b3c41f34..5b4a6639 100644 --- a/database/migrations/2021_02_28_090836_create_master_treasure_trails_table.php +++ b/database/migrations/2021_02_28_090836_create_master_treasure_trails_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('master_treasure_trails', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('kill_count')->default(0)->unsigned(); $table->integer('rank')->default(0)->unsigned(); $table->integer('obtained')->default(0)->unsigned(); diff --git a/database/migrations/2021_02_28_092602_create_treasure_trails_table.php b/database/migrations/2021_02_28_092602_create_treasure_trails_table.php deleted file mode 100644 index 47209bb0..00000000 --- a/database/migrations/2021_02_28_092602_create_treasure_trails_table.php +++ /dev/null @@ -1,37 +0,0 @@ -id(); - $table->integer('user_id')->unsigned(); - $table->integer('account_id')->unsigned(); - $table->integer('category_id')->unsigned(); - $table->string('action'); // TODO enum? - $table->text('data')->nullable(); - $table->integer('total')->nullable(); - $table->timestamps(); - }); - } - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::dropIfExists('treasure_trails'); - } -} diff --git a/database/migrations/2021_03_31_201932_create_broadcasts_table.php b/database/migrations/2021_03_31_201932_create_broadcasts_table.php index 50e86a18..4b53cb30 100644 --- a/database/migrations/2021_03_31_201932_create_broadcasts_table.php +++ b/database/migrations/2021_03_31_201932_create_broadcasts_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('broadcasts', function (Blueprint $table) { $table->id(); - $table->integer('log_id')->unsigned(); + $table->foreignId('log_id')->constrained(); $table->enum('type', ['announcement', 'event', 'notification'])->default('notification'); $table->string('icon'); $table->string('message'); diff --git a/database/migrations/2021_04_17_220819_create_skills_table.php b/database/migrations/2021_04_17_220819_create_skills_table.php new file mode 100644 index 00000000..c8406dab --- /dev/null +++ b/database/migrations/2021_04_17_220819_create_skills_table.php @@ -0,0 +1,201 @@ +id(); + $table->integer('category_id')->unsigned(); + $table->integer('order')->unsigned()->unique(); + $table->string('name')->unique(); + $table->string('slug'); + $table->string('model'); + }); + + DB::table("skills")->insert( + [ + [ + 'category_id' => 1, + 'order' => 1, + 'name' => 'Attack', + 'slug' => 'attack', + 'model' => 'App\Skill\Attack' + ], + [ + 'category_id' => 1, + 'order' => 2, + 'name' => 'Defence', + 'slug' => 'defence', + 'model' => 'App\Skill\Defence' + ], + [ + 'category_id' => 1, + 'order' => 3, + 'name' => 'Strength', + 'slug' => 'strength', + 'model' => 'App\Skill\Strength' + ], + [ + 'category_id' => 1, + 'order' => 4, + 'name' => 'Hitpoints', + 'slug' => 'hitpoints', + 'model' => 'App\Skill\Hitpoints' + ], + [ + 'category_id' => 1, + 'order' => 5, + 'name' => 'Ranged', + 'slug' => 'ranged', + 'model' => 'App\Skill\Ranged' + ], + [ + 'category_id' => 1, + 'order' => 6, + 'name' => 'Prayer', + 'slug' => 'prayer', + 'model' => 'App\Skill\Prayer' + ], + [ + 'category_id' => 1, + 'order' => 7, + 'name' => 'Magic', + 'slug' => 'magic', + 'model' => 'App\Skill\Magic' + ], + [ + 'category_id' => 1, + 'order' => 8, + 'name' => 'Cooking', + 'slug' => 'cooking', + 'model' => 'App\Skill\Cooking' + ], + [ + 'category_id' => 1, + 'order' => 9, + 'name' => 'Woodcutting', + 'slug' => 'woodcutting', + 'model' => 'App\Skill\Woodcutting' + ], + [ + 'category_id' => 1, + 'order' => 10, + 'name' => 'Fletching', + 'slug' => 'fletching', + 'model' => 'App\Skill\Fletching' + ], + [ + 'category_id' => 1, + 'order' => 11, + 'name' => 'Fishing', + 'slug' => 'fishing', + 'model' => 'App\Skill\Fishing' + ], + [ + 'category_id' => 1, + 'order' => 12, + 'name' => 'Firemaking', + 'slug' => 'firemaking', + 'model' => 'App\Skill\Firemaking' + ], + [ + 'category_id' => 1, + 'order' => 13, + 'name' => 'Crafting', + 'slug' => 'crafting', + 'model' => 'App\Skill\Crafting' + ], + [ + 'category_id' => 1, + 'order' => 14, + 'name' => 'Smithing', + 'slug' => 'smithing', + 'model' => 'App\Skill\Smithing' + ], + [ + 'category_id' => 1, + 'order' => 15, + 'name' => 'Mining', + 'slug' => 'mining', + 'model' => 'App\Skill\Mining' + ], + [ + 'category_id' => 1, + 'order' => 16, + 'name' => 'Herblore', + 'slug' => 'herblore', + 'model' => 'App\Skill\Herblore' + ], + [ + 'category_id' => 1, + 'order' => 17, + 'name' => 'Agility', + 'slug' => 'agility', + 'model' => 'App\Skill\Agility' + ], + [ + 'category_id' => 1, + 'order' => 18, + 'name' => 'Thieving', + 'slug' => 'thieving', + 'model' => 'App\Skill\Thieving' + ], + [ + 'category_id' => 1, + 'order' => 19, + 'name' => 'Slayer', + 'slug' => 'slayer', + 'model' => 'App\Skill\Slayer' + ], + [ + 'category_id' => 1, + 'order' => 20, + 'name' => 'Farming', + 'slug' => 'farming', + 'model' => 'App\Skill\Farming' + ], + [ + 'category_id' => 1, + 'order' => 21, + 'name' => 'Runecraft', + 'slug' => 'runecraft', + 'model' => 'App\Skill\Runecraft' + ], + [ + 'category_id' => 1, + 'order' => 22, + 'name' => 'Hunter', + 'slug' => 'hunter', + 'model' => 'App\Skill\Hunter' + ], + [ + 'category_id' => 1, + 'order' => 23, + 'name' => 'Construction', + 'slug' => 'construction', + 'model' => 'App\Skill\Construction' + ] + ] + ); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('skills'); + } +} diff --git a/database/migrations/2021_04_17_220820_create_attack_table.php b/database/migrations/2021_04_17_220820_create_attack_table.php index 17e56084..6682e74e 100644 --- a/database/migrations/2021_04_17_220820_create_attack_table.php +++ b/database/migrations/2021_04_17_220820_create_attack_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('attack', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220826_create_defence_table.php b/database/migrations/2021_04_17_220826_create_defence_table.php index fb92ec87..103639bd 100644 --- a/database/migrations/2021_04_17_220826_create_defence_table.php +++ b/database/migrations/2021_04_17_220826_create_defence_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('defence', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220830_create_strength_table.php b/database/migrations/2021_04_17_220830_create_strength_table.php index a217d7eb..76c67354 100644 --- a/database/migrations/2021_04_17_220830_create_strength_table.php +++ b/database/migrations/2021_04_17_220830_create_strength_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('strength', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220836_create_hitpoints_table.php b/database/migrations/2021_04_17_220836_create_hitpoints_table.php index afb0b8c2..3487a113 100644 --- a/database/migrations/2021_04_17_220836_create_hitpoints_table.php +++ b/database/migrations/2021_04_17_220836_create_hitpoints_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('hitpoints', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220840_create_ranged_table.php b/database/migrations/2021_04_17_220840_create_ranged_table.php index 93d024df..f0d044d4 100644 --- a/database/migrations/2021_04_17_220840_create_ranged_table.php +++ b/database/migrations/2021_04_17_220840_create_ranged_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('ranged', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220844_create_prayer_table.php b/database/migrations/2021_04_17_220844_create_prayer_table.php index 25825f0d..7b8683ef 100644 --- a/database/migrations/2021_04_17_220844_create_prayer_table.php +++ b/database/migrations/2021_04_17_220844_create_prayer_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('prayer', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220847_create_magic_table.php b/database/migrations/2021_04_17_220847_create_magic_table.php index 19dd3e7f..cd0668b4 100644 --- a/database/migrations/2021_04_17_220847_create_magic_table.php +++ b/database/migrations/2021_04_17_220847_create_magic_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('magic', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220851_create_cooking_table.php b/database/migrations/2021_04_17_220851_create_cooking_table.php index b06f5567..838f251f 100644 --- a/database/migrations/2021_04_17_220851_create_cooking_table.php +++ b/database/migrations/2021_04_17_220851_create_cooking_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('cooking', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220856_create_woodcutting_table.php b/database/migrations/2021_04_17_220856_create_woodcutting_table.php index 3d1c8072..e33aae4e 100644 --- a/database/migrations/2021_04_17_220856_create_woodcutting_table.php +++ b/database/migrations/2021_04_17_220856_create_woodcutting_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('woodcutting', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220900_create_fletching_table.php b/database/migrations/2021_04_17_220900_create_fletching_table.php index 28043ae7..c2eb1f7e 100644 --- a/database/migrations/2021_04_17_220900_create_fletching_table.php +++ b/database/migrations/2021_04_17_220900_create_fletching_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('fletching', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220905_create_fishing_table.php b/database/migrations/2021_04_17_220905_create_fishing_table.php index d7dbcfec..4c19c740 100644 --- a/database/migrations/2021_04_17_220905_create_fishing_table.php +++ b/database/migrations/2021_04_17_220905_create_fishing_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('fishing', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220909_create_firemaking_table.php b/database/migrations/2021_04_17_220909_create_firemaking_table.php index 2d8df1f7..a5cb7ba1 100644 --- a/database/migrations/2021_04_17_220909_create_firemaking_table.php +++ b/database/migrations/2021_04_17_220909_create_firemaking_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('firemaking', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220913_create_crafting_table.php b/database/migrations/2021_04_17_220913_create_crafting_table.php index b5db957a..40aa7895 100644 --- a/database/migrations/2021_04_17_220913_create_crafting_table.php +++ b/database/migrations/2021_04_17_220913_create_crafting_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('crafting', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220917_create_smithing_table.php b/database/migrations/2021_04_17_220917_create_smithing_table.php index 75b8ea63..184d4018 100644 --- a/database/migrations/2021_04_17_220917_create_smithing_table.php +++ b/database/migrations/2021_04_17_220917_create_smithing_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('smithing', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220921_create_mining_table.php b/database/migrations/2021_04_17_220921_create_mining_table.php index c168d48b..4cba641f 100644 --- a/database/migrations/2021_04_17_220921_create_mining_table.php +++ b/database/migrations/2021_04_17_220921_create_mining_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('mining', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220926_create_herblore_table.php b/database/migrations/2021_04_17_220926_create_herblore_table.php index 11820018..87a1146d 100644 --- a/database/migrations/2021_04_17_220926_create_herblore_table.php +++ b/database/migrations/2021_04_17_220926_create_herblore_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('herblore', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220929_create_agility_table.php b/database/migrations/2021_04_17_220929_create_agility_table.php index 00a5fead..08896364 100644 --- a/database/migrations/2021_04_17_220929_create_agility_table.php +++ b/database/migrations/2021_04_17_220929_create_agility_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('agility', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220934_create_thieving_table.php b/database/migrations/2021_04_17_220934_create_thieving_table.php index 213a9a77..7399b309 100644 --- a/database/migrations/2021_04_17_220934_create_thieving_table.php +++ b/database/migrations/2021_04_17_220934_create_thieving_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('thieving', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220938_create_slayer_table.php b/database/migrations/2021_04_17_220938_create_slayer_table.php index 4778565f..d686483c 100644 --- a/database/migrations/2021_04_17_220938_create_slayer_table.php +++ b/database/migrations/2021_04_17_220938_create_slayer_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('slayer', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220942_create_farming_table.php b/database/migrations/2021_04_17_220942_create_farming_table.php index 3cdd6927..f3ea71de 100644 --- a/database/migrations/2021_04_17_220942_create_farming_table.php +++ b/database/migrations/2021_04_17_220942_create_farming_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('farming', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220946_create_runecraft_table.php b/database/migrations/2021_04_17_220946_create_runecraft_table.php index bfbbfc11..4ea47012 100644 --- a/database/migrations/2021_04_17_220946_create_runecraft_table.php +++ b/database/migrations/2021_04_17_220946_create_runecraft_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('runecraft', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220950_create_hunter_table.php b/database/migrations/2021_04_17_220950_create_hunter_table.php index 7220291c..a6528790 100644 --- a/database/migrations/2021_04_17_220950_create_hunter_table.php +++ b/database/migrations/2021_04_17_220950_create_hunter_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('hunter', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/migrations/2021_04_17_220954_create_construction_table.php b/database/migrations/2021_04_17_220954_create_construction_table.php index 06e401ab..b0d1db84 100644 --- a/database/migrations/2021_04_17_220954_create_construction_table.php +++ b/database/migrations/2021_04_17_220954_create_construction_table.php @@ -15,7 +15,7 @@ public function up() { Schema::create('construction', function (Blueprint $table) { $table->id(); - $table->integer('account_id')->unsigned()->unique(); + $table->foreignId('account_id')->constrained(); $table->integer('rank')->default(0); $table->integer('level')->default(1); $table->bigInteger('xp')->default(0); diff --git a/database/seeders/AccountSeeder.php b/database/seeders/AccountSeeder.php new file mode 100644 index 00000000..de184699 --- /dev/null +++ b/database/seeders/AccountSeeder.php @@ -0,0 +1,172 @@ +count(sizeof($accounts) - 1)->create()->each(function ($u) use ($accounts) { + $randomId = rand(1, sizeof($accounts) - 1); + + if (Account::where('username', $accounts[$randomId - 1])->first()) { + return null; + } + + $playerDataUrl = 'https://secure.runescape.com/m=hiscore_oldschool/index_lite.ws?player=' . str_replace(' ', + '%20', $accounts[$randomId - 1]); + + /* Get the $playerDataUrl file content. */ + $playerData = Helper::getPlayerData($playerDataUrl); + + if ($playerData) { + $account = Account::firstOrCreate([ + 'user_id' => rand(1, sizeof($accounts) - 1), + 'account_type' => Helper::listAccountTypes()[rand(0, 3)], + 'username' => $accounts[$randomId], + 'rank' => $playerData[0][0], + 'level' => $playerData[0][1], + 'xp' => $playerData[0][2] + ]); + + $skills = Helper::listSkills(); + + for ($i = 0; $i < count($skills); $i++) { + DB::table($skills[$i])->insert([ + 'account_id' => $account->id, + 'rank' => ($playerData[$i + 1][0] >= 1 ? $playerData[$i + 1][0] : 0), + 'level' => $playerData[$i + 1][1], + 'xp' => ($playerData[$i + 1][2] >= 0 ? $playerData[$i + 1][2] : 0), + 'created_at' => Carbon::now(), + 'updated_at' => Carbon::now() + ]); + } + + $clueScrollAmount = count(Helper::listClueScrollTiers()); + + $bosses = Helper::listBosses(); + + array_splice($bosses, 13, 1); + + $bossIndex = 0; + + $dksKillCount = 0; + + for ($i = (count($skills) + $clueScrollAmount + 5); $i < (count($skills) + $clueScrollAmount + 5 + count($bosses)); $i++) { + $collection = Collection::where('name', $bosses[$bossIndex])->firstOrFail(); + + $collectionLog = new $collection->model; + + $collectionLog->account_id = $account->id; + $collectionLog->kill_count = ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); + $collectionLog->rank = ($playerData[$i + 1][0] >= 0 ? $playerData[$i + 1][0] : 0); + + if (in_array($bosses[$bossIndex], + ['dagannoth prime', 'dagannoth rex', 'dagannoth supreme'], true)) { + $dksKillCount += ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); + } + + $collectionLog->save(); + + $bossIndex++; + } + + /** + * Since there are no official total kill count hiscore for + * DKS' and we are going to retrieve loot for them from the + * collection log, we have to manually create a table. + * This might also happen with other bosses in the future + * that share collection log entry, but have separate hiscores. + */ + $dks = new \App\Boss\DagannothKings; + + $dks->account_id = $account->id; + $dks->kill_count = $dksKillCount; + + $dks->save(); + + $npcs = Helper::listNpcs(); + + foreach ($npcs as $npc) { + $collection = Collection::findByNameAndCategory($npc, 4); + + $collectionLog = new $collection->model; + + $collectionLog->account_id = $account->id; + + $collectionLog->save(); + } + + print_r('Added ' . $accounts[$randomId]); + + return $account->toArray(); + } else { + return null; + } + }); + } +} diff --git a/database/seeders/UserSeeder.php b/database/seeders/UserSeeder.php index 4090a015..8e7bdb49 100644 --- a/database/seeders/UserSeeder.php +++ b/database/seeders/UserSeeder.php @@ -5,6 +5,7 @@ use App\Account; use App\Collection; use App\Helpers\Helper; +use App\Skill; use App\User; use Carbon\Carbon; use Illuminate\Database\Seeder; @@ -26,154 +27,168 @@ public function run() 'icon_id' => Helper::randomItemId(true), ]); - $accounts = [ - 'Arttu Mikael', - 'GamerButBad', - 'ImNotBobRoss', - 'Darth Morty', - 'Zezima', - 'Settled', - 'Eddapt', - 'SteelmanDave', - 'Mmorpg', - 'Hey Jase', - 'DarthPorg', - 'Slapen', - 'UIM Paperbag', - 'dids', - 'Doctor Nick', - 'Murder', - 'Carlton', - 'Fire 961', - 'Joltik', - 'Shiny Dragon', - 'Lumby', - 'Intrigued', - 'kulitz', - 'TwiztedLore', - 'Vitaliz', - 'Chasadelic', - 'allyallnoobs', - 'Cause Milk', - 'PACKMAN Boi', - 'Meth Mann', - 'AKA boef', - 'hgcdtyr6icto', - 'Rsn-Ihita22', - 'Sr Strong JR', - 'White Web', - 'kyleraw2', - 'Senpai Jayce', - 'Antione', - 'Jhhonnn', - 'Dan Kingdon', - 'BSM', - 'HH Loli', - 'TrumpYoDaddy', - 'LotteryPure', - 'Wargod Benny', - 'heaven_nova', - ]; - - shuffle($accounts); - - User::factory()->count(sizeof($accounts) - 1)->create()->each(function ($u) use ($accounts) { - $randomId = rand(1, sizeof($accounts) - 1); - - if (Account::where('username', $accounts[$randomId - 1])->first()) { - return null; - } + User::create([ + 'name' => 'Simon2', + 'email' => 'simon2@runemanager.com', + 'password' => bcrypt('runemanager1234'), + 'icon_id' => Helper::randomItemId(true), + ]); + + User::create([ + 'name' => 'Simon3', + 'email' => 'simon3@runemanager.com', + 'password' => bcrypt('runemanager1234'), + 'icon_id' => Helper::randomItemId(true), + ]); - $playerDataUrl = 'https://secure.runescape.com/m=hiscore_oldschool/index_lite.ws?player=' . str_replace(' ', - '%20', $accounts[$randomId - 1]); + $accounts = ["Jern Zlimon", "IronicOcelot", "Mmorpg"]; + + foreach (User::get() as $userKey => $user) { + $playerDataUrl = 'https://secure.runescape.com/m=hiscore_oldschool/index_lite.ws?player=' . str_replace( + ' ', + '%20', + $accounts[$userKey] + ); /* Get the $playerDataUrl file content. */ $playerData = Helper::getPlayerData($playerDataUrl); - if ($playerData) { - $account = Account::firstOrCreate([ - 'user_id' => rand(1, sizeof($accounts) - 1), - 'account_type' => Helper::listAccountTypes()[rand(0, 3)], - 'username' => $accounts[$randomId], - 'rank' => $playerData[0][0], - 'level' => $playerData[0][1], - 'xp' => $playerData[0][2] - ]); - - $skills = Helper::listSkills(); - - for ($i = 0; $i < count($skills); $i++) { - DB::table($skills[$i])->insert([ - 'account_id' => $account->id, - 'rank' => ($playerData[$i + 1][0] >= 1 ? $playerData[$i + 1][0] : 0), - 'level' => $playerData[$i + 1][1], - 'xp' => ($playerData[$i + 1][2] >= 0 ? $playerData[$i + 1][2] : 0), - 'created_at' => Carbon::now(), - 'updated_at' => Carbon::now() - ]); - } + if (!$playerData) { + return response("Could not fetch player data from hiscores", 406); + } - $clueScrollAmount = count(Helper::listClueScrollTiers()); + DB::beginTransaction(); + + try { + $account = Account::create( + [ + 'user_id' => $user->id, + 'account_type' => Helper::listAccountTypes()[rand(0, 3)], + 'username' => ucfirst($accounts[$userKey]), + 'rank' => $playerData[0][0], + 'level' => $playerData[0][1], + 'xp' => $playerData[0][2] + ] + ); + } catch (\Exception $e) { + DB::rollback(); + throw $e; + } - $bosses = Helper::listBosses(); + $skills = Helper::listSkills(); + $skillsCount = count($skills); - array_splice($bosses, 13, 1); + foreach ($skills as $key => $skill) { + $skill = Skill::where('name', $skill)->firstOrFail(); - $bossIndex = 0; + $skill = new $skill->model; - $dksKillCount = 0; + $skill->account_id = $account->id; + $skill->rank = ($playerData[$key + 1][0] >= 1 ? $playerData[$key + 1][0] : 0); + $skill->level = $playerData[$key + 1][1]; + $skill->xp = ($playerData[$key + 1][2] >= 0 ? $playerData[$key + 1][2] : 0); - for ($i = (count($skills) + $clueScrollAmount + 5); $i < (count($skills) + $clueScrollAmount + 5 + count($bosses)); $i++) { - $collection = Collection::where('name', $bosses[$bossIndex])->firstOrFail(); + try { + $skill->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; + } + } - $collectionLog = new $collection->model; + $clues = Helper::listClueScrollTiers(); + $cluesCount = count($clues); + $cluesIndex = 0; - $collectionLog->account_id = $account->id; - $collectionLog->kill_count = ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); - $collectionLog->rank = ($playerData[$i + 1][0] >= 0 ? $playerData[$i + 1][0] : 0); + for ($i = ($skillsCount + 3); $i < ($skillsCount + 3 + $cluesCount); $i++) { + $clueCollection = Collection::where('slug', $clues[$cluesIndex] . '-treasure-trails')->firstOrFail(); - if (in_array($bosses[$bossIndex], - ['dagannoth prime', 'dagannoth rex', 'dagannoth supreme'], true)) { - $dksKillCount += ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); - } + $clueCollection = new $clueCollection->model; - $collectionLog->save(); + $clueCollection->account_id = $account->id; + $clueCollection->kill_count = ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); + $clueCollection->rank = ($playerData[$i + 1][0] >= 0 ? $playerData[$i + 1][0] : 0); - $bossIndex++; + try { + $clueCollection->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; } - /** - * Since there are no official total kill count hiscore for - * DKS' and we are going to retrieve loot for them from the - * collection log, we have to manually create a table. - * This might also happen with other bosses in the future - * that share collection log entry, but have separate hiscores. - */ - $dks = new \App\Boss\DagannothKings; + $cluesIndex++; + } - $dks->account_id = $account->id; - $dks->kill_count = $dksKillCount; + $bosses = Helper::listBosses(); + array_splice($bosses, 13, 1); + $bossIndex = 0; - $dks->save(); + $dksKillCount = 0; - $npcs = Helper::listNpcs(); + for ($i = ($skillsCount + $cluesCount + 5); $i < ($skillsCount + $cluesCount + 5 + count($bosses)); $i++) { + $bossCollection = Collection::where('slug', $bosses[$bossIndex])->firstOrFail(); - foreach ($npcs as $npc) { - $collection = Collection::findByNameAndCategory($npc, 4); + $bossCollection = new $bossCollection->model; - $collectionLog = new $collection->model; + $bossCollection->account_id = $account->id; + $bossCollection->kill_count = ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); + $bossCollection->rank = ($playerData[$i + 1][0] >= 0 ? $playerData[$i + 1][0] : 0); - $collectionLog->account_id = $account->id; + if (in_array( + $bosses[$bossIndex], + ['dagannoth prime', 'dagannoth-rex', 'dagannoth-supreme'], + true + )) { + $dksKillCount += ($playerData[$i + 1][1] >= 0 ? $playerData[$i + 1][1] : 0); + } - $collectionLog->save(); + try { + $bossCollection->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; } - print_r('Added ' . $accounts[$randomId]); + $bossIndex++; + } + + /** + * Since there are no official total kill count hiscore for + * DKS' and we are going to retrieve loot for them from the + * collection log, we have to manually create a table. + * This might also happen with other bosses in the future + * that share collection log entry, but have separate hiscores. + */ + $dks = new \App\Boss\DagannothKings; + + $dks->account_id = $account->id; + $dks->kill_count = $dksKillCount; - return $account->toArray(); - } else { - return null; + try { + $dks->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; } - }); + + $npcs = Helper::listNpcs(); + + foreach ($npcs as $npc) { + $npcCollection = Collection::findByNameAndCategory($npc, 4); + + $npcCollection = new $npcCollection->model; + + $npcCollection->account_id = $account->id; + + try { + $npcCollection->save(); + } catch (\Exception $e) { + DB::rollback(); + throw $e; + } + } + + DB::commit(); + } } } diff --git a/package-lock.json b/package-lock.json index d3cd2ff4..af6b7e7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1190,6 +1190,56 @@ "dev": true, "requires": { "postcss": "5 - 7" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@types/eslint": { @@ -1356,6 +1406,89 @@ "integrity": "sha512-y9Pw8IK50OqFRDpdI9Is29KlWiENVW9FDvlTmGHelvTfR2brYFJbsClvulZfeq6YKacFrDsG9a39w0kJZdHLaw==", "dev": true }, + "@vue/component-compiler-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", + "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.14", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, "@webassemblyjs/ast": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.0.tgz", @@ -1546,9 +1679,9 @@ } }, "acorn": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.1.1.tgz", - "integrity": "sha512-xYiIVjNuqtKXMxlRMDc6mZUhXehod4a3gbZ1qRlM7icK4EbxUFNLhWoPblCvFtB2Y9CIqHP3CF/rdxLItaQv8g==", + "version": "8.2.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.2.1.tgz", + "integrity": "sha512-z716cpm5TX4uzOzILx8PavOE6C6DKshHDw1aQN52M/yNSqE9s5O8SMfyhCCfCJ3HmTL0NkVOi+8a/55T7YB3bg==", "dev": true }, "adjust-sourcemap-loader": { @@ -1990,6 +2123,12 @@ "file-uri-to-path": "1.0.0" } }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, "bn.js": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", @@ -2052,9 +2191,9 @@ "dev": true }, "bootstrap": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.5.0.tgz", - "integrity": "sha512-Z93QoXvodoVslA+PWNdk23Hze4RBYIkpb5h8I2HY2Tu2h7A0LpAgLcyrhrSUyo2/Oxm2l1fRZPs1e5hnxnliXA==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.0.tgz", + "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==", "dev": true }, "brace-expansion": { @@ -2708,6 +2847,15 @@ "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", "dev": true }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, "constants-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", @@ -2843,9 +2991,9 @@ } }, "cross-env": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.2.tgz", - "integrity": "sha512-KZP/bMEOJEDCkDQAyRhu3RL2ZO/SUVrxQVI0G3YEQ+OLbRA3c6zgixe8Mq8a/z7+HKlNEjo8oiLUs8iRijY2Rw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, "requires": { "cross-spawn": "^7.0.1" @@ -2921,6 +3069,56 @@ "requires": { "postcss": "^7.0.1", "timsort": "^0.3.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "css-loader": { @@ -3065,6 +3263,56 @@ "cssnano-preset-default": "^4.0.8", "is-resolvable": "^1.0.0", "postcss": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "cssnano-preset-default": { @@ -3103,48 +3351,148 @@ "postcss-reduce-transforms": "^4.0.2", "postcss-svgo": "^4.0.3", "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", - "dev": true, - "requires": { - "css-tree": "^1.1.2" }, "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", "dev": true, "requires": { "mdn-data": "2.0.14", @@ -4795,9 +5143,9 @@ } }, "http-proxy-middleware": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.2.0.tgz", - "integrity": "sha512-vNw+AxT0+6VTM1rCJw1bpiIaUQ1Ww/vTyIEOUzdW9kNX4yuhhqV3jLSKDJo/Y/lqEIshaKCDujtvEqWiD9Dn6Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-1.2.1.tgz", + "integrity": "sha512-mxqwEC+IOneTLuYz1B7fmLUmXXkVWfcbiXe8LsCctIX12vxfJU1Uj9HJD/G9MwK4HvgEdgKI8NZySM3uheC2JQ==", "dev": true, "requires": { "@types/http-proxy": "^1.17.5", @@ -5393,9 +5741,9 @@ } }, "jquery": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz", - "integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==", "dev": true }, "js-tokens": { @@ -5482,9 +5830,9 @@ "dev": true }, "laravel-echo": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/laravel-echo/-/laravel-echo-1.9.0.tgz", - "integrity": "sha512-+kw4mjwnMY2KXdKPpd5lHba8CNmYj9QzotK+E42Oz8B6flKViwkP+BQvahWTKxpkFwt5O2Iejk/etgQH6DhobQ==", + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/laravel-echo/-/laravel-echo-1.10.0.tgz", + "integrity": "sha512-qshJkrzl34on1VYd8KqZhLxUdWJFPTL6cGSZ4lVQ4OZMN7FvI9Pt24PrOFL169I8IEDHjHX16jaIAIwCkdnDNA==", "dev": true }, "laravel-mix": { @@ -5698,9 +6046,9 @@ } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "lodash.debounce": { @@ -5847,6 +6195,23 @@ "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", "dev": true }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", @@ -6673,14 +7038,33 @@ "dev": true }, "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "8.1.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.1.14.tgz", + "integrity": "sha512-KatkyVPBKfENS+c3dpXJoDXnDD5UZs5exAnDksLqaRJPKwYphEPZt4N0m0i049v2/BtWVQibAhxW4ilXXcolpA==", "dev": true, "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "colorette": "^1.2.1", + "nanoid": "^3.1.20", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" }, "dependencies": { "chalk": { @@ -6705,6 +7089,17 @@ } } }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -6722,17 +7117,6 @@ } } }, - "postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, "postcss-colormin": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", @@ -6746,11 +7130,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -6764,30 +7196,178 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0" + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "postcss-discard-empty": { @@ -6797,6 +7377,56 @@ "dev": true, "requires": { "postcss": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "postcss-discard-overridden": { @@ -6806,6 +7436,56 @@ "dev": true, "requires": { "postcss": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "postcss-load-config": { @@ -6927,11 +7607,59 @@ "stylehacks": "^4.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -6949,6 +7677,39 @@ "vendors": "^1.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", @@ -6959,24 +7720,87 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -6992,11 +7816,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7014,11 +7886,59 @@ "uniqs": "^2.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7034,6 +7954,39 @@ "postcss-selector-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", @@ -7044,6 +7997,21 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7089,6 +8057,56 @@ "dev": true, "requires": { "postcss": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "postcss-normalize-display-values": { @@ -7102,11 +8120,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7122,11 +8188,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7142,11 +8256,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7161,11 +8323,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7180,11 +8390,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7199,11 +8457,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7219,11 +8525,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7237,11 +8591,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7256,11 +8658,59 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7274,6 +8724,56 @@ "caniuse-api": "^3.0.0", "has": "^1.0.0", "postcss": "^7.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "postcss-reduce-transforms": { @@ -7288,40 +8788,136 @@ "postcss-value-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz", + "integrity": "sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", + "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-value-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", "dev": true - } - } - }, - "postcss-selector-parser": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.5.tgz", - "integrity": "sha512-aFYPoYmXbZ1V6HZaSvat08M97A8HqO6Pjz+PiNpw/DhuRrC72XWAdp3hL6wusDCN31sSmcZyMGa2hZEuX+Xfhg==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", - "integrity": "sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -7334,6 +8930,56 @@ "alphanum-sort": "^1.0.0", "postcss": "^7.0.0", "uniqs": "^2.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "postcss-value-parser": { @@ -7342,6 +8988,13 @@ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", "dev": true }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==", + "dev": true, + "optional": true + }, "pretty-time": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", @@ -7378,6 +9031,12 @@ } } }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, "public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -7407,9 +9066,9 @@ "dev": true }, "pusher-js": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-7.0.1.tgz", - "integrity": "sha512-ovdHvHiOwlTxlYFsArYBBqyfgil9iYgzfosAen8p31R9OUMj+nqJ5YzOPy3iY4eUZYb6DvsvKpebg0rL5AgVAw==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-7.0.3.tgz", + "integrity": "sha512-HIfCvt00CAqgO4W0BrdpPsDcAwy51rB6DN0VMC+JeVRRbo8mn3XTeUeIFjmmlRLZLX8rPhUtLRo7vPag6b8GCw==", "dev": true, "requires": { "tweetnacl": "^1.0.3" @@ -7903,12 +9562,113 @@ "dev": true }, "sass": { - "version": "1.26.8", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.8.tgz", - "integrity": "sha512-yvtzyrKLGiXQu7H12ekXqsfoGT/aTKeMDyVzCB675k1HYuaj0py63i8Uf4SI9CHXj6apDhpfwbUr3gGOjdpu2Q==", + "version": "1.32.11", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.32.11.tgz", + "integrity": "sha512-O9tRcob/fegUVSIV1ihLLZcftIOh0AF1VpKgusUfLqnb2jQ0GLDwI5ivv1FYWivGv8eZ/AwntTyTzjcHu0c/qw==", "dev": true, "requires": { - "chokidar": ">=2.0.0 <4.0.0" + "chokidar": ">=3.0.0 <4.0.0" + }, + "dependencies": { + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "dev": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } } }, "sass-loader": { @@ -8626,6 +10386,39 @@ "postcss-selector-parser": "^3.0.0" }, "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, "postcss-selector-parser": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", @@ -8636,6 +10429,21 @@ "indexes-of": "^1.0.1", "uniq": "^1.0.1" } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } } } }, @@ -9153,9 +10961,28 @@ "dev": true }, "vue": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz", - "integrity": "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ==" + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", + "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-loader": { + "version": "15.9.5", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.5.tgz", + "integrity": "sha512-oeMOs2b5o5gRqkxfds10bCx6JeXYTwivRgbb8hzOrcThD2z1+GqEKE3EX9A2SGbsYDf4rXwRg6D5n1w0jO5SwA==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + } }, "vue-moment": { "version": "4.1.0", @@ -9176,19 +11003,25 @@ } }, "vue-template-compiler": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.11.tgz", - "integrity": "sha512-KIq15bvQDrcCjpGjrAhx4mUlyyHfdmTaoNfeoATHLAiWB+MU3cx4lOzMwrnUh9cCxy0Lt1T11hAFY6TQgroUAA==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", + "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", "dev": true, "requires": { "de-indent": "^1.0.2", "he": "^1.1.0" } }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, "vue-unique-id": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/vue-unique-id/-/vue-unique-id-3.1.4.tgz", - "integrity": "sha512-KX1KWxbCKayI2wby3h63bvjIDYXH3yfavKMcT25m8hmwZC5C4HetGc0KFy9pMH4j6sj4Au1FrnZAY6U1G7k40g==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vue-unique-id/-/vue-unique-id-3.2.0.tgz", + "integrity": "sha512-0fexMX4x1QpjQfhDMG71R40G5rn+w5dMGDOcAhRiRbvtfzigCH2ingTCXA43obmMml4rixsemqcydOUzzpQx/A==" }, "watchpack": { "version": "2.1.1", diff --git a/package.json b/package.json index a4ed2741..d8c60a55 100644 --- a/package.json +++ b/package.json @@ -1,33 +1,33 @@ { "private": true, "scripts": { - "dev": "npm run development", - "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", - "watch": "npm run development -- --watch", - "watch-poll": "npm run watch -- --watch-poll", - "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --disable-host-check --config=node_modules/laravel-mix/setup/webpack.config.js", - "prod": "npm run production", - "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" + "development": "mix", + "watch": "mix watch", + "watch-poll": "mix watch -- --watch-options-poll=1000", + "hot": "mix watch --hot", + "production": "mix --production" }, "devDependencies": { "axios": "^0.21", - "bootstrap": "^4.0.0", - "cross-env": "^7.0.2", - "jquery": "^3.2", - "laravel-echo": "^1.9.0", + "bootstrap": "^4.6.0", + "cross-env": "^7.0.3", + "jquery": "^3.6.0", + "laravel-echo": "^1.10.0", "laravel-mix": "^6.0.18", - "lodash": "^4.17.19", + "lodash": "^4.17.21", "popper.js": "^1.12", - "pusher-js": "^7.0.1", + "postcss": "^8.1.14", + "pusher-js": "^7.0.3", "resolve-url-loader": "^3.1.2", - "sass": "^1.20.1", + "sass": "^1.32.11", "sass-loader": "^8.0.0", - "vue": "^2.5.17", - "vue-template-compiler": "^2.6.10" + "vue": "^2.6.12", + "vue-loader": "^15.9.5", + "vue-template-compiler": "^2.6.12" }, "dependencies": { "advanced-laravel-vue-paginate": "^0.1.9", "vue-moment": "^4.1.0", - "vue-unique-id": "^3.1.4" + "vue-unique-id": "^3.2.0" } } diff --git a/public/css/app.css b/public/css/app.css index 8ecd2d09..76ccb0f1 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -1,12 +1,11 @@ -@import url(https://fonts.googleapis.com/css?family=Nunito);@charset "UTF-8"; - +@import url(https://fonts.googleapis.com/css?family=Nunito); +@charset "UTF-8"; /*! - * Bootstrap v4.5.0 (https://getbootstrap.com/) - * Copyright 2011-2020 The Bootstrap Authors - * Copyright 2011-2020 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * Bootstrap v4.6.0 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) */ - :root { --blue: #3490dc; --indigo: #6574cd; @@ -51,16 +50,7 @@ html { -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } -article, -aside, -figcaption, -figure, -footer, -header, -hgroup, -main, -nav, -section { +article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; } @@ -85,12 +75,7 @@ hr { overflow: visible; } -h1, -h2, -h3, -h4, -h5, -h6 { +h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0.5rem; } @@ -174,18 +159,16 @@ a { text-decoration: none; background-color: transparent; } - a:hover { color: #1d68a7; text-decoration: underline; } -a:not([href]) { +a:not([href]):not([class]) { color: inherit; text-decoration: none; } - -a:not([href]):hover { +a:not([href]):not([class]):hover { color: inherit; text-decoration: none; } @@ -233,6 +216,7 @@ caption { th { text-align: inherit; + text-align: -webkit-match-parent; } label { @@ -244,9 +228,8 @@ button { border-radius: 0; } -button:focus { - outline: 1px dotted; - outline: 5px auto -webkit-focus-ring-color; +button:focus:not(:focus-visible) { + outline: 0; } input, @@ -370,50 +353,34 @@ template { display: none !important; } -h1, -h2, -h3, -h4, -h5, -h6, -.h1, -.h2, -.h3, -.h4, -.h5, -.h6 { +h1, h2, h3, h4, h5, h6, +.h1, .h2, .h3, .h4, .h5, .h6 { margin-bottom: 0.5rem; font-weight: 500; line-height: 1.2; } -h1, -.h1 { +h1, .h1 { font-size: 2.25rem; } -h2, -.h2 { +h2, .h2 { font-size: 1.8rem; } -h3, -.h3 { +h3, .h3 { font-size: 1.575rem; } -h4, -.h4 { +h4, .h4 { font-size: 1.35rem; } -h5, -.h5 { +h5, .h5 { font-size: 1.125rem; } -h6, -.h6 { +h6, .h6 { font-size: 0.9rem; } @@ -478,7 +445,6 @@ mark, .list-inline-item { display: inline-block; } - .list-inline-item:not(:last-child) { margin-right: 0.5rem; } @@ -498,9 +464,8 @@ mark, font-size: 80%; color: #6c757d; } - .blockquote-footer::before { - content: "\2014\A0"; + content: "— "; } .img-fluid { @@ -536,7 +501,6 @@ code { color: #f66d9b; word-wrap: break-word; } - a > code { color: inherit; } @@ -548,7 +512,6 @@ kbd { background-color: #212529; border-radius: 0.2rem; } - kbd kbd { padding: 0; font-size: 100%; @@ -560,7 +523,6 @@ pre { font-size: 87.5%; color: #212529; } - pre code { font-size: inherit; color: inherit; @@ -572,38 +534,7 @@ pre code { overflow-y: scroll; } -.container { - width: 100%; - padding-right: 15px; - padding-left: 15px; - margin-right: auto; - margin-left: auto; -} - -@media (min-width: 576px) { - .container { - max-width: 540px; - } -} - -@media (min-width: 768px) { - .container { - max-width: 720px; - } -} - -@media (min-width: 992px) { - .container { - max-width: 960px; - } -} - -@media (min-width: 1200px) { - .container { - max-width: 1140px; - } -} - +.container, .container-fluid, .container-xl, .container-lg, @@ -617,39 +548,25 @@ pre code { } @media (min-width: 576px) { - .container-sm, - .container { + .container-sm, .container { max-width: 540px; } } - @media (min-width: 768px) { - .container-md, - .container-sm, - .container { + .container-md, .container-sm, .container { max-width: 720px; } } - @media (min-width: 992px) { - .container-lg, - .container-md, - .container-sm, - .container { + .container-lg, .container-md, .container-sm, .container { max-width: 960px; } } - @media (min-width: 1200px) { - .container-xl, - .container-lg, - .container-md, - .container-sm, - .container { + .container-xl, .container-lg, .container-md, .container-sm, .container { max-width: 1140px; } } - .row { display: flex; flex-wrap: wrap; @@ -661,7 +578,6 @@ pre code { margin-right: 0; margin-left: 0; } - .no-gutters > .col, .no-gutters > [class*=col-] { padding-right: 0; @@ -669,75 +585,11 @@ pre code { } .col-xl, -.col-xl-auto, -.col-xl-12, -.col-xl-11, -.col-xl-10, -.col-xl-9, -.col-xl-8, -.col-xl-7, -.col-xl-6, -.col-xl-5, -.col-xl-4, -.col-xl-3, -.col-xl-2, -.col-xl-1, -.col-lg, -.col-lg-auto, -.col-lg-12, -.col-lg-11, -.col-lg-10, -.col-lg-9, -.col-lg-8, -.col-lg-7, -.col-lg-6, -.col-lg-5, -.col-lg-4, -.col-lg-3, -.col-lg-2, -.col-lg-1, -.col-md, -.col-md-auto, -.col-md-12, -.col-md-11, -.col-md-10, -.col-md-9, -.col-md-8, -.col-md-7, -.col-md-6, -.col-md-5, -.col-md-4, -.col-md-3, -.col-md-2, -.col-md-1, -.col-sm, -.col-sm-auto, -.col-sm-12, -.col-sm-11, -.col-sm-10, -.col-sm-9, -.col-sm-8, -.col-sm-7, -.col-sm-6, -.col-sm-5, -.col-sm-4, -.col-sm-3, -.col-sm-2, -.col-sm-1, -.col, -.col-auto, -.col-12, -.col-11, -.col-10, -.col-9, -.col-8, -.col-7, -.col-6, -.col-5, -.col-4, -.col-3, -.col-2, -.col-1 { +.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg, +.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md, +.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm, +.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col, +.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 { position: relative; width: 100%; padding-right: 15px; @@ -747,7 +599,6 @@ pre code { .col { flex-basis: 0; flex-grow: 1; - min-width: 0; max-width: 100%; } @@ -955,7 +806,6 @@ pre code { .col-sm { flex-basis: 0; flex-grow: 1; - min-width: 0; max-width: 100%; } @@ -1163,12 +1013,10 @@ pre code { margin-left: 91.6666666667%; } } - @media (min-width: 768px) { .col-md { flex-basis: 0; flex-grow: 1; - min-width: 0; max-width: 100%; } @@ -1376,12 +1224,10 @@ pre code { margin-left: 91.6666666667%; } } - @media (min-width: 992px) { .col-lg { flex-basis: 0; flex-grow: 1; - min-width: 0; max-width: 100%; } @@ -1589,12 +1435,10 @@ pre code { margin-left: 91.6666666667%; } } - @media (min-width: 1200px) { .col-xl { flex-basis: 0; flex-grow: 1; - min-width: 0; max-width: 100%; } @@ -1802,25 +1646,21 @@ pre code { margin-left: 91.6666666667%; } } - .table { width: 100%; margin-bottom: 1rem; color: #212529; } - .table th, .table td { padding: 0.75rem; vertical-align: top; border-top: 1px solid #dee2e6; } - .table thead th { vertical-align: bottom; border-bottom: 2px solid #dee2e6; } - .table tbody + tbody { border-top: 2px solid #dee2e6; } @@ -1833,12 +1673,10 @@ pre code { .table-bordered { border: 1px solid #dee2e6; } - .table-bordered th, .table-bordered td { border: 1px solid #dee2e6; } - .table-bordered thead th, .table-bordered thead td { border-bottom-width: 2px; @@ -1865,7 +1703,6 @@ pre code { .table-primary > td { background-color: #c6e0f5; } - .table-primary th, .table-primary td, .table-primary thead th, @@ -1876,7 +1713,6 @@ pre code { .table-hover .table-primary:hover { background-color: #b0d4f1; } - .table-hover .table-primary:hover > td, .table-hover .table-primary:hover > th { background-color: #b0d4f1; @@ -1887,7 +1723,6 @@ pre code { .table-secondary > td { background-color: #d6d8db; } - .table-secondary th, .table-secondary td, .table-secondary thead th, @@ -1898,7 +1733,6 @@ pre code { .table-hover .table-secondary:hover { background-color: #c8cbcf; } - .table-hover .table-secondary:hover > td, .table-hover .table-secondary:hover > th { background-color: #c8cbcf; @@ -1909,7 +1743,6 @@ pre code { .table-success > td { background-color: #c7eed8; } - .table-success th, .table-success td, .table-success thead th, @@ -1920,7 +1753,6 @@ pre code { .table-hover .table-success:hover { background-color: #b3e8ca; } - .table-hover .table-success:hover > td, .table-hover .table-success:hover > th { background-color: #b3e8ca; @@ -1931,7 +1763,6 @@ pre code { .table-info > td { background-color: #d6e9f9; } - .table-info th, .table-info td, .table-info thead th, @@ -1942,7 +1773,6 @@ pre code { .table-hover .table-info:hover { background-color: #c0ddf6; } - .table-hover .table-info:hover > td, .table-hover .table-info:hover > th { background-color: #c0ddf6; @@ -1953,7 +1783,6 @@ pre code { .table-warning > td { background-color: #fffacc; } - .table-warning th, .table-warning td, .table-warning thead th, @@ -1964,7 +1793,6 @@ pre code { .table-hover .table-warning:hover { background-color: #fff8b3; } - .table-hover .table-warning:hover > td, .table-hover .table-warning:hover > th { background-color: #fff8b3; @@ -1975,7 +1803,6 @@ pre code { .table-danger > td { background-color: #f7c6c5; } - .table-danger th, .table-danger td, .table-danger thead th, @@ -1986,7 +1813,6 @@ pre code { .table-hover .table-danger:hover { background-color: #f4b0af; } - .table-hover .table-danger:hover > td, .table-hover .table-danger:hover > th { background-color: #f4b0af; @@ -1997,7 +1823,6 @@ pre code { .table-light > td { background-color: #fdfdfe; } - .table-light th, .table-light td, .table-light thead th, @@ -2008,7 +1833,6 @@ pre code { .table-hover .table-light:hover { background-color: #ececf6; } - .table-hover .table-light:hover > td, .table-hover .table-light:hover > th { background-color: #ececf6; @@ -2019,7 +1843,6 @@ pre code { .table-dark > td { background-color: #c6c8ca; } - .table-dark th, .table-dark td, .table-dark thead th, @@ -2030,7 +1853,6 @@ pre code { .table-hover .table-dark:hover { background-color: #b9bbbe; } - .table-hover .table-dark:hover > td, .table-hover .table-dark:hover > th { background-color: #b9bbbe; @@ -2045,7 +1867,6 @@ pre code { .table-hover .table-active:hover { background-color: rgba(0, 0, 0, 0.075); } - .table-hover .table-active:hover > td, .table-hover .table-active:hover > th { background-color: rgba(0, 0, 0, 0.075); @@ -2056,7 +1877,6 @@ pre code { background-color: #343a40; border-color: #454d55; } - .table .thead-light th { color: #495057; background-color: #e9ecef; @@ -2067,21 +1887,17 @@ pre code { color: #fff; background-color: #343a40; } - .table-dark th, .table-dark td, .table-dark thead th { border-color: #454d55; } - .table-dark.table-bordered { border: 0; } - .table-dark.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(255, 255, 255, 0.05); } - .table-dark.table-hover tbody tr:hover { color: #fff; background-color: rgba(255, 255, 255, 0.075); @@ -2094,12 +1910,10 @@ pre code { overflow-x: auto; -webkit-overflow-scrolling: touch; } - .table-responsive-sm > .table-bordered { border: 0; } } - @media (max-width: 767.98px) { .table-responsive-md { display: block; @@ -2107,12 +1921,10 @@ pre code { overflow-x: auto; -webkit-overflow-scrolling: touch; } - .table-responsive-md > .table-bordered { border: 0; } } - @media (max-width: 991.98px) { .table-responsive-lg { display: block; @@ -2120,12 +1932,10 @@ pre code { overflow-x: auto; -webkit-overflow-scrolling: touch; } - .table-responsive-lg > .table-bordered { border: 0; } } - @media (max-width: 1199.98px) { .table-responsive-xl { display: block; @@ -2133,19 +1943,16 @@ pre code { overflow-x: auto; -webkit-overflow-scrolling: touch; } - .table-responsive-xl > .table-bordered { border: 0; } } - .table-responsive { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; } - .table-responsive > .table-bordered { border: 0; } @@ -2165,23 +1972,19 @@ pre code { border-radius: 0.25rem; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { .form-control { transition: none; } } - .form-control::-ms-expand { background-color: transparent; border: 0; } - .form-control:-moz-focusring { color: transparent; text-shadow: 0 0 0 #495057; } - .form-control:focus { color: #495057; background-color: #fff; @@ -2189,29 +1992,19 @@ pre code { outline: 0; box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, 0.25); } - .form-control::-moz-placeholder { color: #6c757d; opacity: 1; } - .form-control:-ms-input-placeholder { color: #6c757d; opacity: 1; } - -.form-control::-ms-input-placeholder { - color: #6c757d; - opacity: 1; -} - .form-control::placeholder { color: #6c757d; opacity: 1; } - -.form-control:disabled, -.form-control[readonly] { +.form-control:disabled, .form-control[readonly] { background-color: #e9ecef; opacity: 1; } @@ -2270,9 +2063,7 @@ select.form-control:focus::-ms-value { border: solid transparent; border-width: 1px 0; } - -.form-control-plaintext.form-control-sm, -.form-control-plaintext.form-control-lg { +.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg { padding-right: 0; padding-left: 0; } @@ -2293,8 +2084,7 @@ select.form-control:focus::-ms-value { border-radius: 0.3rem; } -select.form-control[size], -select.form-control[multiple] { +select.form-control[size], select.form-control[multiple] { height: auto; } @@ -2317,7 +2107,6 @@ textarea.form-control { margin-right: -5px; margin-left: -5px; } - .form-row > .col, .form-row > [class*=col-] { padding-right: 5px; @@ -2335,9 +2124,7 @@ textarea.form-control { margin-top: 0.3rem; margin-left: -1.25rem; } - -.form-check-input[disabled] ~ .form-check-label, -.form-check-input:disabled ~ .form-check-label { +.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label { color: #6c757d; } @@ -2351,7 +2138,6 @@ textarea.form-control { padding-left: 0; margin-right: 0.75rem; } - .form-check-inline .form-check-input { position: static; margin-top: 0; @@ -2370,6 +2156,7 @@ textarea.form-control { .valid-tooltip { position: absolute; top: 100%; + left: 0; z-index: 5; display: none; max-width: 100%; @@ -2381,6 +2168,9 @@ textarea.form-control { background-color: rgba(56, 193, 114, 0.9); border-radius: 0.25rem; } +.form-row > .col > .valid-tooltip, .form-row > [class*=col-] > .valid-tooltip { + left: 5px; +} .was-validated :valid ~ .valid-feedback, .was-validated :valid ~ .valid-tooltip, @@ -2389,8 +2179,7 @@ textarea.form-control { display: block; } -.was-validated .form-control:valid, -.form-control.is-valid { +.was-validated .form-control:valid, .form-control.is-valid { border-color: #38c172; padding-right: calc(1.6em + 0.75rem); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2338c172' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"); @@ -2398,77 +2187,56 @@ textarea.form-control { background-position: right calc(0.4em + 0.1875rem) center; background-size: calc(0.8em + 0.375rem) calc(0.8em + 0.375rem); } - -.was-validated .form-control:valid:focus, -.form-control.is-valid:focus { +.was-validated .form-control:valid:focus, .form-control.is-valid:focus { border-color: #38c172; box-shadow: 0 0 0 0.2rem rgba(56, 193, 114, 0.25); } -.was-validated textarea.form-control:valid, -textarea.form-control.is-valid { +.was-validated textarea.form-control:valid, textarea.form-control.is-valid { padding-right: calc(1.6em + 0.75rem); background-position: top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem); } -.was-validated .custom-select:valid, -.custom-select.is-valid { +.was-validated .custom-select:valid, .custom-select.is-valid { border-color: #38c172; padding-right: calc(0.75em + 2.3125rem); - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2338c172' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2338c172' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem) no-repeat; } - -.was-validated .custom-select:valid:focus, -.custom-select.is-valid:focus { +.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus { border-color: #38c172; box-shadow: 0 0 0 0.2rem rgba(56, 193, 114, 0.25); } -.was-validated .form-check-input:valid ~ .form-check-label, -.form-check-input.is-valid ~ .form-check-label { +.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label { color: #38c172; } - .was-validated .form-check-input:valid ~ .valid-feedback, -.was-validated .form-check-input:valid ~ .valid-tooltip, -.form-check-input.is-valid ~ .valid-feedback, +.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback, .form-check-input.is-valid ~ .valid-tooltip { display: block; } -.was-validated .custom-control-input:valid ~ .custom-control-label, -.custom-control-input.is-valid ~ .custom-control-label { +.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label { color: #38c172; } - -.was-validated .custom-control-input:valid ~ .custom-control-label::before, -.custom-control-input.is-valid ~ .custom-control-label::before { +.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before { border-color: #38c172; } - -.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, -.custom-control-input.is-valid:checked ~ .custom-control-label::before { +.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before { border-color: #5cd08d; background-color: #5cd08d; } - -.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, -.custom-control-input.is-valid:focus ~ .custom-control-label::before { +.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before { box-shadow: 0 0 0 0.2rem rgba(56, 193, 114, 0.25); } - -.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, -.custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { +.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before { border-color: #38c172; } -.was-validated .custom-file-input:valid ~ .custom-file-label, -.custom-file-input.is-valid ~ .custom-file-label { +.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label { border-color: #38c172; } - -.was-validated .custom-file-input:valid:focus ~ .custom-file-label, -.custom-file-input.is-valid:focus ~ .custom-file-label { +.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label { border-color: #38c172; box-shadow: 0 0 0 0.2rem rgba(56, 193, 114, 0.25); } @@ -2484,6 +2252,7 @@ textarea.form-control.is-valid { .invalid-tooltip { position: absolute; top: 100%; + left: 0; z-index: 5; display: none; max-width: 100%; @@ -2495,6 +2264,9 @@ textarea.form-control.is-valid { background-color: rgba(227, 52, 47, 0.9); border-radius: 0.25rem; } +.form-row > .col > .invalid-tooltip, .form-row > [class*=col-] > .invalid-tooltip { + left: 5px; +} .was-validated :invalid ~ .invalid-feedback, .was-validated :invalid ~ .invalid-tooltip, @@ -2503,8 +2275,7 @@ textarea.form-control.is-valid { display: block; } -.was-validated .form-control:invalid, -.form-control.is-invalid { +.was-validated .form-control:invalid, .form-control.is-invalid { border-color: #e3342f; padding-right: calc(1.6em + 0.75rem); background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3e%3c/svg%3e"); @@ -2512,77 +2283,56 @@ textarea.form-control.is-valid { background-position: right calc(0.4em + 0.1875rem) center; background-size: calc(0.8em + 0.375rem) calc(0.8em + 0.375rem); } - -.was-validated .form-control:invalid:focus, -.form-control.is-invalid:focus { +.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus { border-color: #e3342f; box-shadow: 0 0 0 0.2rem rgba(227, 52, 47, 0.25); } -.was-validated textarea.form-control:invalid, -textarea.form-control.is-invalid { +.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid { padding-right: calc(1.6em + 0.75rem); background-position: top calc(0.4em + 0.1875rem) right calc(0.4em + 0.1875rem); } -.was-validated .custom-select:invalid, -.custom-select.is-invalid { +.was-validated .custom-select:invalid, .custom-select.is-invalid { border-color: #e3342f; padding-right: calc(0.75em + 2.3125rem); - background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px, url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3e%3c/svg%3e") #fff no-repeat center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem); + background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat, #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23e3342f' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23e3342f' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(0.8em + 0.375rem) calc(0.8em + 0.375rem) no-repeat; } - -.was-validated .custom-select:invalid:focus, -.custom-select.is-invalid:focus { +.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus { border-color: #e3342f; box-shadow: 0 0 0 0.2rem rgba(227, 52, 47, 0.25); } -.was-validated .form-check-input:invalid ~ .form-check-label, -.form-check-input.is-invalid ~ .form-check-label { +.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label { color: #e3342f; } - .was-validated .form-check-input:invalid ~ .invalid-feedback, -.was-validated .form-check-input:invalid ~ .invalid-tooltip, -.form-check-input.is-invalid ~ .invalid-feedback, +.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback, .form-check-input.is-invalid ~ .invalid-tooltip { display: block; } -.was-validated .custom-control-input:invalid ~ .custom-control-label, -.custom-control-input.is-invalid ~ .custom-control-label { +.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label { color: #e3342f; } - -.was-validated .custom-control-input:invalid ~ .custom-control-label::before, -.custom-control-input.is-invalid ~ .custom-control-label::before { +.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before { border-color: #e3342f; } - -.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, -.custom-control-input.is-invalid:checked ~ .custom-control-label::before { +.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before { border-color: #e9605c; background-color: #e9605c; } - -.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, -.custom-control-input.is-invalid:focus ~ .custom-control-label::before { +.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before { box-shadow: 0 0 0 0.2rem rgba(227, 52, 47, 0.25); } - -.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, -.custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { +.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before { border-color: #e3342f; } -.was-validated .custom-file-input:invalid ~ .custom-file-label, -.custom-file-input.is-invalid ~ .custom-file-label { +.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label { border-color: #e3342f; } - -.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, -.custom-file-input.is-invalid:focus ~ .custom-file-label { +.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label { border-color: #e3342f; box-shadow: 0 0 0 0.2rem rgba(227, 52, 47, 0.25); } @@ -2592,11 +2342,9 @@ textarea.form-control.is-invalid { flex-flow: row wrap; align-items: center; } - .form-inline .form-check { width: 100%; } - @media (min-width: 576px) { .form-inline label { display: flex; @@ -2604,7 +2352,6 @@ textarea.form-control.is-invalid { justify-content: center; margin-bottom: 0; } - .form-inline .form-group { display: flex; flex: 0 0 auto; @@ -2612,22 +2359,18 @@ textarea.form-control.is-invalid { align-items: center; margin-bottom: 0; } - .form-inline .form-control { display: inline-block; width: auto; vertical-align: middle; } - .form-inline .form-control-plaintext { display: inline-block; } - .form-inline .input-group, - .form-inline .custom-select { +.form-inline .custom-select { width: auto; } - .form-inline .form-check { display: flex; align-items: center; @@ -2635,7 +2378,6 @@ textarea.form-control.is-invalid { width: auto; padding-left: 0; } - .form-inline .form-check-input { position: relative; flex-shrink: 0; @@ -2643,12 +2385,10 @@ textarea.form-control.is-invalid { margin-right: 0.25rem; margin-left: 0; } - .form-inline .custom-control { align-items: center; justify-content: center; } - .form-inline .custom-control-label { margin-bottom: 0; } @@ -2672,33 +2412,25 @@ textarea.form-control.is-invalid { border-radius: 0.25rem; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { .btn { transition: none; } } - .btn:hover { color: #212529; text-decoration: none; } - -.btn:focus, -.btn.focus { +.btn:focus, .btn.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, 0.25); } - -.btn.disabled, -.btn:disabled { +.btn.disabled, .btn:disabled { opacity: 0.65; } - .btn:not(:disabled):not(.disabled) { cursor: pointer; } - a.btn.disabled, fieldset:disabled a.btn { pointer-events: none; @@ -2709,39 +2441,28 @@ fieldset:disabled a.btn { background-color: #3490dc; border-color: #3490dc; } - .btn-primary:hover { color: #fff; background-color: #227dc7; border-color: #2176bd; } - -.btn-primary:focus, -.btn-primary.focus { +.btn-primary:focus, .btn-primary.focus { color: #fff; background-color: #227dc7; border-color: #2176bd; box-shadow: 0 0 0 0.2rem rgba(82, 161, 225, 0.5); } - -.btn-primary.disabled, -.btn-primary:disabled { +.btn-primary.disabled, .btn-primary:disabled { color: #fff; background-color: #3490dc; border-color: #3490dc; } - -.btn-primary:not(:disabled):not(.disabled):active, -.btn-primary:not(:disabled):not(.disabled).active, -.show > .btn-primary.dropdown-toggle { +.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle { color: #fff; background-color: #2176bd; border-color: #1f6fb2; } - -.btn-primary:not(:disabled):not(.disabled):active:focus, -.btn-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-primary.dropdown-toggle:focus { +.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(82, 161, 225, 0.5); } @@ -2750,39 +2471,28 @@ fieldset:disabled a.btn { background-color: #6c757d; border-color: #6c757d; } - .btn-secondary:hover { color: #fff; background-color: #5a6268; border-color: #545b62; } - -.btn-secondary:focus, -.btn-secondary.focus { +.btn-secondary:focus, .btn-secondary.focus { color: #fff; background-color: #5a6268; border-color: #545b62; box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); } - -.btn-secondary.disabled, -.btn-secondary:disabled { +.btn-secondary.disabled, .btn-secondary:disabled { color: #fff; background-color: #6c757d; border-color: #6c757d; } - -.btn-secondary:not(:disabled):not(.disabled):active, -.btn-secondary:not(:disabled):not(.disabled).active, -.show > .btn-secondary.dropdown-toggle { +.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle { color: #fff; background-color: #545b62; border-color: #4e555b; } - -.btn-secondary:not(:disabled):not(.disabled):active:focus, -.btn-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-secondary.dropdown-toggle:focus { +.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5); } @@ -2791,39 +2501,28 @@ fieldset:disabled a.btn { background-color: #38c172; border-color: #38c172; } - .btn-success:hover { color: #fff; background-color: #2fa360; border-color: #2d995b; } - -.btn-success:focus, -.btn-success.focus { +.btn-success:focus, .btn-success.focus { color: #fff; background-color: #2fa360; border-color: #2d995b; box-shadow: 0 0 0 0.2rem rgba(86, 202, 135, 0.5); } - -.btn-success.disabled, -.btn-success:disabled { +.btn-success.disabled, .btn-success:disabled { color: #fff; background-color: #38c172; border-color: #38c172; } - -.btn-success:not(:disabled):not(.disabled):active, -.btn-success:not(:disabled):not(.disabled).active, -.show > .btn-success.dropdown-toggle { +.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle { color: #fff; background-color: #2d995b; border-color: #2a9055; } - -.btn-success:not(:disabled):not(.disabled):active:focus, -.btn-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-success.dropdown-toggle:focus { +.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(86, 202, 135, 0.5); } @@ -2832,39 +2531,28 @@ fieldset:disabled a.btn { background-color: #6cb2eb; border-color: #6cb2eb; } - .btn-info:hover { color: #fff; background-color: #4aa0e6; border-color: #3f9ae5; } - -.btn-info:focus, -.btn-info.focus { +.btn-info:focus, .btn-info.focus { color: #fff; background-color: #4aa0e6; border-color: #3f9ae5; box-shadow: 0 0 0 0.2rem rgba(97, 157, 206, 0.5); } - -.btn-info.disabled, -.btn-info:disabled { +.btn-info.disabled, .btn-info:disabled { color: #212529; background-color: #6cb2eb; border-color: #6cb2eb; } - -.btn-info:not(:disabled):not(.disabled):active, -.btn-info:not(:disabled):not(.disabled).active, -.show > .btn-info.dropdown-toggle { +.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle { color: #fff; background-color: #3f9ae5; border-color: #3495e3; } - -.btn-info:not(:disabled):not(.disabled):active:focus, -.btn-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-info.dropdown-toggle:focus { +.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(97, 157, 206, 0.5); } @@ -2873,39 +2561,28 @@ fieldset:disabled a.btn { background-color: #ffed4a; border-color: #ffed4a; } - .btn-warning:hover { color: #212529; background-color: #ffe924; border-color: #ffe817; } - -.btn-warning:focus, -.btn-warning.focus { +.btn-warning:focus, .btn-warning.focus { color: #212529; background-color: #ffe924; border-color: #ffe817; box-shadow: 0 0 0 0.2rem rgba(222, 207, 69, 0.5); } - -.btn-warning.disabled, -.btn-warning:disabled { +.btn-warning.disabled, .btn-warning:disabled { color: #212529; background-color: #ffed4a; border-color: #ffed4a; } - -.btn-warning:not(:disabled):not(.disabled):active, -.btn-warning:not(:disabled):not(.disabled).active, -.show > .btn-warning.dropdown-toggle { +.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle { color: #212529; background-color: #ffe817; border-color: #ffe70a; } - -.btn-warning:not(:disabled):not(.disabled):active:focus, -.btn-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-warning.dropdown-toggle:focus { +.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(222, 207, 69, 0.5); } @@ -2914,39 +2591,28 @@ fieldset:disabled a.btn { background-color: #e3342f; border-color: #e3342f; } - .btn-danger:hover { color: #fff; background-color: #d0211c; border-color: #c51f1a; } - -.btn-danger:focus, -.btn-danger.focus { +.btn-danger:focus, .btn-danger.focus { color: #fff; background-color: #d0211c; border-color: #c51f1a; box-shadow: 0 0 0 0.2rem rgba(231, 82, 78, 0.5); } - -.btn-danger.disabled, -.btn-danger:disabled { +.btn-danger.disabled, .btn-danger:disabled { color: #fff; background-color: #e3342f; border-color: #e3342f; } - -.btn-danger:not(:disabled):not(.disabled):active, -.btn-danger:not(:disabled):not(.disabled).active, -.show > .btn-danger.dropdown-toggle { +.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle { color: #fff; background-color: #c51f1a; border-color: #b91d19; } - -.btn-danger:not(:disabled):not(.disabled):active:focus, -.btn-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-danger.dropdown-toggle:focus { +.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(231, 82, 78, 0.5); } @@ -2955,39 +2621,28 @@ fieldset:disabled a.btn { background-color: #f8f9fa; border-color: #f8f9fa; } - .btn-light:hover { color: #212529; background-color: #e2e6ea; border-color: #dae0e5; } - -.btn-light:focus, -.btn-light.focus { +.btn-light:focus, .btn-light.focus { color: #212529; background-color: #e2e6ea; border-color: #dae0e5; box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } - -.btn-light.disabled, -.btn-light:disabled { +.btn-light.disabled, .btn-light:disabled { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } - -.btn-light:not(:disabled):not(.disabled):active, -.btn-light:not(:disabled):not(.disabled).active, -.show > .btn-light.dropdown-toggle { +.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle { color: #212529; background-color: #dae0e5; border-color: #d3d9df; } - -.btn-light:not(:disabled):not(.disabled):active:focus, -.btn-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-light.dropdown-toggle:focus { +.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5); } @@ -2996,39 +2651,28 @@ fieldset:disabled a.btn { background-color: #343a40; border-color: #343a40; } - .btn-dark:hover { color: #fff; background-color: #23272b; border-color: #1d2124; } - -.btn-dark:focus, -.btn-dark.focus { +.btn-dark:focus, .btn-dark.focus { color: #fff; background-color: #23272b; border-color: #1d2124; box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); } - -.btn-dark.disabled, -.btn-dark:disabled { +.btn-dark.disabled, .btn-dark:disabled { color: #fff; background-color: #343a40; border-color: #343a40; } - -.btn-dark:not(:disabled):not(.disabled):active, -.btn-dark:not(:disabled):not(.disabled).active, -.show > .btn-dark.dropdown-toggle { +.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle { color: #fff; background-color: #1d2124; border-color: #171a1d; } - -.btn-dark:not(:disabled):not(.disabled):active:focus, -.btn-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-dark.dropdown-toggle:focus { +.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5); } @@ -3036,35 +2680,24 @@ fieldset:disabled a.btn { color: #3490dc; border-color: #3490dc; } - .btn-outline-primary:hover { color: #fff; background-color: #3490dc; border-color: #3490dc; } - -.btn-outline-primary:focus, -.btn-outline-primary.focus { +.btn-outline-primary:focus, .btn-outline-primary.focus { box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, 0.5); } - -.btn-outline-primary.disabled, -.btn-outline-primary:disabled { +.btn-outline-primary.disabled, .btn-outline-primary:disabled { color: #3490dc; background-color: transparent; } - -.btn-outline-primary:not(:disabled):not(.disabled):active, -.btn-outline-primary:not(:disabled):not(.disabled).active, -.show > .btn-outline-primary.dropdown-toggle { +.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle { color: #fff; background-color: #3490dc; border-color: #3490dc; } - -.btn-outline-primary:not(:disabled):not(.disabled):active:focus, -.btn-outline-primary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-primary.dropdown-toggle:focus { +.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, 0.5); } @@ -3072,35 +2705,24 @@ fieldset:disabled a.btn { color: #6c757d; border-color: #6c757d; } - .btn-outline-secondary:hover { color: #fff; background-color: #6c757d; border-color: #6c757d; } - -.btn-outline-secondary:focus, -.btn-outline-secondary.focus { +.btn-outline-secondary:focus, .btn-outline-secondary.focus { box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } - -.btn-outline-secondary.disabled, -.btn-outline-secondary:disabled { +.btn-outline-secondary.disabled, .btn-outline-secondary:disabled { color: #6c757d; background-color: transparent; } - -.btn-outline-secondary:not(:disabled):not(.disabled):active, -.btn-outline-secondary:not(:disabled):not(.disabled).active, -.show > .btn-outline-secondary.dropdown-toggle { +.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle { color: #fff; background-color: #6c757d; border-color: #6c757d; } - -.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, -.btn-outline-secondary:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-secondary.dropdown-toggle:focus { +.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } @@ -3108,35 +2730,24 @@ fieldset:disabled a.btn { color: #38c172; border-color: #38c172; } - .btn-outline-success:hover { color: #fff; background-color: #38c172; border-color: #38c172; } - -.btn-outline-success:focus, -.btn-outline-success.focus { +.btn-outline-success:focus, .btn-outline-success.focus { box-shadow: 0 0 0 0.2rem rgba(56, 193, 114, 0.5); } - -.btn-outline-success.disabled, -.btn-outline-success:disabled { +.btn-outline-success.disabled, .btn-outline-success:disabled { color: #38c172; background-color: transparent; } - -.btn-outline-success:not(:disabled):not(.disabled):active, -.btn-outline-success:not(:disabled):not(.disabled).active, -.show > .btn-outline-success.dropdown-toggle { +.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle { color: #fff; background-color: #38c172; border-color: #38c172; } - -.btn-outline-success:not(:disabled):not(.disabled):active:focus, -.btn-outline-success:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-success.dropdown-toggle:focus { +.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(56, 193, 114, 0.5); } @@ -3144,35 +2755,24 @@ fieldset:disabled a.btn { color: #6cb2eb; border-color: #6cb2eb; } - .btn-outline-info:hover { color: #212529; background-color: #6cb2eb; border-color: #6cb2eb; } - -.btn-outline-info:focus, -.btn-outline-info.focus { +.btn-outline-info:focus, .btn-outline-info.focus { box-shadow: 0 0 0 0.2rem rgba(108, 178, 235, 0.5); } - -.btn-outline-info.disabled, -.btn-outline-info:disabled { +.btn-outline-info.disabled, .btn-outline-info:disabled { color: #6cb2eb; background-color: transparent; } - -.btn-outline-info:not(:disabled):not(.disabled):active, -.btn-outline-info:not(:disabled):not(.disabled).active, -.show > .btn-outline-info.dropdown-toggle { +.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle { color: #212529; background-color: #6cb2eb; border-color: #6cb2eb; } - -.btn-outline-info:not(:disabled):not(.disabled):active:focus, -.btn-outline-info:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-info.dropdown-toggle:focus { +.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(108, 178, 235, 0.5); } @@ -3180,35 +2780,24 @@ fieldset:disabled a.btn { color: #ffed4a; border-color: #ffed4a; } - .btn-outline-warning:hover { color: #212529; background-color: #ffed4a; border-color: #ffed4a; } - -.btn-outline-warning:focus, -.btn-outline-warning.focus { +.btn-outline-warning:focus, .btn-outline-warning.focus { box-shadow: 0 0 0 0.2rem rgba(255, 237, 74, 0.5); } - -.btn-outline-warning.disabled, -.btn-outline-warning:disabled { +.btn-outline-warning.disabled, .btn-outline-warning:disabled { color: #ffed4a; background-color: transparent; } - -.btn-outline-warning:not(:disabled):not(.disabled):active, -.btn-outline-warning:not(:disabled):not(.disabled).active, -.show > .btn-outline-warning.dropdown-toggle { +.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle { color: #212529; background-color: #ffed4a; border-color: #ffed4a; } - -.btn-outline-warning:not(:disabled):not(.disabled):active:focus, -.btn-outline-warning:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-warning.dropdown-toggle:focus { +.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(255, 237, 74, 0.5); } @@ -3216,35 +2805,24 @@ fieldset:disabled a.btn { color: #e3342f; border-color: #e3342f; } - .btn-outline-danger:hover { color: #fff; background-color: #e3342f; border-color: #e3342f; } - -.btn-outline-danger:focus, -.btn-outline-danger.focus { +.btn-outline-danger:focus, .btn-outline-danger.focus { box-shadow: 0 0 0 0.2rem rgba(227, 52, 47, 0.5); } - -.btn-outline-danger.disabled, -.btn-outline-danger:disabled { +.btn-outline-danger.disabled, .btn-outline-danger:disabled { color: #e3342f; background-color: transparent; } - -.btn-outline-danger:not(:disabled):not(.disabled):active, -.btn-outline-danger:not(:disabled):not(.disabled).active, -.show > .btn-outline-danger.dropdown-toggle { +.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle { color: #fff; background-color: #e3342f; border-color: #e3342f; } - -.btn-outline-danger:not(:disabled):not(.disabled):active:focus, -.btn-outline-danger:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-danger.dropdown-toggle:focus { +.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(227, 52, 47, 0.5); } @@ -3252,35 +2830,24 @@ fieldset:disabled a.btn { color: #f8f9fa; border-color: #f8f9fa; } - .btn-outline-light:hover { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } - -.btn-outline-light:focus, -.btn-outline-light.focus { +.btn-outline-light:focus, .btn-outline-light.focus { box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } - -.btn-outline-light.disabled, -.btn-outline-light:disabled { +.btn-outline-light.disabled, .btn-outline-light:disabled { color: #f8f9fa; background-color: transparent; } - -.btn-outline-light:not(:disabled):not(.disabled):active, -.btn-outline-light:not(:disabled):not(.disabled).active, -.show > .btn-outline-light.dropdown-toggle { +.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle { color: #212529; background-color: #f8f9fa; border-color: #f8f9fa; } - -.btn-outline-light:not(:disabled):not(.disabled):active:focus, -.btn-outline-light:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-light.dropdown-toggle:focus { +.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } @@ -3288,35 +2855,24 @@ fieldset:disabled a.btn { color: #343a40; border-color: #343a40; } - .btn-outline-dark:hover { color: #fff; background-color: #343a40; border-color: #343a40; } - -.btn-outline-dark:focus, -.btn-outline-dark.focus { +.btn-outline-dark:focus, .btn-outline-dark.focus { box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } - -.btn-outline-dark.disabled, -.btn-outline-dark:disabled { +.btn-outline-dark.disabled, .btn-outline-dark:disabled { color: #343a40; background-color: transparent; } - -.btn-outline-dark:not(:disabled):not(.disabled):active, -.btn-outline-dark:not(:disabled):not(.disabled).active, -.show > .btn-outline-dark.dropdown-toggle { +.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle { color: #fff; background-color: #343a40; border-color: #343a40; } - -.btn-outline-dark:not(:disabled):not(.disabled):active:focus, -.btn-outline-dark:not(:disabled):not(.disabled).active:focus, -.show > .btn-outline-dark.dropdown-toggle:focus { +.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus { box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } @@ -3325,33 +2881,26 @@ fieldset:disabled a.btn { color: #3490dc; text-decoration: none; } - .btn-link:hover { color: #1d68a7; text-decoration: underline; } - -.btn-link:focus, -.btn-link.focus { +.btn-link:focus, .btn-link.focus { text-decoration: underline; } - -.btn-link:disabled, -.btn-link.disabled { +.btn-link:disabled, .btn-link.disabled { color: #6c757d; pointer-events: none; } -.btn-lg, -.btn-group-lg > .btn { +.btn-lg, .btn-group-lg > .btn { padding: 0.5rem 1rem; font-size: 1.125rem; line-height: 1.5; border-radius: 0.3rem; } -.btn-sm, -.btn-group-sm > .btn { +.btn-sm, .btn-group-sm > .btn { padding: 0.25rem 0.5rem; font-size: 0.7875rem; line-height: 1.5; @@ -3362,7 +2911,6 @@ fieldset:disabled a.btn { display: block; width: 100%; } - .btn-block + .btn-block { margin-top: 0.5rem; } @@ -3376,13 +2924,11 @@ input[type=button].btn-block { .fade { transition: opacity 0.15s linear; } - @media (prefers-reduced-motion: reduce) { .fade { transition: none; } } - .fade:not(.show) { opacity: 0; } @@ -3397,7 +2943,6 @@ input[type=button].btn-block { overflow: hidden; transition: height 0.35s ease; } - @media (prefers-reduced-motion: reduce) { .collapsing { transition: none; @@ -3414,7 +2959,6 @@ input[type=button].btn-block { .dropdown-toggle { white-space: nowrap; } - .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; @@ -3425,7 +2969,6 @@ input[type=button].btn-block { border-bottom: 0; border-left: 0.3em solid transparent; } - .dropdown-toggle:empty::after { margin-left: 0; } @@ -3471,7 +3014,6 @@ input[type=button].btn-block { left: auto; } } - @media (min-width: 768px) { .dropdown-menu-md-left { right: auto; @@ -3483,7 +3025,6 @@ input[type=button].btn-block { left: auto; } } - @media (min-width: 992px) { .dropdown-menu-lg-left { right: auto; @@ -3495,7 +3036,6 @@ input[type=button].btn-block { left: auto; } } - @media (min-width: 1200px) { .dropdown-menu-xl-left { right: auto; @@ -3507,14 +3047,12 @@ input[type=button].btn-block { left: auto; } } - .dropup .dropdown-menu { top: auto; bottom: 100%; margin-top: 0; margin-bottom: 0.125rem; } - .dropup .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; @@ -3525,7 +3063,6 @@ input[type=button].btn-block { border-bottom: 0.3em solid; border-left: 0.3em solid transparent; } - .dropup .dropdown-toggle:empty::after { margin-left: 0; } @@ -3537,7 +3074,6 @@ input[type=button].btn-block { margin-top: 0; margin-left: 0.125rem; } - .dropright .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; @@ -3548,11 +3084,9 @@ input[type=button].btn-block { border-bottom: 0.3em solid transparent; border-left: 0.3em solid; } - .dropright .dropdown-toggle:empty::after { margin-left: 0; } - .dropright .dropdown-toggle::after { vertical-align: 0; } @@ -3564,18 +3098,15 @@ input[type=button].btn-block { margin-top: 0; margin-right: 0.125rem; } - .dropleft .dropdown-toggle::after { display: inline-block; margin-left: 0.255em; vertical-align: 0.255em; content: ""; } - .dropleft .dropdown-toggle::after { display: none; } - .dropleft .dropdown-toggle::before { display: inline-block; margin-right: 0.255em; @@ -3585,19 +3116,14 @@ input[type=button].btn-block { border-right: 0.3em solid; border-bottom: 0.3em solid transparent; } - .dropleft .dropdown-toggle:empty::after { margin-left: 0; } - .dropleft .dropdown-toggle::before { vertical-align: 0; } -.dropdown-menu[x-placement^=top], -.dropdown-menu[x-placement^=right], -.dropdown-menu[x-placement^=bottom], -.dropdown-menu[x-placement^=left] { +.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] { right: auto; bottom: auto; } @@ -3621,24 +3147,18 @@ input[type=button].btn-block { background-color: transparent; border: 0; } - -.dropdown-item:hover, -.dropdown-item:focus { +.dropdown-item:hover, .dropdown-item:focus { color: #16181b; text-decoration: none; - background-color: #f8f9fa; + background-color: #e9ecef; } - -.dropdown-item.active, -.dropdown-item:active { +.dropdown-item.active, .dropdown-item:active { color: #fff; text-decoration: none; background-color: #3490dc; } - -.dropdown-item.disabled, -.dropdown-item:disabled { - color: #6c757d; +.dropdown-item.disabled, .dropdown-item:disabled { + color: #adb5bd; pointer-events: none; background-color: transparent; } @@ -3668,21 +3188,16 @@ input[type=button].btn-block { display: inline-flex; vertical-align: middle; } - .btn-group > .btn, .btn-group-vertical > .btn { position: relative; flex: 1 1 auto; } - .btn-group > .btn:hover, .btn-group-vertical > .btn:hover { z-index: 1; } - -.btn-group > .btn:focus, -.btn-group > .btn:active, -.btn-group > .btn.active, +.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active, .btn-group-vertical > .btn:focus, .btn-group-vertical > .btn:active, .btn-group-vertical > .btn.active { @@ -3694,7 +3209,6 @@ input[type=button].btn-block { flex-wrap: wrap; justify-content: flex-start; } - .btn-toolbar .input-group { width: auto; } @@ -3703,13 +3217,11 @@ input[type=button].btn-block { .btn-group > .btn-group:not(:first-child) { margin-left: -1px; } - .btn-group > .btn:not(:last-child):not(.dropdown-toggle), .btn-group > .btn-group:not(:last-child) > .btn { border-top-right-radius: 0; border-bottom-right-radius: 0; } - .btn-group > .btn:not(:first-child), .btn-group > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; @@ -3720,25 +3232,19 @@ input[type=button].btn-block { padding-right: 0.5625rem; padding-left: 0.5625rem; } - -.dropdown-toggle-split::after, -.dropup .dropdown-toggle-split::after, -.dropright .dropdown-toggle-split::after { +.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after { margin-left: 0; } - .dropleft .dropdown-toggle-split::before { margin-right: 0; } -.btn-sm + .dropdown-toggle-split, -.btn-group-sm > .btn + .dropdown-toggle-split { +.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split { padding-right: 0.375rem; padding-left: 0.375rem; } -.btn-lg + .dropdown-toggle-split, -.btn-group-lg > .btn + .dropdown-toggle-split { +.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split { padding-right: 0.75rem; padding-left: 0.75rem; } @@ -3748,23 +3254,19 @@ input[type=button].btn-block { align-items: flex-start; justify-content: center; } - .btn-group-vertical > .btn, .btn-group-vertical > .btn-group { width: 100%; } - .btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) { margin-top: -1px; } - .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle), .btn-group-vertical > .btn-group:not(:last-child) > .btn { border-bottom-right-radius: 0; border-bottom-left-radius: 0; } - .btn-group-vertical > .btn:not(:first-child), .btn-group-vertical > .btn-group:not(:first-child) > .btn { border-top-left-radius: 0; @@ -3775,7 +3277,6 @@ input[type=button].btn-block { .btn-group-toggle > .btn-group > .btn { margin-bottom: 0; } - .btn-group-toggle > .btn input[type=radio], .btn-group-toggle > .btn input[type=checkbox], .btn-group-toggle > .btn-group > .btn input[type=radio], @@ -3792,7 +3293,6 @@ input[type=button].btn-block { align-items: stretch; width: 100%; } - .input-group > .form-control, .input-group > .form-control-plaintext, .input-group > .custom-select, @@ -3803,7 +3303,6 @@ input[type=button].btn-block { min-width: 0; margin-bottom: 0; } - .input-group > .form-control + .form-control, .input-group > .form-control + .custom-select, .input-group > .form-control + .custom-file, @@ -3818,61 +3317,53 @@ input[type=button].btn-block { .input-group > .custom-file + .custom-file { margin-left: -1px; } - .input-group > .form-control:focus, .input-group > .custom-select:focus, .input-group > .custom-file .custom-file-input:focus ~ .custom-file-label { z-index: 3; } - .input-group > .custom-file .custom-file-input:focus { z-index: 4; } - -.input-group > .form-control:not(:last-child), -.input-group > .custom-select:not(:last-child) { - border-top-right-radius: 0; - border-bottom-right-radius: 0; -} - .input-group > .form-control:not(:first-child), .input-group > .custom-select:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } - .input-group > .custom-file { display: flex; align-items: center; } - -.input-group > .custom-file:not(:last-child) .custom-file-label, -.input-group > .custom-file:not(:last-child) .custom-file-label::after { +.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:first-child) .custom-file-label { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group:not(.has-validation) > .form-control:not(:last-child), +.input-group:not(.has-validation) > .custom-select:not(:last-child), +.input-group:not(.has-validation) > .custom-file:not(:last-child) .custom-file-label::after { border-top-right-radius: 0; border-bottom-right-radius: 0; } - -.input-group > .custom-file:not(:first-child) .custom-file-label { - border-top-left-radius: 0; - border-bottom-left-radius: 0; +.input-group.has-validation > .form-control:nth-last-child(n+3), +.input-group.has-validation > .custom-select:nth-last-child(n+3), +.input-group.has-validation > .custom-file:nth-last-child(n+3) .custom-file-label::after { + border-top-right-radius: 0; + border-bottom-right-radius: 0; } .input-group-prepend, .input-group-append { display: flex; } - .input-group-prepend .btn, .input-group-append .btn { position: relative; z-index: 2; } - .input-group-prepend .btn:focus, .input-group-append .btn:focus { z-index: 3; } - .input-group-prepend .btn + .btn, .input-group-prepend .btn + .input-group-text, .input-group-prepend .input-group-text + .input-group-text, @@ -3907,7 +3398,6 @@ input[type=button].btn-block { border: 1px solid #ced4da; border-radius: 0.25rem; } - .input-group-text input[type=radio], .input-group-text input[type=checkbox] { margin-top: 0; @@ -3954,8 +3444,10 @@ input[type=button].btn-block { .input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text, -.input-group > .input-group-append:not(:last-child) > .btn, -.input-group > .input-group-append:not(:last-child) > .input-group-text, +.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn, +.input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text, +.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .btn, +.input-group.has-validation > .input-group-append:nth-last-child(n+3) > .input-group-text, .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { border-top-right-radius: 0; @@ -3974,9 +3466,12 @@ input[type=button].btn-block { .custom-control { position: relative; + z-index: 1; display: block; min-height: 1.44rem; padding-left: 1.5rem; + -webkit-print-color-adjust: exact; + color-adjust: exact; } .custom-control-inline { @@ -3992,34 +3487,26 @@ input[type=button].btn-block { height: 1.22rem; opacity: 0; } - .custom-control-input:checked ~ .custom-control-label::before { color: #fff; border-color: #3490dc; background-color: #3490dc; } - .custom-control-input:focus ~ .custom-control-label::before { box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, 0.25); } - .custom-control-input:focus:not(:checked) ~ .custom-control-label::before { border-color: #a1cbef; } - .custom-control-input:not(:disabled):active ~ .custom-control-label::before { color: #fff; background-color: #cce3f6; border-color: #cce3f6; } - -.custom-control-input[disabled] ~ .custom-control-label, -.custom-control-input:disabled ~ .custom-control-label { +.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label { color: #6c757d; } - -.custom-control-input[disabled] ~ .custom-control-label::before, -.custom-control-input:disabled ~ .custom-control-label::before { +.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before { background-color: #e9ecef; } @@ -4028,7 +3515,6 @@ input[type=button].btn-block { margin-bottom: 0; vertical-align: top; } - .custom-control-label::before { position: absolute; top: 0.22rem; @@ -4041,7 +3527,6 @@ input[type=button].btn-block { background-color: #fff; border: #adb5bd solid 1px; } - .custom-control-label::after { position: absolute; top: 0.22rem; @@ -4050,30 +3535,25 @@ input[type=button].btn-block { width: 1rem; height: 1rem; content: ""; - background: no-repeat 50%/50% 50%; + background: 50%/50% 50% no-repeat; } .custom-checkbox .custom-control-label::before { border-radius: 0.25rem; } - .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e"); } - .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before { border-color: #3490dc; background-color: #3490dc; } - .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e"); } - .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(52, 144, 220, 0.5); } - .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before { background-color: rgba(52, 144, 220, 0.5); } @@ -4081,11 +3561,9 @@ input[type=button].btn-block { .custom-radio .custom-control-label::before { border-radius: 50%; } - .custom-radio .custom-control-input:checked ~ .custom-control-label::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e"); } - .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(52, 144, 220, 0.5); } @@ -4093,14 +3571,12 @@ input[type=button].btn-block { .custom-switch { padding-left: 2.25rem; } - .custom-switch .custom-control-label::before { left: -2.25rem; width: 1.75rem; pointer-events: all; border-radius: 0.5rem; } - .custom-switch .custom-control-label::after { top: calc(0.22rem + 2px); left: calc(-2.25rem + 2px); @@ -4110,18 +3586,15 @@ input[type=button].btn-block { border-radius: 0.5rem; transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { .custom-switch .custom-control-label::after { transition: none; } } - .custom-switch .custom-control-input:checked ~ .custom-control-label::after { background-color: #fff; transform: translateX(0.75rem); } - .custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before { background-color: rgba(52, 144, 220, 0.5); } @@ -4136,41 +3609,34 @@ input[type=button].btn-block { line-height: 1.6; color: #495057; vertical-align: middle; - background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") no-repeat right 0.75rem center/8px 10px; + background: #fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right 0.75rem center/8px 10px no-repeat; border: 1px solid #ced4da; border-radius: 0.25rem; -webkit-appearance: none; -moz-appearance: none; appearance: none; } - .custom-select:focus { border-color: #a1cbef; outline: 0; box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, 0.25); } - .custom-select:focus::-ms-value { color: #495057; background-color: #fff; } - -.custom-select[multiple], -.custom-select[size]:not([size="1"]) { +.custom-select[multiple], .custom-select[size]:not([size="1"]) { height: auto; padding-right: 0.75rem; background-image: none; } - .custom-select:disabled { color: #6c757d; background-color: #e9ecef; } - .custom-select::-ms-expand { display: none; } - .custom-select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #495057; @@ -4206,23 +3672,19 @@ input[type=button].btn-block { width: 100%; height: calc(1.6em + 0.75rem + 2px); margin: 0; + overflow: hidden; opacity: 0; } - .custom-file-input:focus ~ .custom-file-label { border-color: #a1cbef; box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, 0.25); } - -.custom-file-input[disabled] ~ .custom-file-label, -.custom-file-input:disabled ~ .custom-file-label { +.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label { background-color: #e9ecef; } - .custom-file-input:lang(en) ~ .custom-file-label::after { content: "Browse"; } - .custom-file-input ~ .custom-file-label[data-browse]::after { content: attr(data-browse); } @@ -4235,6 +3697,7 @@ input[type=button].btn-block { z-index: 1; height: calc(1.6em + 0.75rem + 2px); padding: 0.375rem 0.75rem; + overflow: hidden; font-weight: 400; line-height: 1.6; color: #495057; @@ -4242,7 +3705,6 @@ input[type=button].btn-block { border: 1px solid #ced4da; border-radius: 0.25rem; } - .custom-file-label::after { position: absolute; top: 0; @@ -4269,27 +3731,21 @@ input[type=button].btn-block { -moz-appearance: none; appearance: none; } - .custom-range:focus { - outline: none; + outline: 0; } - .custom-range:focus::-webkit-slider-thumb { box-shadow: 0 0 0 1px #f8fafc, 0 0 0 0.2rem rgba(52, 144, 220, 0.25); } - .custom-range:focus::-moz-range-thumb { box-shadow: 0 0 0 1px #f8fafc, 0 0 0 0.2rem rgba(52, 144, 220, 0.25); } - .custom-range:focus::-ms-thumb { box-shadow: 0 0 0 1px #f8fafc, 0 0 0 0.2rem rgba(52, 144, 220, 0.25); } - .custom-range::-moz-focus-outer { border: 0; } - .custom-range::-webkit-slider-thumb { width: 1rem; height: 1rem; @@ -4302,18 +3758,15 @@ input[type=button].btn-block { -webkit-appearance: none; appearance: none; } - @media (prefers-reduced-motion: reduce) { .custom-range::-webkit-slider-thumb { -webkit-transition: none; transition: none; } } - .custom-range::-webkit-slider-thumb:active { background-color: #cce3f6; } - .custom-range::-webkit-slider-runnable-track { width: 100%; height: 0.5rem; @@ -4323,7 +3776,6 @@ input[type=button].btn-block { border-color: transparent; border-radius: 1rem; } - .custom-range::-moz-range-thumb { width: 1rem; height: 1rem; @@ -4335,18 +3787,15 @@ input[type=button].btn-block { -moz-appearance: none; appearance: none; } - @media (prefers-reduced-motion: reduce) { .custom-range::-moz-range-thumb { -moz-transition: none; transition: none; } } - .custom-range::-moz-range-thumb:active { background-color: #cce3f6; } - .custom-range::-moz-range-track { width: 100%; height: 0.5rem; @@ -4356,7 +3805,6 @@ input[type=button].btn-block { border-color: transparent; border-radius: 1rem; } - .custom-range::-ms-thumb { width: 1rem; height: 1rem; @@ -4370,18 +3818,15 @@ input[type=button].btn-block { transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; appearance: none; } - @media (prefers-reduced-motion: reduce) { .custom-range::-ms-thumb { -ms-transition: none; transition: none; } } - .custom-range::-ms-thumb:active { background-color: #cce3f6; } - .custom-range::-ms-track { width: 100%; height: 0.5rem; @@ -4391,34 +3836,27 @@ input[type=button].btn-block { border-color: transparent; border-width: 0.5rem; } - .custom-range::-ms-fill-lower { background-color: #dee2e6; border-radius: 1rem; } - .custom-range::-ms-fill-upper { margin-right: 15px; background-color: #dee2e6; border-radius: 1rem; } - .custom-range:disabled::-webkit-slider-thumb { background-color: #adb5bd; } - .custom-range:disabled::-webkit-slider-runnable-track { cursor: default; } - .custom-range:disabled::-moz-range-thumb { background-color: #adb5bd; } - .custom-range:disabled::-moz-range-track { cursor: default; } - .custom-range:disabled::-ms-thumb { background-color: #adb5bd; } @@ -4428,11 +3866,10 @@ input[type=button].btn-block { .custom-select { transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { .custom-control-label::before, - .custom-file-label, - .custom-select { +.custom-file-label, +.custom-select { transition: none; } } @@ -4449,12 +3886,9 @@ input[type=button].btn-block { display: block; padding: 0.5rem 1rem; } - -.nav-link:hover, -.nav-link:focus { +.nav-link:hover, .nav-link:focus { text-decoration: none; } - .nav-link.disabled { color: #6c757d; pointer-events: none; @@ -4464,35 +3898,26 @@ input[type=button].btn-block { .nav-tabs { border-bottom: 1px solid #dee2e6; } - -.nav-tabs .nav-item { - margin-bottom: -1px; -} - .nav-tabs .nav-link { + margin-bottom: -1px; border: 1px solid transparent; border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; } - -.nav-tabs .nav-link:hover, -.nav-tabs .nav-link:focus { +.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus { border-color: #e9ecef #e9ecef #dee2e6; } - .nav-tabs .nav-link.disabled { color: #6c757d; background-color: transparent; border-color: transparent; } - .nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link { color: #495057; background-color: #f8fafc; border-color: #dee2e6 #dee2e6 #f8fafc; } - .nav-tabs .dropdown-menu { margin-top: -1px; border-top-left-radius: 0; @@ -4502,18 +3927,19 @@ input[type=button].btn-block { .nav-pills .nav-link { border-radius: 0.25rem; } - .nav-pills .nav-link.active, .nav-pills .show > .nav-link { color: #fff; background-color: #3490dc; } +.nav-fill > .nav-link, .nav-fill .nav-item { flex: 1 1 auto; text-align: center; } +.nav-justified > .nav-link, .nav-justified .nav-item { flex-basis: 0; flex-grow: 1; @@ -4523,7 +3949,6 @@ input[type=button].btn-block { .tab-content > .tab-pane { display: none; } - .tab-content > .active { display: block; } @@ -4536,7 +3961,6 @@ input[type=button].btn-block { justify-content: space-between; padding: 0.5rem 1rem; } - .navbar .container, .navbar .container-fluid, .navbar .container-sm, @@ -4548,7 +3972,6 @@ input[type=button].btn-block { align-items: center; justify-content: space-between; } - .navbar-brand { display: inline-block; padding-top: 0.32rem; @@ -4558,9 +3981,7 @@ input[type=button].btn-block { line-height: inherit; white-space: nowrap; } - -.navbar-brand:hover, -.navbar-brand:focus { +.navbar-brand:hover, .navbar-brand:focus { text-decoration: none; } @@ -4571,12 +3992,10 @@ input[type=button].btn-block { margin-bottom: 0; list-style: none; } - .navbar-nav .nav-link { padding-right: 0; padding-left: 0; } - .navbar-nav .dropdown-menu { position: static; float: none; @@ -4602,9 +4021,7 @@ input[type=button].btn-block { border: 1px solid transparent; border-radius: 0.25rem; } - -.navbar-toggler:hover, -.navbar-toggler:focus { +.navbar-toggler:hover, .navbar-toggler:focus { text-decoration: none; } @@ -4614,215 +4031,198 @@ input[type=button].btn-block { height: 1.5em; vertical-align: middle; content: ""; - background: no-repeat center center; - background-size: 100% 100%; + background: 50%/100% 100% no-repeat; +} + +.navbar-nav-scroll { + max-height: 75vh; + overflow-y: auto; } @media (max-width: 575.98px) { .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid, - .navbar-expand-sm > .container-sm, - .navbar-expand-sm > .container-md, - .navbar-expand-sm > .container-lg, - .navbar-expand-sm > .container-xl { +.navbar-expand-sm > .container-fluid, +.navbar-expand-sm > .container-sm, +.navbar-expand-sm > .container-md, +.navbar-expand-sm > .container-lg, +.navbar-expand-sm > .container-xl { padding-right: 0; padding-left: 0; } } - @media (min-width: 576px) { .navbar-expand-sm { flex-flow: row nowrap; justify-content: flex-start; } - .navbar-expand-sm .navbar-nav { flex-direction: row; } - .navbar-expand-sm .navbar-nav .dropdown-menu { position: absolute; } - .navbar-expand-sm .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } - .navbar-expand-sm > .container, - .navbar-expand-sm > .container-fluid, - .navbar-expand-sm > .container-sm, - .navbar-expand-sm > .container-md, - .navbar-expand-sm > .container-lg, - .navbar-expand-sm > .container-xl { +.navbar-expand-sm > .container-fluid, +.navbar-expand-sm > .container-sm, +.navbar-expand-sm > .container-md, +.navbar-expand-sm > .container-lg, +.navbar-expand-sm > .container-xl { flex-wrap: nowrap; } - + .navbar-expand-sm .navbar-nav-scroll { + overflow: visible; + } .navbar-expand-sm .navbar-collapse { display: flex !important; flex-basis: auto; } - .navbar-expand-sm .navbar-toggler { display: none; } } - @media (max-width: 767.98px) { .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid, - .navbar-expand-md > .container-sm, - .navbar-expand-md > .container-md, - .navbar-expand-md > .container-lg, - .navbar-expand-md > .container-xl { +.navbar-expand-md > .container-fluid, +.navbar-expand-md > .container-sm, +.navbar-expand-md > .container-md, +.navbar-expand-md > .container-lg, +.navbar-expand-md > .container-xl { padding-right: 0; padding-left: 0; } } - @media (min-width: 768px) { .navbar-expand-md { flex-flow: row nowrap; justify-content: flex-start; } - .navbar-expand-md .navbar-nav { flex-direction: row; } - .navbar-expand-md .navbar-nav .dropdown-menu { position: absolute; } - .navbar-expand-md .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid, - .navbar-expand-md > .container-sm, - .navbar-expand-md > .container-md, - .navbar-expand-md > .container-lg, - .navbar-expand-md > .container-xl { +.navbar-expand-md > .container-fluid, +.navbar-expand-md > .container-sm, +.navbar-expand-md > .container-md, +.navbar-expand-md > .container-lg, +.navbar-expand-md > .container-xl { flex-wrap: nowrap; } - + .navbar-expand-md .navbar-nav-scroll { + overflow: visible; + } .navbar-expand-md .navbar-collapse { display: flex !important; flex-basis: auto; } - .navbar-expand-md .navbar-toggler { display: none; } } - @media (max-width: 991.98px) { .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid, - .navbar-expand-lg > .container-sm, - .navbar-expand-lg > .container-md, - .navbar-expand-lg > .container-lg, - .navbar-expand-lg > .container-xl { +.navbar-expand-lg > .container-fluid, +.navbar-expand-lg > .container-sm, +.navbar-expand-lg > .container-md, +.navbar-expand-lg > .container-lg, +.navbar-expand-lg > .container-xl { padding-right: 0; padding-left: 0; } } - @media (min-width: 992px) { .navbar-expand-lg { flex-flow: row nowrap; justify-content: flex-start; } - .navbar-expand-lg .navbar-nav { flex-direction: row; } - .navbar-expand-lg .navbar-nav .dropdown-menu { position: absolute; } - .navbar-expand-lg .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } - .navbar-expand-lg > .container, - .navbar-expand-lg > .container-fluid, - .navbar-expand-lg > .container-sm, - .navbar-expand-lg > .container-md, - .navbar-expand-lg > .container-lg, - .navbar-expand-lg > .container-xl { +.navbar-expand-lg > .container-fluid, +.navbar-expand-lg > .container-sm, +.navbar-expand-lg > .container-md, +.navbar-expand-lg > .container-lg, +.navbar-expand-lg > .container-xl { flex-wrap: nowrap; } - + .navbar-expand-lg .navbar-nav-scroll { + overflow: visible; + } .navbar-expand-lg .navbar-collapse { display: flex !important; flex-basis: auto; } - .navbar-expand-lg .navbar-toggler { display: none; } } - @media (max-width: 1199.98px) { .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid, - .navbar-expand-xl > .container-sm, - .navbar-expand-xl > .container-md, - .navbar-expand-xl > .container-lg, - .navbar-expand-xl > .container-xl { +.navbar-expand-xl > .container-fluid, +.navbar-expand-xl > .container-sm, +.navbar-expand-xl > .container-md, +.navbar-expand-xl > .container-lg, +.navbar-expand-xl > .container-xl { padding-right: 0; padding-left: 0; } } - @media (min-width: 1200px) { .navbar-expand-xl { flex-flow: row nowrap; justify-content: flex-start; } - .navbar-expand-xl .navbar-nav { flex-direction: row; } - .navbar-expand-xl .navbar-nav .dropdown-menu { position: absolute; } - .navbar-expand-xl .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } - .navbar-expand-xl > .container, - .navbar-expand-xl > .container-fluid, - .navbar-expand-xl > .container-sm, - .navbar-expand-xl > .container-md, - .navbar-expand-xl > .container-lg, - .navbar-expand-xl > .container-xl { +.navbar-expand-xl > .container-fluid, +.navbar-expand-xl > .container-sm, +.navbar-expand-xl > .container-md, +.navbar-expand-xl > .container-lg, +.navbar-expand-xl > .container-xl { flex-wrap: nowrap; } - + .navbar-expand-xl .navbar-nav-scroll { + overflow: visible; + } .navbar-expand-xl .navbar-collapse { display: flex !important; flex-basis: auto; } - .navbar-expand-xl .navbar-toggler { display: none; } } - .navbar-expand { flex-flow: row nowrap; justify-content: flex-start; } - .navbar-expand > .container, .navbar-expand > .container-fluid, .navbar-expand > .container-sm, @@ -4832,20 +4232,16 @@ input[type=button].btn-block { padding-right: 0; padding-left: 0; } - .navbar-expand .navbar-nav { flex-direction: row; } - .navbar-expand .navbar-nav .dropdown-menu { position: absolute; } - .navbar-expand .navbar-nav .nav-link { padding-right: 0.5rem; padding-left: 0.5rem; } - .navbar-expand > .container, .navbar-expand > .container-fluid, .navbar-expand > .container-sm, @@ -4854,12 +4250,13 @@ input[type=button].btn-block { .navbar-expand > .container-xl { flex-wrap: nowrap; } - +.navbar-expand .navbar-nav-scroll { + overflow: visible; +} .navbar-expand .navbar-collapse { display: flex !important; flex-basis: auto; } - .navbar-expand .navbar-toggler { display: none; } @@ -4867,102 +4264,76 @@ input[type=button].btn-block { .navbar-light .navbar-brand { color: rgba(0, 0, 0, 0.9); } - -.navbar-light .navbar-brand:hover, -.navbar-light .navbar-brand:focus { +.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus { color: rgba(0, 0, 0, 0.9); } - .navbar-light .navbar-nav .nav-link { color: rgba(0, 0, 0, 0.5); } - -.navbar-light .navbar-nav .nav-link:hover, -.navbar-light .navbar-nav .nav-link:focus { +.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus { color: rgba(0, 0, 0, 0.7); } - .navbar-light .navbar-nav .nav-link.disabled { color: rgba(0, 0, 0, 0.3); } - .navbar-light .navbar-nav .show > .nav-link, .navbar-light .navbar-nav .active > .nav-link, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .nav-link.active { color: rgba(0, 0, 0, 0.9); } - .navbar-light .navbar-toggler { color: rgba(0, 0, 0, 0.5); border-color: rgba(0, 0, 0, 0.1); } - .navbar-light .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - .navbar-light .navbar-text { color: rgba(0, 0, 0, 0.5); } - .navbar-light .navbar-text a { color: rgba(0, 0, 0, 0.9); } - -.navbar-light .navbar-text a:hover, -.navbar-light .navbar-text a:focus { +.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus { color: rgba(0, 0, 0, 0.9); } .navbar-dark .navbar-brand { color: #fff; } - -.navbar-dark .navbar-brand:hover, -.navbar-dark .navbar-brand:focus { +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { color: #fff; } - .navbar-dark .navbar-nav .nav-link { color: rgba(255, 255, 255, 0.5); } - -.navbar-dark .navbar-nav .nav-link:hover, -.navbar-dark .navbar-nav .nav-link:focus { +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { color: rgba(255, 255, 255, 0.75); } - .navbar-dark .navbar-nav .nav-link.disabled { color: rgba(255, 255, 255, 0.25); } - .navbar-dark .navbar-nav .show > .nav-link, .navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .nav-link.active { color: #fff; } - .navbar-dark .navbar-toggler { color: rgba(255, 255, 255, 0.5); border-color: rgba(255, 255, 255, 0.1); } - .navbar-dark .navbar-toggler-icon { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } - .navbar-dark .navbar-text { color: rgba(255, 255, 255, 0.5); } - .navbar-dark .navbar-text a { color: #fff; } - -.navbar-dark .navbar-text a:hover, -.navbar-dark .navbar-text a:focus { +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { color: #fff; } @@ -4977,28 +4348,28 @@ input[type=button].btn-block { border: 1px solid rgba(0, 0, 0, 0.125); border-radius: 0.25rem; } - .card > hr { margin-right: 0; margin-left: 0; } - .card > .list-group { border-top: inherit; border-bottom: inherit; } - .card > .list-group:first-child { border-top-width: 0; border-top-left-radius: calc(0.25rem - 1px); border-top-right-radius: calc(0.25rem - 1px); } - .card > .list-group:last-child { border-bottom-width: 0; border-bottom-right-radius: calc(0.25rem - 1px); border-bottom-left-radius: calc(0.25rem - 1px); } +.card > .card-header + .list-group, +.card > .list-group + .card-footer { + border-top: 0; +} .card-body { flex: 1 1 auto; @@ -5022,7 +4393,6 @@ input[type=button].btn-block { .card-link:hover { text-decoration: none; } - .card-link + .card-link { margin-left: 1.25rem; } @@ -5033,21 +4403,15 @@ input[type=button].btn-block { background-color: rgba(0, 0, 0, 0.03); border-bottom: 1px solid rgba(0, 0, 0, 0.125); } - .card-header:first-child { border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; } -.card-header + .list-group .list-group-item:first-child { - border-top: 0; -} - .card-footer { padding: 0.75rem 1.25rem; background-color: rgba(0, 0, 0, 0.03); border-top: 1px solid rgba(0, 0, 0, 0.125); } - .card-footer:last-child { border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); } @@ -5071,6 +4435,7 @@ input[type=button].btn-block { bottom: 0; left: 0; padding: 1.25rem; + border-radius: calc(0.25rem - 1px); } .card-img, @@ -5095,7 +4460,6 @@ input[type=button].btn-block { .card-deck .card { margin-bottom: 15px; } - @media (min-width: 576px) { .card-deck { display: flex; @@ -5103,7 +4467,6 @@ input[type=button].btn-block { margin-right: -15px; margin-left: -15px; } - .card-deck .card { flex: 1 0 0%; margin-right: 15px; @@ -5115,50 +4478,41 @@ input[type=button].btn-block { .card-group > .card { margin-bottom: 15px; } - @media (min-width: 576px) { .card-group { display: flex; flex-flow: row wrap; } - .card-group > .card { flex: 1 0 0%; margin-bottom: 0; } - .card-group > .card + .card { margin-left: 0; border-left: 0; } - .card-group > .card:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; } - .card-group > .card:not(:last-child) .card-img-top, - .card-group > .card:not(:last-child) .card-header { +.card-group > .card:not(:last-child) .card-header { border-top-right-radius: 0; } - .card-group > .card:not(:last-child) .card-img-bottom, - .card-group > .card:not(:last-child) .card-footer { +.card-group > .card:not(:last-child) .card-footer { border-bottom-right-radius: 0; } - .card-group > .card:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } - .card-group > .card:not(:first-child) .card-img-top, - .card-group > .card:not(:first-child) .card-header { +.card-group > .card:not(:first-child) .card-header { border-top-left-radius: 0; } - .card-group > .card:not(:first-child) .card-img-bottom, - .card-group > .card:not(:first-child) .card-footer { +.card-group > .card:not(:first-child) .card-footer { border-bottom-left-radius: 0; } } @@ -5166,7 +4520,6 @@ input[type=button].btn-block { .card-columns .card { margin-bottom: 0.75rem; } - @media (min-width: 576px) { .card-columns { -moz-column-count: 3; @@ -5176,28 +4529,27 @@ input[type=button].btn-block { orphans: 1; widows: 1; } - .card-columns .card { display: inline-block; width: 100%; } } +.accordion { + overflow-anchor: none; +} .accordion > .card { overflow: hidden; } - .accordion > .card:not(:last-of-type) { border-bottom: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } - .accordion > .card:not(:first-of-type) { border-top-left-radius: 0; border-top-right-radius: 0; } - .accordion > .card > .card-header { border-radius: 0; margin-bottom: -1px; @@ -5213,29 +4565,21 @@ input[type=button].btn-block { border-radius: 0.25rem; } -.breadcrumb-item { - display: flex; -} - .breadcrumb-item + .breadcrumb-item { padding-left: 0.5rem; } - .breadcrumb-item + .breadcrumb-item::before { - display: inline-block; + float: left; padding-right: 0.5rem; color: #6c757d; content: "/"; } - .breadcrumb-item + .breadcrumb-item:hover::before { text-decoration: underline; } - .breadcrumb-item + .breadcrumb-item:hover::before { text-decoration: none; } - .breadcrumb-item.active { color: #6c757d; } @@ -5257,7 +4601,6 @@ input[type=button].btn-block { background-color: #fff; border: 1px solid #dee2e6; } - .page-link:hover { z-index: 2; color: #1d68a7; @@ -5265,7 +4608,6 @@ input[type=button].btn-block { background-color: #e9ecef; border-color: #dee2e6; } - .page-link:focus { z-index: 3; outline: 0; @@ -5277,19 +4619,16 @@ input[type=button].btn-block { border-top-left-radius: 0.25rem; border-bottom-left-radius: 0.25rem; } - .page-item:last-child .page-link { border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; } - .page-item.active .page-link { z-index: 3; color: #fff; background-color: #3490dc; border-color: #3490dc; } - .page-item.disabled .page-link { color: #6c757d; pointer-events: none; @@ -5303,12 +4642,10 @@ input[type=button].btn-block { font-size: 1.125rem; line-height: 1.5; } - .pagination-lg .page-item:first-child .page-link { border-top-left-radius: 0.3rem; border-bottom-left-radius: 0.3rem; } - .pagination-lg .page-item:last-child .page-link { border-top-right-radius: 0.3rem; border-bottom-right-radius: 0.3rem; @@ -5319,12 +4656,10 @@ input[type=button].btn-block { font-size: 0.7875rem; line-height: 1.5; } - .pagination-sm .page-item:first-child .page-link { border-top-left-radius: 0.2rem; border-bottom-left-radius: 0.2rem; } - .pagination-sm .page-item:last-child .page-link { border-top-right-radius: 0.2rem; border-bottom-right-radius: 0.2rem; @@ -5342,15 +4677,12 @@ input[type=button].btn-block { border-radius: 0.25rem; transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } - @media (prefers-reduced-motion: reduce) { .badge { transition: none; } } - -a.badge:hover, -a.badge:focus { +a.badge:hover, a.badge:focus { text-decoration: none; } @@ -5373,15 +4705,11 @@ a.badge:focus { color: #fff; background-color: #3490dc; } - -a.badge-primary:hover, -a.badge-primary:focus { +a.badge-primary:hover, a.badge-primary:focus { color: #fff; background-color: #2176bd; } - -a.badge-primary:focus, -a.badge-primary.focus { +a.badge-primary:focus, a.badge-primary.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(52, 144, 220, 0.5); } @@ -5390,15 +4718,11 @@ a.badge-primary.focus { color: #fff; background-color: #6c757d; } - -a.badge-secondary:hover, -a.badge-secondary:focus { +a.badge-secondary:hover, a.badge-secondary:focus { color: #fff; background-color: #545b62; } - -a.badge-secondary:focus, -a.badge-secondary.focus { +a.badge-secondary:focus, a.badge-secondary.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); } @@ -5407,15 +4731,11 @@ a.badge-secondary.focus { color: #fff; background-color: #38c172; } - -a.badge-success:hover, -a.badge-success:focus { +a.badge-success:hover, a.badge-success:focus { color: #fff; background-color: #2d995b; } - -a.badge-success:focus, -a.badge-success.focus { +a.badge-success:focus, a.badge-success.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(56, 193, 114, 0.5); } @@ -5424,15 +4744,11 @@ a.badge-success.focus { color: #212529; background-color: #6cb2eb; } - -a.badge-info:hover, -a.badge-info:focus { +a.badge-info:hover, a.badge-info:focus { color: #212529; background-color: #3f9ae5; } - -a.badge-info:focus, -a.badge-info.focus { +a.badge-info:focus, a.badge-info.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(108, 178, 235, 0.5); } @@ -5441,15 +4757,11 @@ a.badge-info.focus { color: #212529; background-color: #ffed4a; } - -a.badge-warning:hover, -a.badge-warning:focus { +a.badge-warning:hover, a.badge-warning:focus { color: #212529; background-color: #ffe817; } - -a.badge-warning:focus, -a.badge-warning.focus { +a.badge-warning:focus, a.badge-warning.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(255, 237, 74, 0.5); } @@ -5458,15 +4770,11 @@ a.badge-warning.focus { color: #fff; background-color: #e3342f; } - -a.badge-danger:hover, -a.badge-danger:focus { +a.badge-danger:hover, a.badge-danger:focus { color: #fff; background-color: #c51f1a; } - -a.badge-danger:focus, -a.badge-danger.focus { +a.badge-danger:focus, a.badge-danger.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(227, 52, 47, 0.5); } @@ -5475,15 +4783,11 @@ a.badge-danger.focus { color: #212529; background-color: #f8f9fa; } - -a.badge-light:hover, -a.badge-light:focus { +a.badge-light:hover, a.badge-light:focus { color: #212529; background-color: #dae0e5; } - -a.badge-light:focus, -a.badge-light.focus { +a.badge-light:focus, a.badge-light.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); } @@ -5492,15 +4796,11 @@ a.badge-light.focus { color: #fff; background-color: #343a40; } - -a.badge-dark:hover, -a.badge-dark:focus { +a.badge-dark:hover, a.badge-dark:focus { color: #fff; background-color: #1d2124; } - -a.badge-dark:focus, -a.badge-dark.focus { +a.badge-dark:focus, a.badge-dark.focus { outline: 0; box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); } @@ -5511,7 +4811,6 @@ a.badge-dark.focus { background-color: #e9ecef; border-radius: 0.3rem; } - @media (min-width: 576px) { .jumbotron { padding: 4rem 2rem; @@ -5543,11 +4842,11 @@ a.badge-dark.focus { .alert-dismissible { padding-right: 3.85rem; } - .alert-dismissible .close { position: absolute; top: 0; right: 0; + z-index: 2; padding: 0.75rem 1.25rem; color: inherit; } @@ -5557,11 +4856,9 @@ a.badge-dark.focus { background-color: #d6e9f8; border-color: #c6e0f5; } - .alert-primary hr { border-top-color: #b0d4f1; } - .alert-primary .alert-link { color: #113049; } @@ -5571,11 +4868,9 @@ a.badge-dark.focus { background-color: #e2e3e5; border-color: #d6d8db; } - .alert-secondary hr { border-top-color: #c8cbcf; } - .alert-secondary .alert-link { color: #202326; } @@ -5585,11 +4880,9 @@ a.badge-dark.focus { background-color: #d7f3e3; border-color: #c7eed8; } - .alert-success hr { border-top-color: #b3e8ca; } - .alert-success .alert-link { color: #123c24; } @@ -5599,11 +4892,9 @@ a.badge-dark.focus { background-color: #e2f0fb; border-color: #d6e9f9; } - .alert-info hr { border-top-color: #c0ddf6; } - .alert-info .alert-link { color: #284257; } @@ -5613,11 +4904,9 @@ a.badge-dark.focus { background-color: #fffbdb; border-color: #fffacc; } - .alert-warning hr { border-top-color: #fff8b3; } - .alert-warning .alert-link { color: #5d561b; } @@ -5627,11 +4916,9 @@ a.badge-dark.focus { background-color: #f9d6d5; border-color: #f7c6c5; } - .alert-danger hr { border-top-color: #f4b0af; } - .alert-danger .alert-link { color: #4c110f; } @@ -5641,11 +4928,9 @@ a.badge-dark.focus { background-color: #fefefe; border-color: #fdfdfe; } - .alert-light hr { border-top-color: #ececf6; } - .alert-light .alert-link { color: #686868; } @@ -5655,11 +4940,9 @@ a.badge-dark.focus { background-color: #d6d8d9; border-color: #c6c8ca; } - .alert-dark hr { border-top-color: #b9bbbe; } - .alert-dark .alert-link { color: #040505; } @@ -5668,7 +4951,6 @@ a.badge-dark.focus { from { background-position: 1rem 0; } - to { background-position: 0 0; } @@ -5678,12 +4960,10 @@ a.badge-dark.focus { from { background-position: 1rem 0; } - to { background-position: 0 0; } } - .progress { display: flex; height: 1rem; @@ -5705,7 +4985,6 @@ a.badge-dark.focus { background-color: #3490dc; transition: width 0.6s ease; } - @media (prefers-reduced-motion: reduce) { .progress-bar { transition: none; @@ -5718,10 +4997,9 @@ a.badge-dark.focus { } .progress-bar-animated { - -webkit-animation: progress-bar-stripes 1s linear infinite; - animation: progress-bar-stripes 1s linear infinite; + -webkit-animation: 1s linear infinite progress-bar-stripes; + animation: 1s linear infinite progress-bar-stripes; } - @media (prefers-reduced-motion: reduce) { .progress-bar-animated { -webkit-animation: none; @@ -5751,15 +5029,12 @@ a.badge-dark.focus { color: #495057; text-align: inherit; } - -.list-group-item-action:hover, -.list-group-item-action:focus { +.list-group-item-action:hover, .list-group-item-action:focus { z-index: 1; color: #495057; text-decoration: none; background-color: #f8f9fa; } - .list-group-item-action:active { color: #212529; background-color: #e9ecef; @@ -5772,35 +5047,28 @@ a.badge-dark.focus { background-color: #fff; border: 1px solid rgba(0, 0, 0, 0.125); } - .list-group-item:first-child { border-top-left-radius: inherit; border-top-right-radius: inherit; } - .list-group-item:last-child { border-bottom-right-radius: inherit; border-bottom-left-radius: inherit; } - -.list-group-item.disabled, -.list-group-item:disabled { +.list-group-item.disabled, .list-group-item:disabled { color: #6c757d; pointer-events: none; background-color: #fff; } - .list-group-item.active { z-index: 2; color: #fff; background-color: #3490dc; border-color: #3490dc; } - .list-group-item + .list-group-item { border-top-width: 0; } - .list-group-item + .list-group-item.active { margin-top: -1px; border-top-width: 1px; @@ -5809,26 +5077,21 @@ a.badge-dark.focus { .list-group-horizontal { flex-direction: row; } - .list-group-horizontal > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } - .list-group-horizontal > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } - .list-group-horizontal > .list-group-item.active { margin-top: 0; } - .list-group-horizontal > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } - .list-group-horizontal > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; @@ -5838,130 +5101,104 @@ a.badge-dark.focus { .list-group-horizontal-sm { flex-direction: row; } - .list-group-horizontal-sm > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } - .list-group-horizontal-sm > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } - .list-group-horizontal-sm > .list-group-item.active { margin-top: 0; } - .list-group-horizontal-sm > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } - .list-group-horizontal-sm > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } - @media (min-width: 768px) { .list-group-horizontal-md { flex-direction: row; } - .list-group-horizontal-md > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } - .list-group-horizontal-md > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } - .list-group-horizontal-md > .list-group-item.active { margin-top: 0; } - .list-group-horizontal-md > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } - .list-group-horizontal-md > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } - @media (min-width: 992px) { .list-group-horizontal-lg { flex-direction: row; } - .list-group-horizontal-lg > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } - .list-group-horizontal-lg > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } - .list-group-horizontal-lg > .list-group-item.active { margin-top: 0; } - .list-group-horizontal-lg > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } - .list-group-horizontal-lg > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } - @media (min-width: 1200px) { .list-group-horizontal-xl { flex-direction: row; } - .list-group-horizontal-xl > .list-group-item:first-child { border-bottom-left-radius: 0.25rem; border-top-right-radius: 0; } - .list-group-horizontal-xl > .list-group-item:last-child { border-top-right-radius: 0.25rem; border-bottom-left-radius: 0; } - .list-group-horizontal-xl > .list-group-item.active { margin-top: 0; } - .list-group-horizontal-xl > .list-group-item + .list-group-item { border-top-width: 1px; border-left-width: 0; } - .list-group-horizontal-xl > .list-group-item + .list-group-item.active { margin-left: -1px; border-left-width: 1px; } } - .list-group-flush { border-radius: 0; } - .list-group-flush > .list-group-item { border-width: 0 0 1px; } - .list-group-flush > .list-group-item:last-child { border-bottom-width: 0; } @@ -5970,13 +5207,10 @@ a.badge-dark.focus { color: #1b4b72; background-color: #c6e0f5; } - -.list-group-item-primary.list-group-item-action:hover, -.list-group-item-primary.list-group-item-action:focus { +.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus { color: #1b4b72; background-color: #b0d4f1; } - .list-group-item-primary.list-group-item-action.active { color: #fff; background-color: #1b4b72; @@ -5987,13 +5221,10 @@ a.badge-dark.focus { color: #383d41; background-color: #d6d8db; } - -.list-group-item-secondary.list-group-item-action:hover, -.list-group-item-secondary.list-group-item-action:focus { +.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus { color: #383d41; background-color: #c8cbcf; } - .list-group-item-secondary.list-group-item-action.active { color: #fff; background-color: #383d41; @@ -6004,13 +5235,10 @@ a.badge-dark.focus { color: #1d643b; background-color: #c7eed8; } - -.list-group-item-success.list-group-item-action:hover, -.list-group-item-success.list-group-item-action:focus { +.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus { color: #1d643b; background-color: #b3e8ca; } - .list-group-item-success.list-group-item-action.active { color: #fff; background-color: #1d643b; @@ -6021,13 +5249,10 @@ a.badge-dark.focus { color: #385d7a; background-color: #d6e9f9; } - -.list-group-item-info.list-group-item-action:hover, -.list-group-item-info.list-group-item-action:focus { +.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus { color: #385d7a; background-color: #c0ddf6; } - .list-group-item-info.list-group-item-action.active { color: #fff; background-color: #385d7a; @@ -6038,13 +5263,10 @@ a.badge-dark.focus { color: #857b26; background-color: #fffacc; } - -.list-group-item-warning.list-group-item-action:hover, -.list-group-item-warning.list-group-item-action:focus { +.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus { color: #857b26; background-color: #fff8b3; } - .list-group-item-warning.list-group-item-action.active { color: #fff; background-color: #857b26; @@ -6055,13 +5277,10 @@ a.badge-dark.focus { color: #761b18; background-color: #f7c6c5; } - -.list-group-item-danger.list-group-item-action:hover, -.list-group-item-danger.list-group-item-action:focus { +.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus { color: #761b18; background-color: #f4b0af; } - .list-group-item-danger.list-group-item-action.active { color: #fff; background-color: #761b18; @@ -6072,13 +5291,10 @@ a.badge-dark.focus { color: #818182; background-color: #fdfdfe; } - -.list-group-item-light.list-group-item-action:hover, -.list-group-item-light.list-group-item-action:focus { +.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus { color: #818182; background-color: #ececf6; } - .list-group-item-light.list-group-item-action.active { color: #fff; background-color: #818182; @@ -6089,13 +5305,10 @@ a.badge-dark.focus { color: #1b1e21; background-color: #c6c8ca; } - -.list-group-item-dark.list-group-item-action:hover, -.list-group-item-dark.list-group-item-action:focus { +.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus { color: #1b1e21; background-color: #b9bbbe; } - .list-group-item-dark.list-group-item-action.active { color: #fff; background-color: #1b1e21; @@ -6111,14 +5324,11 @@ a.badge-dark.focus { text-shadow: 0 1px 0 #fff; opacity: 0.5; } - .close:hover { color: #000; text-decoration: none; } - -.close:not(:disabled):not(.disabled):hover, -.close:not(:disabled):not(.disabled):focus { +.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus { opacity: 0.75; } @@ -6133,32 +5343,26 @@ a.close.disabled { } .toast { + flex-basis: 350px; max-width: 350px; - overflow: hidden; font-size: 0.875rem; background-color: rgba(255, 255, 255, 0.85); background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.1); box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1); - -webkit-backdrop-filter: blur(10px); - backdrop-filter: blur(10px); opacity: 0; border-radius: 0.25rem; } - .toast:not(:last-child) { margin-bottom: 0.75rem; } - .toast.showing { opacity: 1; } - .toast.show { display: block; opacity: 1; } - .toast.hide { display: none; } @@ -6171,6 +5375,8 @@ a.close.disabled { background-color: rgba(255, 255, 255, 0.85); background-clip: padding-box; border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-top-left-radius: calc(0.25rem - 1px); + border-top-right-radius: calc(0.25rem - 1px); } .toast-body { @@ -6180,7 +5386,6 @@ a.close.disabled { .modal-open { overflow: hidden; } - .modal-open .modal { overflow-x: hidden; overflow-y: auto; @@ -6204,22 +5409,18 @@ a.close.disabled { margin: 0.5rem; pointer-events: none; } - .modal.fade .modal-dialog { transition: transform 0.3s ease-out; transform: translate(0, -50px); } - @media (prefers-reduced-motion: reduce) { .modal.fade .modal-dialog { transition: none; } } - .modal.show .modal-dialog { transform: none; } - .modal.modal-static .modal-dialog { transform: scale(1.02); } @@ -6228,17 +5429,14 @@ a.close.disabled { display: flex; max-height: calc(100% - 1rem); } - .modal-dialog-scrollable .modal-content { max-height: calc(100vh - 1rem); overflow: hidden; } - .modal-dialog-scrollable .modal-header, .modal-dialog-scrollable .modal-footer { flex-shrink: 0; } - .modal-dialog-scrollable .modal-body { overflow-y: auto; } @@ -6248,7 +5446,6 @@ a.close.disabled { align-items: center; min-height: calc(100% - 1rem); } - .modal-dialog-centered::before { display: block; height: calc(100vh - 1rem); @@ -6257,17 +5454,14 @@ a.close.disabled { height: min-content; content: ""; } - .modal-dialog-centered.modal-dialog-scrollable { flex-direction: column; justify-content: center; height: 100%; } - .modal-dialog-centered.modal-dialog-scrollable .modal-content { max-height: none; } - .modal-dialog-centered.modal-dialog-scrollable::before { content: none; } @@ -6294,11 +5488,9 @@ a.close.disabled { height: 100vh; background-color: #000; } - .modal-backdrop.fade { opacity: 0; } - .modal-backdrop.show { opacity: 0.5; } @@ -6312,7 +5504,6 @@ a.close.disabled { border-top-left-radius: calc(0.3rem - 1px); border-top-right-radius: calc(0.3rem - 1px); } - .modal-header .close { padding: 1rem 1rem; margin: -1rem -1rem -1rem auto; @@ -6339,7 +5530,6 @@ a.close.disabled { border-bottom-right-radius: calc(0.3rem - 1px); border-bottom-left-radius: calc(0.3rem - 1px); } - .modal-footer > * { margin: 0.25rem; } @@ -6361,7 +5551,6 @@ a.close.disabled { .modal-dialog-scrollable { max-height: calc(100% - 3.5rem); } - .modal-dialog-scrollable .modal-content { max-height: calc(100vh - 3.5rem); } @@ -6369,7 +5558,6 @@ a.close.disabled { .modal-dialog-centered { min-height: calc(100% - 3.5rem); } - .modal-dialog-centered::before { height: calc(100vh - 3.5rem); height: -webkit-min-content; @@ -6381,20 +5569,17 @@ a.close.disabled { max-width: 300px; } } - @media (min-width: 992px) { .modal-lg, - .modal-xl { +.modal-xl { max-width: 800px; } } - @media (min-width: 1200px) { .modal-xl { max-width: 1140px; } } - .tooltip { position: absolute; z-index: 1070; @@ -6418,18 +5603,15 @@ a.close.disabled { word-wrap: break-word; opacity: 0; } - .tooltip.show { opacity: 0.9; } - .tooltip .arrow { position: absolute; display: block; width: 0.8rem; height: 0.4rem; } - .tooltip .arrow::before { position: absolute; content: ""; @@ -6437,73 +5619,53 @@ a.close.disabled { border-style: solid; } -.bs-tooltip-top, -.bs-tooltip-auto[x-placement^=top] { +.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] { padding: 0.4rem 0; } - -.bs-tooltip-top .arrow, -.bs-tooltip-auto[x-placement^=top] .arrow { +.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow { bottom: 0; } - -.bs-tooltip-top .arrow::before, -.bs-tooltip-auto[x-placement^=top] .arrow::before { +.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before { top: 0; border-width: 0.4rem 0.4rem 0; border-top-color: #000; } -.bs-tooltip-right, -.bs-tooltip-auto[x-placement^=right] { +.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] { padding: 0 0.4rem; } - -.bs-tooltip-right .arrow, -.bs-tooltip-auto[x-placement^=right] .arrow { +.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow { left: 0; width: 0.4rem; height: 0.8rem; } - -.bs-tooltip-right .arrow::before, -.bs-tooltip-auto[x-placement^=right] .arrow::before { +.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before { right: 0; border-width: 0.4rem 0.4rem 0.4rem 0; border-right-color: #000; } -.bs-tooltip-bottom, -.bs-tooltip-auto[x-placement^=bottom] { +.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] { padding: 0.4rem 0; } - -.bs-tooltip-bottom .arrow, -.bs-tooltip-auto[x-placement^=bottom] .arrow { +.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow { top: 0; } - -.bs-tooltip-bottom .arrow::before, -.bs-tooltip-auto[x-placement^=bottom] .arrow::before { +.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before { bottom: 0; border-width: 0 0.4rem 0.4rem; border-bottom-color: #000; } -.bs-tooltip-left, -.bs-tooltip-auto[x-placement^=left] { +.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] { padding: 0 0.4rem; } - -.bs-tooltip-left .arrow, -.bs-tooltip-auto[x-placement^=left] .arrow { +.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow { right: 0; width: 0.4rem; height: 0.8rem; } - -.bs-tooltip-left .arrow::before, -.bs-tooltip-auto[x-placement^=left] .arrow::before { +.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before { left: 0; border-width: 0.4rem 0 0.4rem 0.4rem; border-left-color: #000; @@ -6546,7 +5708,6 @@ a.close.disabled { border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 0.3rem; } - .popover .arrow { position: absolute; display: block; @@ -6554,9 +5715,7 @@ a.close.disabled { height: 0.5rem; margin: 0 0.3rem; } - -.popover .arrow::before, -.popover .arrow::after { +.popover .arrow::before, .popover .arrow::after { position: absolute; display: block; content: ""; @@ -6564,83 +5723,60 @@ a.close.disabled { border-style: solid; } -.bs-popover-top, -.bs-popover-auto[x-placement^=top] { +.bs-popover-top, .bs-popover-auto[x-placement^=top] { margin-bottom: 0.5rem; } - -.bs-popover-top > .arrow, -.bs-popover-auto[x-placement^=top] > .arrow { +.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=top] > .arrow { bottom: calc(-0.5rem - 1px); } - -.bs-popover-top > .arrow::before, -.bs-popover-auto[x-placement^=top] > .arrow::before { +.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=top] > .arrow::before { bottom: 0; border-width: 0.5rem 0.5rem 0; border-top-color: rgba(0, 0, 0, 0.25); } - -.bs-popover-top > .arrow::after, -.bs-popover-auto[x-placement^=top] > .arrow::after { +.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=top] > .arrow::after { bottom: 1px; border-width: 0.5rem 0.5rem 0; border-top-color: #fff; } -.bs-popover-right, -.bs-popover-auto[x-placement^=right] { +.bs-popover-right, .bs-popover-auto[x-placement^=right] { margin-left: 0.5rem; } - -.bs-popover-right > .arrow, -.bs-popover-auto[x-placement^=right] > .arrow { +.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=right] > .arrow { left: calc(-0.5rem - 1px); width: 0.5rem; height: 1rem; margin: 0.3rem 0; } - -.bs-popover-right > .arrow::before, -.bs-popover-auto[x-placement^=right] > .arrow::before { +.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=right] > .arrow::before { left: 0; border-width: 0.5rem 0.5rem 0.5rem 0; border-right-color: rgba(0, 0, 0, 0.25); } - -.bs-popover-right > .arrow::after, -.bs-popover-auto[x-placement^=right] > .arrow::after { +.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=right] > .arrow::after { left: 1px; border-width: 0.5rem 0.5rem 0.5rem 0; border-right-color: #fff; } -.bs-popover-bottom, -.bs-popover-auto[x-placement^=bottom] { +.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] { margin-top: 0.5rem; } - -.bs-popover-bottom > .arrow, -.bs-popover-auto[x-placement^=bottom] > .arrow { +.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=bottom] > .arrow { top: calc(-0.5rem - 1px); } - -.bs-popover-bottom > .arrow::before, -.bs-popover-auto[x-placement^=bottom] > .arrow::before { +.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=bottom] > .arrow::before { top: 0; border-width: 0 0.5rem 0.5rem 0.5rem; border-bottom-color: rgba(0, 0, 0, 0.25); } - -.bs-popover-bottom > .arrow::after, -.bs-popover-auto[x-placement^=bottom] > .arrow::after { +.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=bottom] > .arrow::after { top: 1px; border-width: 0 0.5rem 0.5rem 0.5rem; border-bottom-color: #fff; } - -.bs-popover-bottom .popover-header::before, -.bs-popover-auto[x-placement^=bottom] .popover-header::before { +.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before { position: absolute; top: 0; left: 50%; @@ -6651,28 +5787,21 @@ a.close.disabled { border-bottom: 1px solid #f7f7f7; } -.bs-popover-left, -.bs-popover-auto[x-placement^=left] { +.bs-popover-left, .bs-popover-auto[x-placement^=left] { margin-right: 0.5rem; } - -.bs-popover-left > .arrow, -.bs-popover-auto[x-placement^=left] > .arrow { +.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=left] > .arrow { right: calc(-0.5rem - 1px); width: 0.5rem; height: 1rem; margin: 0.3rem 0; } - -.bs-popover-left > .arrow::before, -.bs-popover-auto[x-placement^=left] > .arrow::before { +.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=left] > .arrow::before { right: 0; border-width: 0.5rem 0 0.5rem 0.5rem; border-left-color: rgba(0, 0, 0, 0.25); } - -.bs-popover-left > .arrow::after, -.bs-popover-auto[x-placement^=left] > .arrow::after { +.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=left] > .arrow::after { right: 1px; border-width: 0.5rem 0 0.5rem 0.5rem; border-left-color: #fff; @@ -6687,7 +5816,6 @@ a.close.disabled { border-top-left-radius: calc(0.3rem - 1px); border-top-right-radius: calc(0.3rem - 1px); } - .popover-header:empty { display: none; } @@ -6710,7 +5838,6 @@ a.close.disabled { width: 100%; overflow: hidden; } - .carousel-inner::after { display: block; clear: both; @@ -6727,7 +5854,6 @@ a.close.disabled { backface-visibility: hidden; transition: transform 0.6s ease-in-out; } - @media (prefers-reduced-motion: reduce) { .carousel-item { transition: none; @@ -6755,24 +5881,21 @@ a.close.disabled { transition-property: opacity; transform: none; } - .carousel-fade .carousel-item.active, .carousel-fade .carousel-item-next.carousel-item-left, .carousel-fade .carousel-item-prev.carousel-item-right { z-index: 1; opacity: 1; } - .carousel-fade .active.carousel-item-left, .carousel-fade .active.carousel-item-right { z-index: 0; opacity: 0; transition: opacity 0s 0.6s; } - @media (prefers-reduced-motion: reduce) { .carousel-fade .active.carousel-item-left, - .carousel-fade .active.carousel-item-right { +.carousel-fade .active.carousel-item-right { transition: none; } } @@ -6792,16 +5915,13 @@ a.close.disabled { opacity: 0.5; transition: opacity 0.15s ease; } - @media (prefers-reduced-motion: reduce) { .carousel-control-prev, - .carousel-control-next { +.carousel-control-next { transition: none; } } - -.carousel-control-prev:hover, -.carousel-control-prev:focus, +.carousel-control-prev:hover, .carousel-control-prev:focus, .carousel-control-next:hover, .carousel-control-next:focus { color: #fff; @@ -6823,7 +5943,7 @@ a.close.disabled { display: inline-block; width: 20px; height: 20px; - background: no-repeat 50%/100% 100%; + background: 50%/100% 100% no-repeat; } .carousel-control-prev-icon { @@ -6847,7 +5967,6 @@ a.close.disabled { margin-left: 15%; list-style: none; } - .carousel-indicators li { box-sizing: content-box; flex: 0 1 auto; @@ -6864,13 +5983,11 @@ a.close.disabled { opacity: 0.5; transition: opacity 0.6s ease; } - @media (prefers-reduced-motion: reduce) { .carousel-indicators li { transition: none; } } - .carousel-indicators .active { opacity: 1; } @@ -6898,7 +6015,6 @@ a.close.disabled { transform: rotate(360deg); } } - .spinner-border { display: inline-block; width: 2rem; @@ -6907,8 +6023,8 @@ a.close.disabled { border: 0.25em solid currentColor; border-right-color: transparent; border-radius: 50%; - -webkit-animation: spinner-border 0.75s linear infinite; - animation: spinner-border 0.75s linear infinite; + -webkit-animation: 0.75s linear infinite spinner-border; + animation: 0.75s linear infinite spinner-border; } .spinner-border-sm { @@ -6921,7 +6037,6 @@ a.close.disabled { 0% { transform: scale(0); } - 50% { opacity: 1; transform: none; @@ -6932,13 +6047,11 @@ a.close.disabled { 0% { transform: scale(0); } - 50% { opacity: 1; transform: none; } } - .spinner-grow { display: inline-block; width: 2rem; @@ -6947,8 +6060,8 @@ a.close.disabled { background-color: currentColor; border-radius: 50%; opacity: 0; - -webkit-animation: spinner-grow 0.75s linear infinite; - animation: spinner-grow 0.75s linear infinite; + -webkit-animation: 0.75s linear infinite spinner-grow; + animation: 0.75s linear infinite spinner-grow; } .spinner-grow-sm { @@ -6956,6 +6069,13 @@ a.close.disabled { height: 1rem; } +@media (prefers-reduced-motion: reduce) { + .spinner-border, +.spinner-grow { + -webkit-animation-duration: 1.5s; + animation-duration: 1.5s; + } +} .align-baseline { vertical-align: baseline !important; } @@ -6984,8 +6104,7 @@ a.close.disabled { background-color: #3490dc !important; } -a.bg-primary:hover, -a.bg-primary:focus, +a.bg-primary:hover, a.bg-primary:focus, button.bg-primary:hover, button.bg-primary:focus { background-color: #2176bd !important; @@ -6995,8 +6114,7 @@ button.bg-primary:focus { background-color: #6c757d !important; } -a.bg-secondary:hover, -a.bg-secondary:focus, +a.bg-secondary:hover, a.bg-secondary:focus, button.bg-secondary:hover, button.bg-secondary:focus { background-color: #545b62 !important; @@ -7006,8 +6124,7 @@ button.bg-secondary:focus { background-color: #38c172 !important; } -a.bg-success:hover, -a.bg-success:focus, +a.bg-success:hover, a.bg-success:focus, button.bg-success:hover, button.bg-success:focus { background-color: #2d995b !important; @@ -7017,8 +6134,7 @@ button.bg-success:focus { background-color: #6cb2eb !important; } -a.bg-info:hover, -a.bg-info:focus, +a.bg-info:hover, a.bg-info:focus, button.bg-info:hover, button.bg-info:focus { background-color: #3f9ae5 !important; @@ -7028,8 +6144,7 @@ button.bg-info:focus { background-color: #ffed4a !important; } -a.bg-warning:hover, -a.bg-warning:focus, +a.bg-warning:hover, a.bg-warning:focus, button.bg-warning:hover, button.bg-warning:focus { background-color: #ffe817 !important; @@ -7039,8 +6154,7 @@ button.bg-warning:focus { background-color: #e3342f !important; } -a.bg-danger:hover, -a.bg-danger:focus, +a.bg-danger:hover, a.bg-danger:focus, button.bg-danger:hover, button.bg-danger:focus { background-color: #c51f1a !important; @@ -7050,8 +6164,7 @@ button.bg-danger:focus { background-color: #f8f9fa !important; } -a.bg-light:hover, -a.bg-light:focus, +a.bg-light:hover, a.bg-light:focus, button.bg-light:hover, button.bg-light:focus { background-color: #dae0e5 !important; @@ -7061,8 +6174,7 @@ button.bg-light:focus { background-color: #343a40 !important; } -a.bg-dark:hover, -a.bg-dark:focus, +a.bg-dark:hover, a.bg-dark:focus, button.bg-dark:hover, button.bg-dark:focus { background-color: #1d2124 !important; @@ -7275,7 +6387,6 @@ button.bg-dark:focus { display: inline-flex !important; } } - @media (min-width: 768px) { .d-md-none { display: none !important; @@ -7313,7 +6424,6 @@ button.bg-dark:focus { display: inline-flex !important; } } - @media (min-width: 992px) { .d-lg-none { display: none !important; @@ -7351,7 +6461,6 @@ button.bg-dark:focus { display: inline-flex !important; } } - @media (min-width: 1200px) { .d-xl-none { display: none !important; @@ -7389,7 +6498,6 @@ button.bg-dark:focus { display: inline-flex !important; } } - @media print { .d-print-none { display: none !important; @@ -7427,7 +6535,6 @@ button.bg-dark:focus { display: inline-flex !important; } } - .embed-responsive { position: relative; display: block; @@ -7435,12 +6542,10 @@ button.bg-dark:focus { padding: 0; overflow: hidden; } - .embed-responsive::before { display: block; content: ""; } - .embed-responsive .embed-responsive-item, .embed-responsive iframe, .embed-responsive embed, @@ -7744,7 +6849,6 @@ button.bg-dark:focus { align-self: stretch !important; } } - @media (min-width: 768px) { .flex-md-row { flex-direction: row !important; @@ -7882,7 +6986,6 @@ button.bg-dark:focus { align-self: stretch !important; } } - @media (min-width: 992px) { .flex-lg-row { flex-direction: row !important; @@ -8020,7 +7123,6 @@ button.bg-dark:focus { align-self: stretch !important; } } - @media (min-width: 1200px) { .flex-xl-row { flex-direction: row !important; @@ -8158,7 +7260,6 @@ button.bg-dark:focus { align-self: stretch !important; } } - .float-left { float: left !important; } @@ -8184,7 +7285,6 @@ button.bg-dark:focus { float: none !important; } } - @media (min-width: 768px) { .float-md-left { float: left !important; @@ -8198,7 +7298,6 @@ button.bg-dark:focus { float: none !important; } } - @media (min-width: 992px) { .float-lg-left { float: left !important; @@ -8212,7 +7311,6 @@ button.bg-dark:focus { float: none !important; } } - @media (min-width: 1200px) { .float-xl-left { float: left !important; @@ -8226,11 +7324,9 @@ button.bg-dark:focus { float: none !important; } } - .user-select-all { -webkit-user-select: all !important; -moz-user-select: all !important; - -ms-user-select: all !important; user-select: all !important; } @@ -8273,7 +7369,6 @@ button.bg-dark:focus { } .position-sticky { - position: -webkit-sticky !important; position: sticky !important; } @@ -8293,9 +7388,8 @@ button.bg-dark:focus { z-index: 1030; } -@supports ((position: -webkit-sticky) or (position: sticky)) { +@supports (position: sticky) { .sticky-top { - position: -webkit-sticky; position: sticky; top: 0; z-index: 1020; @@ -8314,8 +7408,7 @@ button.bg-dark:focus { border: 0; } -.sr-only-focusable:active, -.sr-only-focusable:focus { +.sr-only-focusable:active, .sr-only-focusable:focus { position: static; width: auto; height: auto; @@ -8842,22 +7935,22 @@ button.bg-dark:focus { } .mt-sm-0, - .my-sm-0 { +.my-sm-0 { margin-top: 0 !important; } .mr-sm-0, - .mx-sm-0 { +.mx-sm-0 { margin-right: 0 !important; } .mb-sm-0, - .my-sm-0 { +.my-sm-0 { margin-bottom: 0 !important; } .ml-sm-0, - .mx-sm-0 { +.mx-sm-0 { margin-left: 0 !important; } @@ -8866,22 +7959,22 @@ button.bg-dark:focus { } .mt-sm-1, - .my-sm-1 { +.my-sm-1 { margin-top: 0.25rem !important; } .mr-sm-1, - .mx-sm-1 { +.mx-sm-1 { margin-right: 0.25rem !important; } .mb-sm-1, - .my-sm-1 { +.my-sm-1 { margin-bottom: 0.25rem !important; } .ml-sm-1, - .mx-sm-1 { +.mx-sm-1 { margin-left: 0.25rem !important; } @@ -8890,22 +7983,22 @@ button.bg-dark:focus { } .mt-sm-2, - .my-sm-2 { +.my-sm-2 { margin-top: 0.5rem !important; } .mr-sm-2, - .mx-sm-2 { +.mx-sm-2 { margin-right: 0.5rem !important; } .mb-sm-2, - .my-sm-2 { +.my-sm-2 { margin-bottom: 0.5rem !important; } .ml-sm-2, - .mx-sm-2 { +.mx-sm-2 { margin-left: 0.5rem !important; } @@ -8914,22 +8007,22 @@ button.bg-dark:focus { } .mt-sm-3, - .my-sm-3 { +.my-sm-3 { margin-top: 1rem !important; } .mr-sm-3, - .mx-sm-3 { +.mx-sm-3 { margin-right: 1rem !important; } .mb-sm-3, - .my-sm-3 { +.my-sm-3 { margin-bottom: 1rem !important; } .ml-sm-3, - .mx-sm-3 { +.mx-sm-3 { margin-left: 1rem !important; } @@ -8938,22 +8031,22 @@ button.bg-dark:focus { } .mt-sm-4, - .my-sm-4 { +.my-sm-4 { margin-top: 1.5rem !important; } .mr-sm-4, - .mx-sm-4 { +.mx-sm-4 { margin-right: 1.5rem !important; } .mb-sm-4, - .my-sm-4 { +.my-sm-4 { margin-bottom: 1.5rem !important; } .ml-sm-4, - .mx-sm-4 { +.mx-sm-4 { margin-left: 1.5rem !important; } @@ -8962,22 +8055,22 @@ button.bg-dark:focus { } .mt-sm-5, - .my-sm-5 { +.my-sm-5 { margin-top: 3rem !important; } .mr-sm-5, - .mx-sm-5 { +.mx-sm-5 { margin-right: 3rem !important; } .mb-sm-5, - .my-sm-5 { +.my-sm-5 { margin-bottom: 3rem !important; } .ml-sm-5, - .mx-sm-5 { +.mx-sm-5 { margin-left: 3rem !important; } @@ -8986,22 +8079,22 @@ button.bg-dark:focus { } .pt-sm-0, - .py-sm-0 { +.py-sm-0 { padding-top: 0 !important; } .pr-sm-0, - .px-sm-0 { +.px-sm-0 { padding-right: 0 !important; } .pb-sm-0, - .py-sm-0 { +.py-sm-0 { padding-bottom: 0 !important; } .pl-sm-0, - .px-sm-0 { +.px-sm-0 { padding-left: 0 !important; } @@ -9010,22 +8103,22 @@ button.bg-dark:focus { } .pt-sm-1, - .py-sm-1 { +.py-sm-1 { padding-top: 0.25rem !important; } .pr-sm-1, - .px-sm-1 { +.px-sm-1 { padding-right: 0.25rem !important; } .pb-sm-1, - .py-sm-1 { +.py-sm-1 { padding-bottom: 0.25rem !important; } .pl-sm-1, - .px-sm-1 { +.px-sm-1 { padding-left: 0.25rem !important; } @@ -9034,22 +8127,22 @@ button.bg-dark:focus { } .pt-sm-2, - .py-sm-2 { +.py-sm-2 { padding-top: 0.5rem !important; } .pr-sm-2, - .px-sm-2 { +.px-sm-2 { padding-right: 0.5rem !important; } .pb-sm-2, - .py-sm-2 { +.py-sm-2 { padding-bottom: 0.5rem !important; } .pl-sm-2, - .px-sm-2 { +.px-sm-2 { padding-left: 0.5rem !important; } @@ -9058,22 +8151,22 @@ button.bg-dark:focus { } .pt-sm-3, - .py-sm-3 { +.py-sm-3 { padding-top: 1rem !important; } .pr-sm-3, - .px-sm-3 { +.px-sm-3 { padding-right: 1rem !important; } .pb-sm-3, - .py-sm-3 { +.py-sm-3 { padding-bottom: 1rem !important; } .pl-sm-3, - .px-sm-3 { +.px-sm-3 { padding-left: 1rem !important; } @@ -9082,22 +8175,22 @@ button.bg-dark:focus { } .pt-sm-4, - .py-sm-4 { +.py-sm-4 { padding-top: 1.5rem !important; } .pr-sm-4, - .px-sm-4 { +.px-sm-4 { padding-right: 1.5rem !important; } .pb-sm-4, - .py-sm-4 { +.py-sm-4 { padding-bottom: 1.5rem !important; } .pl-sm-4, - .px-sm-4 { +.px-sm-4 { padding-left: 1.5rem !important; } @@ -9106,22 +8199,22 @@ button.bg-dark:focus { } .pt-sm-5, - .py-sm-5 { +.py-sm-5 { padding-top: 3rem !important; } .pr-sm-5, - .px-sm-5 { +.px-sm-5 { padding-right: 3rem !important; } .pb-sm-5, - .py-sm-5 { +.py-sm-5 { padding-bottom: 3rem !important; } .pl-sm-5, - .px-sm-5 { +.px-sm-5 { padding-left: 3rem !important; } @@ -9130,22 +8223,22 @@ button.bg-dark:focus { } .mt-sm-n1, - .my-sm-n1 { +.my-sm-n1 { margin-top: -0.25rem !important; } .mr-sm-n1, - .mx-sm-n1 { +.mx-sm-n1 { margin-right: -0.25rem !important; } .mb-sm-n1, - .my-sm-n1 { +.my-sm-n1 { margin-bottom: -0.25rem !important; } .ml-sm-n1, - .mx-sm-n1 { +.mx-sm-n1 { margin-left: -0.25rem !important; } @@ -9154,22 +8247,22 @@ button.bg-dark:focus { } .mt-sm-n2, - .my-sm-n2 { +.my-sm-n2 { margin-top: -0.5rem !important; } .mr-sm-n2, - .mx-sm-n2 { +.mx-sm-n2 { margin-right: -0.5rem !important; } .mb-sm-n2, - .my-sm-n2 { +.my-sm-n2 { margin-bottom: -0.5rem !important; } .ml-sm-n2, - .mx-sm-n2 { +.mx-sm-n2 { margin-left: -0.5rem !important; } @@ -9178,22 +8271,22 @@ button.bg-dark:focus { } .mt-sm-n3, - .my-sm-n3 { +.my-sm-n3 { margin-top: -1rem !important; } .mr-sm-n3, - .mx-sm-n3 { +.mx-sm-n3 { margin-right: -1rem !important; } .mb-sm-n3, - .my-sm-n3 { +.my-sm-n3 { margin-bottom: -1rem !important; } .ml-sm-n3, - .mx-sm-n3 { +.mx-sm-n3 { margin-left: -1rem !important; } @@ -9202,22 +8295,22 @@ button.bg-dark:focus { } .mt-sm-n4, - .my-sm-n4 { +.my-sm-n4 { margin-top: -1.5rem !important; } .mr-sm-n4, - .mx-sm-n4 { +.mx-sm-n4 { margin-right: -1.5rem !important; } .mb-sm-n4, - .my-sm-n4 { +.my-sm-n4 { margin-bottom: -1.5rem !important; } .ml-sm-n4, - .mx-sm-n4 { +.mx-sm-n4 { margin-left: -1.5rem !important; } @@ -9226,22 +8319,22 @@ button.bg-dark:focus { } .mt-sm-n5, - .my-sm-n5 { +.my-sm-n5 { margin-top: -3rem !important; } .mr-sm-n5, - .mx-sm-n5 { +.mx-sm-n5 { margin-right: -3rem !important; } .mb-sm-n5, - .my-sm-n5 { +.my-sm-n5 { margin-bottom: -3rem !important; } .ml-sm-n5, - .mx-sm-n5 { +.mx-sm-n5 { margin-left: -3rem !important; } @@ -9250,48 +8343,47 @@ button.bg-dark:focus { } .mt-sm-auto, - .my-sm-auto { +.my-sm-auto { margin-top: auto !important; } .mr-sm-auto, - .mx-sm-auto { +.mx-sm-auto { margin-right: auto !important; } .mb-sm-auto, - .my-sm-auto { +.my-sm-auto { margin-bottom: auto !important; } .ml-sm-auto, - .mx-sm-auto { +.mx-sm-auto { margin-left: auto !important; } } - @media (min-width: 768px) { .m-md-0 { margin: 0 !important; } .mt-md-0, - .my-md-0 { +.my-md-0 { margin-top: 0 !important; } .mr-md-0, - .mx-md-0 { +.mx-md-0 { margin-right: 0 !important; } .mb-md-0, - .my-md-0 { +.my-md-0 { margin-bottom: 0 !important; } .ml-md-0, - .mx-md-0 { +.mx-md-0 { margin-left: 0 !important; } @@ -9300,22 +8392,22 @@ button.bg-dark:focus { } .mt-md-1, - .my-md-1 { +.my-md-1 { margin-top: 0.25rem !important; } .mr-md-1, - .mx-md-1 { +.mx-md-1 { margin-right: 0.25rem !important; } .mb-md-1, - .my-md-1 { +.my-md-1 { margin-bottom: 0.25rem !important; } .ml-md-1, - .mx-md-1 { +.mx-md-1 { margin-left: 0.25rem !important; } @@ -9324,22 +8416,22 @@ button.bg-dark:focus { } .mt-md-2, - .my-md-2 { +.my-md-2 { margin-top: 0.5rem !important; } .mr-md-2, - .mx-md-2 { +.mx-md-2 { margin-right: 0.5rem !important; } .mb-md-2, - .my-md-2 { +.my-md-2 { margin-bottom: 0.5rem !important; } .ml-md-2, - .mx-md-2 { +.mx-md-2 { margin-left: 0.5rem !important; } @@ -9348,22 +8440,22 @@ button.bg-dark:focus { } .mt-md-3, - .my-md-3 { +.my-md-3 { margin-top: 1rem !important; } .mr-md-3, - .mx-md-3 { +.mx-md-3 { margin-right: 1rem !important; } .mb-md-3, - .my-md-3 { +.my-md-3 { margin-bottom: 1rem !important; } .ml-md-3, - .mx-md-3 { +.mx-md-3 { margin-left: 1rem !important; } @@ -9372,22 +8464,22 @@ button.bg-dark:focus { } .mt-md-4, - .my-md-4 { +.my-md-4 { margin-top: 1.5rem !important; } .mr-md-4, - .mx-md-4 { +.mx-md-4 { margin-right: 1.5rem !important; } .mb-md-4, - .my-md-4 { +.my-md-4 { margin-bottom: 1.5rem !important; } .ml-md-4, - .mx-md-4 { +.mx-md-4 { margin-left: 1.5rem !important; } @@ -9396,22 +8488,22 @@ button.bg-dark:focus { } .mt-md-5, - .my-md-5 { +.my-md-5 { margin-top: 3rem !important; } .mr-md-5, - .mx-md-5 { +.mx-md-5 { margin-right: 3rem !important; } .mb-md-5, - .my-md-5 { +.my-md-5 { margin-bottom: 3rem !important; } .ml-md-5, - .mx-md-5 { +.mx-md-5 { margin-left: 3rem !important; } @@ -9420,22 +8512,22 @@ button.bg-dark:focus { } .pt-md-0, - .py-md-0 { +.py-md-0 { padding-top: 0 !important; } .pr-md-0, - .px-md-0 { +.px-md-0 { padding-right: 0 !important; } .pb-md-0, - .py-md-0 { +.py-md-0 { padding-bottom: 0 !important; } .pl-md-0, - .px-md-0 { +.px-md-0 { padding-left: 0 !important; } @@ -9444,22 +8536,22 @@ button.bg-dark:focus { } .pt-md-1, - .py-md-1 { +.py-md-1 { padding-top: 0.25rem !important; } .pr-md-1, - .px-md-1 { +.px-md-1 { padding-right: 0.25rem !important; } .pb-md-1, - .py-md-1 { +.py-md-1 { padding-bottom: 0.25rem !important; } .pl-md-1, - .px-md-1 { +.px-md-1 { padding-left: 0.25rem !important; } @@ -9468,22 +8560,22 @@ button.bg-dark:focus { } .pt-md-2, - .py-md-2 { +.py-md-2 { padding-top: 0.5rem !important; } .pr-md-2, - .px-md-2 { +.px-md-2 { padding-right: 0.5rem !important; } .pb-md-2, - .py-md-2 { +.py-md-2 { padding-bottom: 0.5rem !important; } .pl-md-2, - .px-md-2 { +.px-md-2 { padding-left: 0.5rem !important; } @@ -9492,22 +8584,22 @@ button.bg-dark:focus { } .pt-md-3, - .py-md-3 { +.py-md-3 { padding-top: 1rem !important; } .pr-md-3, - .px-md-3 { +.px-md-3 { padding-right: 1rem !important; } .pb-md-3, - .py-md-3 { +.py-md-3 { padding-bottom: 1rem !important; } .pl-md-3, - .px-md-3 { +.px-md-3 { padding-left: 1rem !important; } @@ -9516,22 +8608,22 @@ button.bg-dark:focus { } .pt-md-4, - .py-md-4 { +.py-md-4 { padding-top: 1.5rem !important; } .pr-md-4, - .px-md-4 { +.px-md-4 { padding-right: 1.5rem !important; } .pb-md-4, - .py-md-4 { +.py-md-4 { padding-bottom: 1.5rem !important; } .pl-md-4, - .px-md-4 { +.px-md-4 { padding-left: 1.5rem !important; } @@ -9540,22 +8632,22 @@ button.bg-dark:focus { } .pt-md-5, - .py-md-5 { +.py-md-5 { padding-top: 3rem !important; } .pr-md-5, - .px-md-5 { +.px-md-5 { padding-right: 3rem !important; } .pb-md-5, - .py-md-5 { +.py-md-5 { padding-bottom: 3rem !important; } .pl-md-5, - .px-md-5 { +.px-md-5 { padding-left: 3rem !important; } @@ -9564,22 +8656,22 @@ button.bg-dark:focus { } .mt-md-n1, - .my-md-n1 { +.my-md-n1 { margin-top: -0.25rem !important; } .mr-md-n1, - .mx-md-n1 { +.mx-md-n1 { margin-right: -0.25rem !important; } .mb-md-n1, - .my-md-n1 { +.my-md-n1 { margin-bottom: -0.25rem !important; } .ml-md-n1, - .mx-md-n1 { +.mx-md-n1 { margin-left: -0.25rem !important; } @@ -9588,22 +8680,22 @@ button.bg-dark:focus { } .mt-md-n2, - .my-md-n2 { +.my-md-n2 { margin-top: -0.5rem !important; } .mr-md-n2, - .mx-md-n2 { +.mx-md-n2 { margin-right: -0.5rem !important; } .mb-md-n2, - .my-md-n2 { +.my-md-n2 { margin-bottom: -0.5rem !important; } .ml-md-n2, - .mx-md-n2 { +.mx-md-n2 { margin-left: -0.5rem !important; } @@ -9612,22 +8704,22 @@ button.bg-dark:focus { } .mt-md-n3, - .my-md-n3 { +.my-md-n3 { margin-top: -1rem !important; } .mr-md-n3, - .mx-md-n3 { +.mx-md-n3 { margin-right: -1rem !important; } .mb-md-n3, - .my-md-n3 { +.my-md-n3 { margin-bottom: -1rem !important; } .ml-md-n3, - .mx-md-n3 { +.mx-md-n3 { margin-left: -1rem !important; } @@ -9636,22 +8728,22 @@ button.bg-dark:focus { } .mt-md-n4, - .my-md-n4 { +.my-md-n4 { margin-top: -1.5rem !important; } .mr-md-n4, - .mx-md-n4 { +.mx-md-n4 { margin-right: -1.5rem !important; } .mb-md-n4, - .my-md-n4 { +.my-md-n4 { margin-bottom: -1.5rem !important; } .ml-md-n4, - .mx-md-n4 { +.mx-md-n4 { margin-left: -1.5rem !important; } @@ -9660,22 +8752,22 @@ button.bg-dark:focus { } .mt-md-n5, - .my-md-n5 { +.my-md-n5 { margin-top: -3rem !important; } .mr-md-n5, - .mx-md-n5 { +.mx-md-n5 { margin-right: -3rem !important; } .mb-md-n5, - .my-md-n5 { +.my-md-n5 { margin-bottom: -3rem !important; } .ml-md-n5, - .mx-md-n5 { +.mx-md-n5 { margin-left: -3rem !important; } @@ -9684,48 +8776,47 @@ button.bg-dark:focus { } .mt-md-auto, - .my-md-auto { +.my-md-auto { margin-top: auto !important; } .mr-md-auto, - .mx-md-auto { +.mx-md-auto { margin-right: auto !important; } .mb-md-auto, - .my-md-auto { +.my-md-auto { margin-bottom: auto !important; } .ml-md-auto, - .mx-md-auto { +.mx-md-auto { margin-left: auto !important; } } - @media (min-width: 992px) { .m-lg-0 { margin: 0 !important; } .mt-lg-0, - .my-lg-0 { +.my-lg-0 { margin-top: 0 !important; } .mr-lg-0, - .mx-lg-0 { +.mx-lg-0 { margin-right: 0 !important; } .mb-lg-0, - .my-lg-0 { +.my-lg-0 { margin-bottom: 0 !important; } .ml-lg-0, - .mx-lg-0 { +.mx-lg-0 { margin-left: 0 !important; } @@ -9734,22 +8825,22 @@ button.bg-dark:focus { } .mt-lg-1, - .my-lg-1 { +.my-lg-1 { margin-top: 0.25rem !important; } .mr-lg-1, - .mx-lg-1 { +.mx-lg-1 { margin-right: 0.25rem !important; } .mb-lg-1, - .my-lg-1 { +.my-lg-1 { margin-bottom: 0.25rem !important; } .ml-lg-1, - .mx-lg-1 { +.mx-lg-1 { margin-left: 0.25rem !important; } @@ -9758,22 +8849,22 @@ button.bg-dark:focus { } .mt-lg-2, - .my-lg-2 { +.my-lg-2 { margin-top: 0.5rem !important; } .mr-lg-2, - .mx-lg-2 { +.mx-lg-2 { margin-right: 0.5rem !important; } .mb-lg-2, - .my-lg-2 { +.my-lg-2 { margin-bottom: 0.5rem !important; } .ml-lg-2, - .mx-lg-2 { +.mx-lg-2 { margin-left: 0.5rem !important; } @@ -9782,22 +8873,22 @@ button.bg-dark:focus { } .mt-lg-3, - .my-lg-3 { +.my-lg-3 { margin-top: 1rem !important; } .mr-lg-3, - .mx-lg-3 { +.mx-lg-3 { margin-right: 1rem !important; } .mb-lg-3, - .my-lg-3 { +.my-lg-3 { margin-bottom: 1rem !important; } .ml-lg-3, - .mx-lg-3 { +.mx-lg-3 { margin-left: 1rem !important; } @@ -9806,22 +8897,22 @@ button.bg-dark:focus { } .mt-lg-4, - .my-lg-4 { +.my-lg-4 { margin-top: 1.5rem !important; } .mr-lg-4, - .mx-lg-4 { +.mx-lg-4 { margin-right: 1.5rem !important; } .mb-lg-4, - .my-lg-4 { +.my-lg-4 { margin-bottom: 1.5rem !important; } .ml-lg-4, - .mx-lg-4 { +.mx-lg-4 { margin-left: 1.5rem !important; } @@ -9830,22 +8921,22 @@ button.bg-dark:focus { } .mt-lg-5, - .my-lg-5 { +.my-lg-5 { margin-top: 3rem !important; } .mr-lg-5, - .mx-lg-5 { +.mx-lg-5 { margin-right: 3rem !important; } .mb-lg-5, - .my-lg-5 { +.my-lg-5 { margin-bottom: 3rem !important; } .ml-lg-5, - .mx-lg-5 { +.mx-lg-5 { margin-left: 3rem !important; } @@ -9854,22 +8945,22 @@ button.bg-dark:focus { } .pt-lg-0, - .py-lg-0 { +.py-lg-0 { padding-top: 0 !important; } .pr-lg-0, - .px-lg-0 { +.px-lg-0 { padding-right: 0 !important; } .pb-lg-0, - .py-lg-0 { +.py-lg-0 { padding-bottom: 0 !important; } .pl-lg-0, - .px-lg-0 { +.px-lg-0 { padding-left: 0 !important; } @@ -9878,22 +8969,22 @@ button.bg-dark:focus { } .pt-lg-1, - .py-lg-1 { +.py-lg-1 { padding-top: 0.25rem !important; } .pr-lg-1, - .px-lg-1 { +.px-lg-1 { padding-right: 0.25rem !important; } .pb-lg-1, - .py-lg-1 { +.py-lg-1 { padding-bottom: 0.25rem !important; } .pl-lg-1, - .px-lg-1 { +.px-lg-1 { padding-left: 0.25rem !important; } @@ -9902,22 +8993,22 @@ button.bg-dark:focus { } .pt-lg-2, - .py-lg-2 { +.py-lg-2 { padding-top: 0.5rem !important; } .pr-lg-2, - .px-lg-2 { +.px-lg-2 { padding-right: 0.5rem !important; } .pb-lg-2, - .py-lg-2 { +.py-lg-2 { padding-bottom: 0.5rem !important; } .pl-lg-2, - .px-lg-2 { +.px-lg-2 { padding-left: 0.5rem !important; } @@ -9926,22 +9017,22 @@ button.bg-dark:focus { } .pt-lg-3, - .py-lg-3 { +.py-lg-3 { padding-top: 1rem !important; } .pr-lg-3, - .px-lg-3 { +.px-lg-3 { padding-right: 1rem !important; } .pb-lg-3, - .py-lg-3 { +.py-lg-3 { padding-bottom: 1rem !important; } .pl-lg-3, - .px-lg-3 { +.px-lg-3 { padding-left: 1rem !important; } @@ -9950,22 +9041,22 @@ button.bg-dark:focus { } .pt-lg-4, - .py-lg-4 { +.py-lg-4 { padding-top: 1.5rem !important; } .pr-lg-4, - .px-lg-4 { +.px-lg-4 { padding-right: 1.5rem !important; } .pb-lg-4, - .py-lg-4 { +.py-lg-4 { padding-bottom: 1.5rem !important; } .pl-lg-4, - .px-lg-4 { +.px-lg-4 { padding-left: 1.5rem !important; } @@ -9974,22 +9065,22 @@ button.bg-dark:focus { } .pt-lg-5, - .py-lg-5 { +.py-lg-5 { padding-top: 3rem !important; } .pr-lg-5, - .px-lg-5 { +.px-lg-5 { padding-right: 3rem !important; } .pb-lg-5, - .py-lg-5 { +.py-lg-5 { padding-bottom: 3rem !important; } .pl-lg-5, - .px-lg-5 { +.px-lg-5 { padding-left: 3rem !important; } @@ -9998,22 +9089,22 @@ button.bg-dark:focus { } .mt-lg-n1, - .my-lg-n1 { +.my-lg-n1 { margin-top: -0.25rem !important; } .mr-lg-n1, - .mx-lg-n1 { +.mx-lg-n1 { margin-right: -0.25rem !important; } .mb-lg-n1, - .my-lg-n1 { +.my-lg-n1 { margin-bottom: -0.25rem !important; } .ml-lg-n1, - .mx-lg-n1 { +.mx-lg-n1 { margin-left: -0.25rem !important; } @@ -10022,22 +9113,22 @@ button.bg-dark:focus { } .mt-lg-n2, - .my-lg-n2 { +.my-lg-n2 { margin-top: -0.5rem !important; } .mr-lg-n2, - .mx-lg-n2 { +.mx-lg-n2 { margin-right: -0.5rem !important; } .mb-lg-n2, - .my-lg-n2 { +.my-lg-n2 { margin-bottom: -0.5rem !important; } .ml-lg-n2, - .mx-lg-n2 { +.mx-lg-n2 { margin-left: -0.5rem !important; } @@ -10046,22 +9137,22 @@ button.bg-dark:focus { } .mt-lg-n3, - .my-lg-n3 { +.my-lg-n3 { margin-top: -1rem !important; } .mr-lg-n3, - .mx-lg-n3 { +.mx-lg-n3 { margin-right: -1rem !important; } .mb-lg-n3, - .my-lg-n3 { +.my-lg-n3 { margin-bottom: -1rem !important; } .ml-lg-n3, - .mx-lg-n3 { +.mx-lg-n3 { margin-left: -1rem !important; } @@ -10070,22 +9161,22 @@ button.bg-dark:focus { } .mt-lg-n4, - .my-lg-n4 { +.my-lg-n4 { margin-top: -1.5rem !important; } .mr-lg-n4, - .mx-lg-n4 { +.mx-lg-n4 { margin-right: -1.5rem !important; } .mb-lg-n4, - .my-lg-n4 { +.my-lg-n4 { margin-bottom: -1.5rem !important; } .ml-lg-n4, - .mx-lg-n4 { +.mx-lg-n4 { margin-left: -1.5rem !important; } @@ -10094,22 +9185,22 @@ button.bg-dark:focus { } .mt-lg-n5, - .my-lg-n5 { +.my-lg-n5 { margin-top: -3rem !important; } .mr-lg-n5, - .mx-lg-n5 { +.mx-lg-n5 { margin-right: -3rem !important; } .mb-lg-n5, - .my-lg-n5 { +.my-lg-n5 { margin-bottom: -3rem !important; } .ml-lg-n5, - .mx-lg-n5 { +.mx-lg-n5 { margin-left: -3rem !important; } @@ -10118,48 +9209,47 @@ button.bg-dark:focus { } .mt-lg-auto, - .my-lg-auto { +.my-lg-auto { margin-top: auto !important; } .mr-lg-auto, - .mx-lg-auto { +.mx-lg-auto { margin-right: auto !important; } .mb-lg-auto, - .my-lg-auto { +.my-lg-auto { margin-bottom: auto !important; } .ml-lg-auto, - .mx-lg-auto { +.mx-lg-auto { margin-left: auto !important; } } - @media (min-width: 1200px) { .m-xl-0 { margin: 0 !important; } .mt-xl-0, - .my-xl-0 { +.my-xl-0 { margin-top: 0 !important; } .mr-xl-0, - .mx-xl-0 { +.mx-xl-0 { margin-right: 0 !important; } .mb-xl-0, - .my-xl-0 { +.my-xl-0 { margin-bottom: 0 !important; } .ml-xl-0, - .mx-xl-0 { +.mx-xl-0 { margin-left: 0 !important; } @@ -10168,22 +9258,22 @@ button.bg-dark:focus { } .mt-xl-1, - .my-xl-1 { +.my-xl-1 { margin-top: 0.25rem !important; } .mr-xl-1, - .mx-xl-1 { +.mx-xl-1 { margin-right: 0.25rem !important; } .mb-xl-1, - .my-xl-1 { +.my-xl-1 { margin-bottom: 0.25rem !important; } .ml-xl-1, - .mx-xl-1 { +.mx-xl-1 { margin-left: 0.25rem !important; } @@ -10192,22 +9282,22 @@ button.bg-dark:focus { } .mt-xl-2, - .my-xl-2 { +.my-xl-2 { margin-top: 0.5rem !important; } .mr-xl-2, - .mx-xl-2 { +.mx-xl-2 { margin-right: 0.5rem !important; } .mb-xl-2, - .my-xl-2 { +.my-xl-2 { margin-bottom: 0.5rem !important; } .ml-xl-2, - .mx-xl-2 { +.mx-xl-2 { margin-left: 0.5rem !important; } @@ -10216,22 +9306,22 @@ button.bg-dark:focus { } .mt-xl-3, - .my-xl-3 { +.my-xl-3 { margin-top: 1rem !important; } .mr-xl-3, - .mx-xl-3 { +.mx-xl-3 { margin-right: 1rem !important; } .mb-xl-3, - .my-xl-3 { +.my-xl-3 { margin-bottom: 1rem !important; } .ml-xl-3, - .mx-xl-3 { +.mx-xl-3 { margin-left: 1rem !important; } @@ -10240,22 +9330,22 @@ button.bg-dark:focus { } .mt-xl-4, - .my-xl-4 { +.my-xl-4 { margin-top: 1.5rem !important; } .mr-xl-4, - .mx-xl-4 { +.mx-xl-4 { margin-right: 1.5rem !important; } .mb-xl-4, - .my-xl-4 { +.my-xl-4 { margin-bottom: 1.5rem !important; } .ml-xl-4, - .mx-xl-4 { +.mx-xl-4 { margin-left: 1.5rem !important; } @@ -10264,22 +9354,22 @@ button.bg-dark:focus { } .mt-xl-5, - .my-xl-5 { +.my-xl-5 { margin-top: 3rem !important; } .mr-xl-5, - .mx-xl-5 { +.mx-xl-5 { margin-right: 3rem !important; } .mb-xl-5, - .my-xl-5 { +.my-xl-5 { margin-bottom: 3rem !important; } .ml-xl-5, - .mx-xl-5 { +.mx-xl-5 { margin-left: 3rem !important; } @@ -10288,22 +9378,22 @@ button.bg-dark:focus { } .pt-xl-0, - .py-xl-0 { +.py-xl-0 { padding-top: 0 !important; } .pr-xl-0, - .px-xl-0 { +.px-xl-0 { padding-right: 0 !important; } .pb-xl-0, - .py-xl-0 { +.py-xl-0 { padding-bottom: 0 !important; } .pl-xl-0, - .px-xl-0 { +.px-xl-0 { padding-left: 0 !important; } @@ -10312,22 +9402,22 @@ button.bg-dark:focus { } .pt-xl-1, - .py-xl-1 { +.py-xl-1 { padding-top: 0.25rem !important; } .pr-xl-1, - .px-xl-1 { +.px-xl-1 { padding-right: 0.25rem !important; } .pb-xl-1, - .py-xl-1 { +.py-xl-1 { padding-bottom: 0.25rem !important; } .pl-xl-1, - .px-xl-1 { +.px-xl-1 { padding-left: 0.25rem !important; } @@ -10336,22 +9426,22 @@ button.bg-dark:focus { } .pt-xl-2, - .py-xl-2 { +.py-xl-2 { padding-top: 0.5rem !important; } .pr-xl-2, - .px-xl-2 { +.px-xl-2 { padding-right: 0.5rem !important; } .pb-xl-2, - .py-xl-2 { +.py-xl-2 { padding-bottom: 0.5rem !important; } .pl-xl-2, - .px-xl-2 { +.px-xl-2 { padding-left: 0.5rem !important; } @@ -10360,22 +9450,22 @@ button.bg-dark:focus { } .pt-xl-3, - .py-xl-3 { +.py-xl-3 { padding-top: 1rem !important; } .pr-xl-3, - .px-xl-3 { +.px-xl-3 { padding-right: 1rem !important; } .pb-xl-3, - .py-xl-3 { +.py-xl-3 { padding-bottom: 1rem !important; } .pl-xl-3, - .px-xl-3 { +.px-xl-3 { padding-left: 1rem !important; } @@ -10384,22 +9474,22 @@ button.bg-dark:focus { } .pt-xl-4, - .py-xl-4 { +.py-xl-4 { padding-top: 1.5rem !important; } .pr-xl-4, - .px-xl-4 { +.px-xl-4 { padding-right: 1.5rem !important; } .pb-xl-4, - .py-xl-4 { +.py-xl-4 { padding-bottom: 1.5rem !important; } .pl-xl-4, - .px-xl-4 { +.px-xl-4 { padding-left: 1.5rem !important; } @@ -10408,22 +9498,22 @@ button.bg-dark:focus { } .pt-xl-5, - .py-xl-5 { +.py-xl-5 { padding-top: 3rem !important; } .pr-xl-5, - .px-xl-5 { +.px-xl-5 { padding-right: 3rem !important; } .pb-xl-5, - .py-xl-5 { +.py-xl-5 { padding-bottom: 3rem !important; } .pl-xl-5, - .px-xl-5 { +.px-xl-5 { padding-left: 3rem !important; } @@ -10432,22 +9522,22 @@ button.bg-dark:focus { } .mt-xl-n1, - .my-xl-n1 { +.my-xl-n1 { margin-top: -0.25rem !important; } .mr-xl-n1, - .mx-xl-n1 { +.mx-xl-n1 { margin-right: -0.25rem !important; } .mb-xl-n1, - .my-xl-n1 { +.my-xl-n1 { margin-bottom: -0.25rem !important; } .ml-xl-n1, - .mx-xl-n1 { +.mx-xl-n1 { margin-left: -0.25rem !important; } @@ -10456,22 +9546,22 @@ button.bg-dark:focus { } .mt-xl-n2, - .my-xl-n2 { +.my-xl-n2 { margin-top: -0.5rem !important; } .mr-xl-n2, - .mx-xl-n2 { +.mx-xl-n2 { margin-right: -0.5rem !important; } .mb-xl-n2, - .my-xl-n2 { +.my-xl-n2 { margin-bottom: -0.5rem !important; } .ml-xl-n2, - .mx-xl-n2 { +.mx-xl-n2 { margin-left: -0.5rem !important; } @@ -10480,22 +9570,22 @@ button.bg-dark:focus { } .mt-xl-n3, - .my-xl-n3 { +.my-xl-n3 { margin-top: -1rem !important; } .mr-xl-n3, - .mx-xl-n3 { +.mx-xl-n3 { margin-right: -1rem !important; } .mb-xl-n3, - .my-xl-n3 { +.my-xl-n3 { margin-bottom: -1rem !important; } .ml-xl-n3, - .mx-xl-n3 { +.mx-xl-n3 { margin-left: -1rem !important; } @@ -10504,22 +9594,22 @@ button.bg-dark:focus { } .mt-xl-n4, - .my-xl-n4 { +.my-xl-n4 { margin-top: -1.5rem !important; } .mr-xl-n4, - .mx-xl-n4 { +.mx-xl-n4 { margin-right: -1.5rem !important; } .mb-xl-n4, - .my-xl-n4 { +.my-xl-n4 { margin-bottom: -1.5rem !important; } .ml-xl-n4, - .mx-xl-n4 { +.mx-xl-n4 { margin-left: -1.5rem !important; } @@ -10528,22 +9618,22 @@ button.bg-dark:focus { } .mt-xl-n5, - .my-xl-n5 { +.my-xl-n5 { margin-top: -3rem !important; } .mr-xl-n5, - .mx-xl-n5 { +.mx-xl-n5 { margin-right: -3rem !important; } .mb-xl-n5, - .my-xl-n5 { +.my-xl-n5 { margin-bottom: -3rem !important; } .ml-xl-n5, - .mx-xl-n5 { +.mx-xl-n5 { margin-left: -3rem !important; } @@ -10552,26 +9642,25 @@ button.bg-dark:focus { } .mt-xl-auto, - .my-xl-auto { +.my-xl-auto { margin-top: auto !important; } .mr-xl-auto, - .mx-xl-auto { +.mx-xl-auto { margin-right: auto !important; } .mb-xl-auto, - .my-xl-auto { +.my-xl-auto { margin-bottom: auto !important; } .ml-xl-auto, - .mx-xl-auto { +.mx-xl-auto { margin-left: auto !important; } } - .stretched-link::after { position: absolute; top: 0; @@ -10631,7 +9720,6 @@ button.bg-dark:focus { text-align: center !important; } } - @media (min-width: 768px) { .text-md-left { text-align: left !important; @@ -10645,7 +9733,6 @@ button.bg-dark:focus { text-align: center !important; } } - @media (min-width: 992px) { .text-lg-left { text-align: left !important; @@ -10659,7 +9746,6 @@ button.bg-dark:focus { text-align: center !important; } } - @media (min-width: 1200px) { .text-xl-left { text-align: left !important; @@ -10673,7 +9759,6 @@ button.bg-dark:focus { text-align: center !important; } } - .text-lowercase { text-transform: lowercase !important; } @@ -10718,8 +9803,7 @@ button.bg-dark:focus { color: #3490dc !important; } -a.text-primary:hover, -a.text-primary:focus { +a.text-primary:hover, a.text-primary:focus { color: #1d68a7 !important; } @@ -10727,8 +9811,7 @@ a.text-primary:focus { color: #6c757d !important; } -a.text-secondary:hover, -a.text-secondary:focus { +a.text-secondary:hover, a.text-secondary:focus { color: #494f54 !important; } @@ -10736,8 +9819,7 @@ a.text-secondary:focus { color: #38c172 !important; } -a.text-success:hover, -a.text-success:focus { +a.text-success:hover, a.text-success:focus { color: #27864f !important; } @@ -10745,8 +9827,7 @@ a.text-success:focus { color: #6cb2eb !important; } -a.text-info:hover, -a.text-info:focus { +a.text-info:hover, a.text-info:focus { color: #298fe2 !important; } @@ -10754,8 +9835,7 @@ a.text-info:focus { color: #ffed4a !important; } -a.text-warning:hover, -a.text-warning:focus { +a.text-warning:hover, a.text-warning:focus { color: #fde300 !important; } @@ -10763,8 +9843,7 @@ a.text-warning:focus { color: #e3342f !important; } -a.text-danger:hover, -a.text-danger:focus { +a.text-danger:hover, a.text-danger:focus { color: #ae1c17 !important; } @@ -10772,8 +9851,7 @@ a.text-danger:focus { color: #f8f9fa !important; } -a.text-light:hover, -a.text-light:focus { +a.text-light:hover, a.text-light:focus { color: #cbd3da !important; } @@ -10781,8 +9859,7 @@ a.text-light:focus { color: #343a40 !important; } -a.text-dark:hover, -a.text-dark:focus { +a.text-dark:hover, a.text-dark:focus { color: #121416 !important; } @@ -10815,6 +9892,7 @@ a.text-dark:focus { } .text-break { + word-break: break-word !important; word-wrap: break-word !important; } @@ -10832,8 +9910,8 @@ a.text-dark:focus { @media print { *, - *::before, - *::after { +*::before, +*::after { text-shadow: none !important; box-shadow: none !important; } @@ -10851,7 +9929,7 @@ a.text-dark:focus { } pre, - blockquote { +blockquote { border: 1px solid #adb5bd; page-break-inside: avoid; } @@ -10861,26 +9939,25 @@ a.text-dark:focus { } tr, - img { +img { page-break-inside: avoid; } p, - h2, - h3 { +h2, +h3 { orphans: 3; widows: 3; } h2, - h3 { +h3 { page-break-after: avoid; } -@page { + @page { size: a3; -} - + } body { min-width: 992px !important; } @@ -10900,25 +9977,23 @@ a.text-dark:focus { .table { border-collapse: collapse !important; } - .table td, - .table th { +.table th { background-color: #fff !important; } .table-bordered th, - .table-bordered td { +.table-bordered td { border: 1px solid #dee2e6 !important; } .table-dark { color: inherit; } - .table-dark th, - .table-dark td, - .table-dark thead th, - .table-dark tbody + tbody { +.table-dark td, +.table-dark thead th, +.table-dark tbody + tbody { border-color: #dee2e6; } @@ -10927,4 +10002,3 @@ a.text-dark:focus { border-color: #dee2e6; } } - diff --git a/public/images/boss/abyssal_sire.png b/public/images/boss/abyssal-sire.png similarity index 100% rename from public/images/boss/abyssal_sire.png rename to public/images/boss/abyssal-sire.png diff --git a/public/images/boss/abyssal_sire/abyssal_dagger.png b/public/images/boss/abyssal-sire/abyssal_dagger.png similarity index 100% rename from public/images/boss/abyssal_sire/abyssal_dagger.png rename to public/images/boss/abyssal-sire/abyssal_dagger.png diff --git a/public/images/boss/abyssal_sire/abyssal_head.png b/public/images/boss/abyssal-sire/abyssal_head.png similarity index 100% rename from public/images/boss/abyssal_sire/abyssal_head.png rename to public/images/boss/abyssal-sire/abyssal_head.png diff --git a/public/images/boss/abyssal_sire/abyssal_orphan.png b/public/images/boss/abyssal-sire/abyssal_orphan.png similarity index 100% rename from public/images/boss/abyssal_sire/abyssal_orphan.png rename to public/images/boss/abyssal-sire/abyssal_orphan.png diff --git a/public/images/boss/abyssal_sire/abyssal_whip.png b/public/images/boss/abyssal-sire/abyssal_whip.png similarity index 100% rename from public/images/boss/abyssal_sire/abyssal_whip.png rename to public/images/boss/abyssal-sire/abyssal_whip.png diff --git a/public/images/boss/abyssal_sire/bludgeon_axon.png b/public/images/boss/abyssal-sire/bludgeon_axon.png similarity index 100% rename from public/images/boss/abyssal_sire/bludgeon_axon.png rename to public/images/boss/abyssal-sire/bludgeon_axon.png diff --git a/public/images/boss/abyssal_sire/bludgeon_claw.png b/public/images/boss/abyssal-sire/bludgeon_claw.png similarity index 100% rename from public/images/boss/abyssal_sire/bludgeon_claw.png rename to public/images/boss/abyssal-sire/bludgeon_claw.png diff --git a/public/images/boss/abyssal_sire/bludgeon_spine.png b/public/images/boss/abyssal-sire/bludgeon_spine.png similarity index 100% rename from public/images/boss/abyssal_sire/bludgeon_spine.png rename to public/images/boss/abyssal-sire/bludgeon_spine.png diff --git a/public/images/boss/abyssal_sire/jar_of_miasma.png b/public/images/boss/abyssal-sire/jar_of_miasma.png similarity index 100% rename from public/images/boss/abyssal_sire/jar_of_miasma.png rename to public/images/boss/abyssal-sire/jar_of_miasma.png diff --git a/public/images/boss/abyssal_sire/unsired.png b/public/images/boss/abyssal-sire/unsired.png similarity index 100% rename from public/images/boss/abyssal_sire/unsired.png rename to public/images/boss/abyssal-sire/unsired.png diff --git a/public/images/boss/alchemical_hydra.png b/public/images/boss/alchemical-hydra.png similarity index 100% rename from public/images/boss/alchemical_hydra.png rename to public/images/boss/alchemical-hydra.png diff --git a/public/images/boss/alchemical_hydra/alchemical_hydra_heads.png b/public/images/boss/alchemical-hydra/alchemical_hydra_heads.png similarity index 100% rename from public/images/boss/alchemical_hydra/alchemical_hydra_heads.png rename to public/images/boss/alchemical-hydra/alchemical_hydra_heads.png diff --git a/public/images/boss/alchemical_hydra/dragon_knife.png b/public/images/boss/alchemical-hydra/dragon_knife.png similarity index 100% rename from public/images/boss/alchemical_hydra/dragon_knife.png rename to public/images/boss/alchemical-hydra/dragon_knife.png diff --git a/public/images/boss/alchemical_hydra/dragon_thrownaxe.png b/public/images/boss/alchemical-hydra/dragon_thrownaxe.png similarity index 100% rename from public/images/boss/alchemical_hydra/dragon_thrownaxe.png rename to public/images/boss/alchemical-hydra/dragon_thrownaxe.png diff --git a/public/images/boss/alchemical_hydra/hydra_leather.png b/public/images/boss/alchemical-hydra/hydra_leather.png similarity index 100% rename from public/images/boss/alchemical_hydra/hydra_leather.png rename to public/images/boss/alchemical-hydra/hydra_leather.png diff --git a/public/images/boss/alchemical_hydra/hydra_tail.png b/public/images/boss/alchemical-hydra/hydra_tail.png similarity index 100% rename from public/images/boss/alchemical_hydra/hydra_tail.png rename to public/images/boss/alchemical-hydra/hydra_tail.png diff --git a/public/images/boss/alchemical_hydra/hydras_claw.png b/public/images/boss/alchemical-hydra/hydras_claw.png similarity index 100% rename from public/images/boss/alchemical_hydra/hydras_claw.png rename to public/images/boss/alchemical-hydra/hydras_claw.png diff --git a/public/images/boss/alchemical_hydra/hydras_eye.png b/public/images/boss/alchemical-hydra/hydras_eye.png similarity index 100% rename from public/images/boss/alchemical_hydra/hydras_eye.png rename to public/images/boss/alchemical-hydra/hydras_eye.png diff --git a/public/images/boss/alchemical_hydra/hydras_fang.png b/public/images/boss/alchemical-hydra/hydras_fang.png similarity index 100% rename from public/images/boss/alchemical_hydra/hydras_fang.png rename to public/images/boss/alchemical-hydra/hydras_fang.png diff --git a/public/images/boss/alchemical_hydra/hydras_heart.png b/public/images/boss/alchemical-hydra/hydras_heart.png similarity index 100% rename from public/images/boss/alchemical_hydra/hydras_heart.png rename to public/images/boss/alchemical-hydra/hydras_heart.png diff --git a/public/images/boss/alchemical_hydra/ikkle_hydra.png b/public/images/boss/alchemical-hydra/ikkle_hydra.png similarity index 100% rename from public/images/boss/alchemical_hydra/ikkle_hydra.png rename to public/images/boss/alchemical-hydra/ikkle_hydra.png diff --git a/public/images/boss/alchemical_hydra/jar_of_chemicals.png b/public/images/boss/alchemical-hydra/jar_of_chemicals.png similarity index 100% rename from public/images/boss/alchemical_hydra/jar_of_chemicals.png rename to public/images/boss/alchemical-hydra/jar_of_chemicals.png diff --git a/public/images/boss/barrows_chests.png b/public/images/boss/barrows-chests.png similarity index 100% rename from public/images/boss/barrows_chests.png rename to public/images/boss/barrows-chests.png diff --git a/public/images/boss/barrows_chests/ahrims_hood.png b/public/images/boss/barrows-chests/ahrims_hood.png similarity index 100% rename from public/images/boss/barrows_chests/ahrims_hood.png rename to public/images/boss/barrows-chests/ahrims_hood.png diff --git a/public/images/boss/barrows_chests/ahrims_robeskirt.png b/public/images/boss/barrows-chests/ahrims_robeskirt.png similarity index 100% rename from public/images/boss/barrows_chests/ahrims_robeskirt.png rename to public/images/boss/barrows-chests/ahrims_robeskirt.png diff --git a/public/images/boss/barrows_chests/ahrims_robetop.png b/public/images/boss/barrows-chests/ahrims_robetop.png similarity index 100% rename from public/images/boss/barrows_chests/ahrims_robetop.png rename to public/images/boss/barrows-chests/ahrims_robetop.png diff --git a/public/images/boss/barrows_chests/ahrims_staff.png b/public/images/boss/barrows-chests/ahrims_staff.png similarity index 100% rename from public/images/boss/barrows_chests/ahrims_staff.png rename to public/images/boss/barrows-chests/ahrims_staff.png diff --git a/public/images/boss/barrows_chests/bolt_rack.png b/public/images/boss/barrows-chests/bolt_rack.png similarity index 100% rename from public/images/boss/barrows_chests/bolt_rack.png rename to public/images/boss/barrows-chests/bolt_rack.png diff --git a/public/images/boss/barrows_chests/dharoks_greataxe.png b/public/images/boss/barrows-chests/dharoks_greataxe.png similarity index 100% rename from public/images/boss/barrows_chests/dharoks_greataxe.png rename to public/images/boss/barrows-chests/dharoks_greataxe.png diff --git a/public/images/boss/barrows_chests/dharoks_helm.png b/public/images/boss/barrows-chests/dharoks_helm.png similarity index 100% rename from public/images/boss/barrows_chests/dharoks_helm.png rename to public/images/boss/barrows-chests/dharoks_helm.png diff --git a/public/images/boss/barrows_chests/dharoks_platebody.png b/public/images/boss/barrows-chests/dharoks_platebody.png similarity index 100% rename from public/images/boss/barrows_chests/dharoks_platebody.png rename to public/images/boss/barrows-chests/dharoks_platebody.png diff --git a/public/images/boss/barrows_chests/dharoks_platelegs.png b/public/images/boss/barrows-chests/dharoks_platelegs.png similarity index 100% rename from public/images/boss/barrows_chests/dharoks_platelegs.png rename to public/images/boss/barrows-chests/dharoks_platelegs.png diff --git a/public/images/boss/barrows_chests/guthans_chainskirt.png b/public/images/boss/barrows-chests/guthans_chainskirt.png similarity index 100% rename from public/images/boss/barrows_chests/guthans_chainskirt.png rename to public/images/boss/barrows-chests/guthans_chainskirt.png diff --git a/public/images/boss/barrows_chests/guthans_helm.png b/public/images/boss/barrows-chests/guthans_helm.png similarity index 100% rename from public/images/boss/barrows_chests/guthans_helm.png rename to public/images/boss/barrows-chests/guthans_helm.png diff --git a/public/images/boss/barrows_chests/guthans_platebody.png b/public/images/boss/barrows-chests/guthans_platebody.png similarity index 100% rename from public/images/boss/barrows_chests/guthans_platebody.png rename to public/images/boss/barrows-chests/guthans_platebody.png diff --git a/public/images/boss/barrows_chests/guthans_warspear.png b/public/images/boss/barrows-chests/guthans_warspear.png similarity index 100% rename from public/images/boss/barrows_chests/guthans_warspear.png rename to public/images/boss/barrows-chests/guthans_warspear.png diff --git a/public/images/boss/barrows_chests/karils_coif.png b/public/images/boss/barrows-chests/karils_coif.png similarity index 100% rename from public/images/boss/barrows_chests/karils_coif.png rename to public/images/boss/barrows-chests/karils_coif.png diff --git a/public/images/boss/barrows_chests/karils_crossbow.png b/public/images/boss/barrows-chests/karils_crossbow.png similarity index 100% rename from public/images/boss/barrows_chests/karils_crossbow.png rename to public/images/boss/barrows-chests/karils_crossbow.png diff --git a/public/images/boss/barrows_chests/karils_leatherskirt.png b/public/images/boss/barrows-chests/karils_leatherskirt.png similarity index 100% rename from public/images/boss/barrows_chests/karils_leatherskirt.png rename to public/images/boss/barrows-chests/karils_leatherskirt.png diff --git a/public/images/boss/barrows_chests/karils_leathertop.png b/public/images/boss/barrows-chests/karils_leathertop.png similarity index 100% rename from public/images/boss/barrows_chests/karils_leathertop.png rename to public/images/boss/barrows-chests/karils_leathertop.png diff --git a/public/images/boss/barrows_chests/torags_hammers.png b/public/images/boss/barrows-chests/torags_hammers.png similarity index 100% rename from public/images/boss/barrows_chests/torags_hammers.png rename to public/images/boss/barrows-chests/torags_hammers.png diff --git a/public/images/boss/barrows_chests/torags_helm.png b/public/images/boss/barrows-chests/torags_helm.png similarity index 100% rename from public/images/boss/barrows_chests/torags_helm.png rename to public/images/boss/barrows-chests/torags_helm.png diff --git a/public/images/boss/barrows_chests/torags_platebody.png b/public/images/boss/barrows-chests/torags_platebody.png similarity index 100% rename from public/images/boss/barrows_chests/torags_platebody.png rename to public/images/boss/barrows-chests/torags_platebody.png diff --git a/public/images/boss/barrows_chests/torags_platelegs.png b/public/images/boss/barrows-chests/torags_platelegs.png similarity index 100% rename from public/images/boss/barrows_chests/torags_platelegs.png rename to public/images/boss/barrows-chests/torags_platelegs.png diff --git a/public/images/boss/barrows_chests/veracs_brassard.png b/public/images/boss/barrows-chests/veracs_brassard.png similarity index 100% rename from public/images/boss/barrows_chests/veracs_brassard.png rename to public/images/boss/barrows-chests/veracs_brassard.png diff --git a/public/images/boss/barrows_chests/veracs_flail.png b/public/images/boss/barrows-chests/veracs_flail.png similarity index 100% rename from public/images/boss/barrows_chests/veracs_flail.png rename to public/images/boss/barrows-chests/veracs_flail.png diff --git a/public/images/boss/barrows_chests/veracs_helm.png b/public/images/boss/barrows-chests/veracs_helm.png similarity index 100% rename from public/images/boss/barrows_chests/veracs_helm.png rename to public/images/boss/barrows-chests/veracs_helm.png diff --git a/public/images/boss/barrows_chests/veracs_plateskirt.png b/public/images/boss/barrows-chests/veracs_plateskirt.png similarity index 100% rename from public/images/boss/barrows_chests/veracs_plateskirt.png rename to public/images/boss/barrows-chests/veracs_plateskirt.png diff --git a/public/images/boss/chambers_of_xeric_challenge_mode.png b/public/images/boss/chambers-of-xeric-challenge-mode.png similarity index 100% rename from public/images/boss/chambers_of_xeric_challenge_mode.png rename to public/images/boss/chambers-of-xeric-challenge-mode.png diff --git a/public/images/boss/chambers_of_xeric.png b/public/images/boss/chambers-of-xeric.png similarity index 100% rename from public/images/boss/chambers_of_xeric.png rename to public/images/boss/chambers-of-xeric.png diff --git a/public/images/boss/chambers_of_xeric/ancestral_hat.png b/public/images/boss/chambers-of-xeric/ancestral_hat.png similarity index 100% rename from public/images/boss/chambers_of_xeric/ancestral_hat.png rename to public/images/boss/chambers-of-xeric/ancestral_hat.png diff --git a/public/images/boss/chambers_of_xeric/ancestral_robe_bottom.png b/public/images/boss/chambers-of-xeric/ancestral_robe_bottom.png similarity index 100% rename from public/images/boss/chambers_of_xeric/ancestral_robe_bottom.png rename to public/images/boss/chambers-of-xeric/ancestral_robe_bottom.png diff --git a/public/images/boss/chambers_of_xeric/ancestral_robe_top.png b/public/images/boss/chambers-of-xeric/ancestral_robe_top.png similarity index 100% rename from public/images/boss/chambers_of_xeric/ancestral_robe_top.png rename to public/images/boss/chambers-of-xeric/ancestral_robe_top.png diff --git a/public/images/boss/chambers_of_xeric/arcane_prayer_scroll.png b/public/images/boss/chambers-of-xeric/arcane_prayer_scroll.png similarity index 100% rename from public/images/boss/chambers_of_xeric/arcane_prayer_scroll.png rename to public/images/boss/chambers-of-xeric/arcane_prayer_scroll.png diff --git a/public/images/boss/chambers_of_xeric/dark_relic.png b/public/images/boss/chambers-of-xeric/dark_relic.png similarity index 100% rename from public/images/boss/chambers_of_xeric/dark_relic.png rename to public/images/boss/chambers-of-xeric/dark_relic.png diff --git a/public/images/boss/chambers_of_xeric/dexterous_prayer_scroll.png b/public/images/boss/chambers-of-xeric/dexterous_prayer_scroll.png similarity index 100% rename from public/images/boss/chambers_of_xeric/dexterous_prayer_scroll.png rename to public/images/boss/chambers-of-xeric/dexterous_prayer_scroll.png diff --git a/public/images/boss/chambers_of_xeric/dinhs_bulwark.png b/public/images/boss/chambers-of-xeric/dinhs_bulwark.png similarity index 100% rename from public/images/boss/chambers_of_xeric/dinhs_bulwark.png rename to public/images/boss/chambers-of-xeric/dinhs_bulwark.png diff --git a/public/images/boss/chambers_of_xeric/dragon_claws.png b/public/images/boss/chambers-of-xeric/dragon_claws.png similarity index 100% rename from public/images/boss/chambers_of_xeric/dragon_claws.png rename to public/images/boss/chambers-of-xeric/dragon_claws.png diff --git a/public/images/boss/chambers_of_xeric/dragon_hunter_crossbow.png b/public/images/boss/chambers-of-xeric/dragon_hunter_crossbow.png similarity index 100% rename from public/images/boss/chambers_of_xeric/dragon_hunter_crossbow.png rename to public/images/boss/chambers-of-xeric/dragon_hunter_crossbow.png diff --git a/public/images/boss/chambers_of_xeric/elder_maul.png b/public/images/boss/chambers-of-xeric/elder_maul.png similarity index 100% rename from public/images/boss/chambers_of_xeric/elder_maul.png rename to public/images/boss/chambers-of-xeric/elder_maul.png diff --git a/public/images/boss/chambers_of_xeric/kodai_insignia.png b/public/images/boss/chambers-of-xeric/kodai_insignia.png similarity index 100% rename from public/images/boss/chambers_of_xeric/kodai_insignia.png rename to public/images/boss/chambers-of-xeric/kodai_insignia.png diff --git a/public/images/boss/chambers_of_xeric/metamorphic_dust.png b/public/images/boss/chambers-of-xeric/metamorphic_dust.png similarity index 100% rename from public/images/boss/chambers_of_xeric/metamorphic_dust.png rename to public/images/boss/chambers-of-xeric/metamorphic_dust.png diff --git a/public/images/boss/chambers_of_xeric/olmlet.png b/public/images/boss/chambers-of-xeric/olmlet.png similarity index 100% rename from public/images/boss/chambers_of_xeric/olmlet.png rename to public/images/boss/chambers-of-xeric/olmlet.png diff --git a/public/images/boss/chambers_of_xeric/onyx.png b/public/images/boss/chambers-of-xeric/onyx.png similarity index 100% rename from public/images/boss/chambers_of_xeric/onyx.png rename to public/images/boss/chambers-of-xeric/onyx.png diff --git a/public/images/boss/chambers_of_xeric/torn_prayer_scroll.png b/public/images/boss/chambers-of-xeric/torn_prayer_scroll.png similarity index 100% rename from public/images/boss/chambers_of_xeric/torn_prayer_scroll.png rename to public/images/boss/chambers-of-xeric/torn_prayer_scroll.png diff --git a/public/images/boss/chambers_of_xeric/twisted_ancestral_colour_kit.png b/public/images/boss/chambers-of-xeric/twisted_ancestral_colour_kit.png similarity index 100% rename from public/images/boss/chambers_of_xeric/twisted_ancestral_colour_kit.png rename to public/images/boss/chambers-of-xeric/twisted_ancestral_colour_kit.png diff --git a/public/images/boss/chambers_of_xeric/twisted_bow.png b/public/images/boss/chambers-of-xeric/twisted_bow.png similarity index 100% rename from public/images/boss/chambers_of_xeric/twisted_bow.png rename to public/images/boss/chambers-of-xeric/twisted_bow.png diff --git a/public/images/boss/chambers_of_xeric/twisted_buckler.png b/public/images/boss/chambers-of-xeric/twisted_buckler.png similarity index 100% rename from public/images/boss/chambers_of_xeric/twisted_buckler.png rename to public/images/boss/chambers-of-xeric/twisted_buckler.png diff --git a/public/images/boss/chambers_of_xeric/xerics_champion.png b/public/images/boss/chambers-of-xeric/xerics_champion.png similarity index 100% rename from public/images/boss/chambers_of_xeric/xerics_champion.png rename to public/images/boss/chambers-of-xeric/xerics_champion.png diff --git a/public/images/boss/chambers_of_xeric/xerics_general.png b/public/images/boss/chambers-of-xeric/xerics_general.png similarity index 100% rename from public/images/boss/chambers_of_xeric/xerics_general.png rename to public/images/boss/chambers-of-xeric/xerics_general.png diff --git a/public/images/boss/chambers_of_xeric/xerics_guard.png b/public/images/boss/chambers-of-xeric/xerics_guard.png similarity index 100% rename from public/images/boss/chambers_of_xeric/xerics_guard.png rename to public/images/boss/chambers-of-xeric/xerics_guard.png diff --git a/public/images/boss/chambers_of_xeric/xerics_sentinel.png b/public/images/boss/chambers-of-xeric/xerics_sentinel.png similarity index 100% rename from public/images/boss/chambers_of_xeric/xerics_sentinel.png rename to public/images/boss/chambers-of-xeric/xerics_sentinel.png diff --git a/public/images/boss/chambers_of_xeric/xerics_warrior.png b/public/images/boss/chambers-of-xeric/xerics_warrior.png similarity index 100% rename from public/images/boss/chambers_of_xeric/xerics_warrior.png rename to public/images/boss/chambers-of-xeric/xerics_warrior.png diff --git a/public/images/boss/chaos_elemental.png b/public/images/boss/chaos-elemental.png similarity index 100% rename from public/images/boss/chaos_elemental.png rename to public/images/boss/chaos-elemental.png diff --git a/public/images/boss/chaos_elemental/dragon_2h_sword.png b/public/images/boss/chaos-elemental/dragon_2h_sword.png similarity index 100% rename from public/images/boss/chaos_elemental/dragon_2h_sword.png rename to public/images/boss/chaos-elemental/dragon_2h_sword.png diff --git a/public/images/boss/chaos_elemental/dragon_pickaxe.png b/public/images/boss/chaos-elemental/dragon_pickaxe.png similarity index 100% rename from public/images/boss/chaos_elemental/dragon_pickaxe.png rename to public/images/boss/chaos-elemental/dragon_pickaxe.png diff --git a/public/images/boss/chaos_elemental/pet_chaos_elemental.png b/public/images/boss/chaos-elemental/pet_chaos_elemental.png similarity index 100% rename from public/images/boss/chaos_elemental/pet_chaos_elemental.png rename to public/images/boss/chaos-elemental/pet_chaos_elemental.png diff --git a/public/images/boss/chaos_fanatic.png b/public/images/boss/chaos-fanatic.png similarity index 100% rename from public/images/boss/chaos_fanatic.png rename to public/images/boss/chaos-fanatic.png diff --git a/public/images/boss/chaos_fanatic/malediction_shard_1.png b/public/images/boss/chaos-fanatic/malediction_shard_1.png similarity index 100% rename from public/images/boss/chaos_fanatic/malediction_shard_1.png rename to public/images/boss/chaos-fanatic/malediction_shard_1.png diff --git a/public/images/boss/chaos_fanatic/odium_shard_1.png b/public/images/boss/chaos-fanatic/odium_shard_1.png similarity index 100% rename from public/images/boss/chaos_fanatic/odium_shard_1.png rename to public/images/boss/chaos-fanatic/odium_shard_1.png diff --git a/public/images/boss/chaos_fanatic/pet_chaos_elemental.png b/public/images/boss/chaos-fanatic/pet_chaos_elemental.png similarity index 100% rename from public/images/boss/chaos_fanatic/pet_chaos_elemental.png rename to public/images/boss/chaos-fanatic/pet_chaos_elemental.png diff --git a/public/images/boss/commander_zilyana.png b/public/images/boss/commander-zilyana.png similarity index 100% rename from public/images/boss/commander_zilyana.png rename to public/images/boss/commander-zilyana.png diff --git a/public/images/boss/commander_zilyana/armadyl_crossbow.png b/public/images/boss/commander-zilyana/armadyl_crossbow.png similarity index 100% rename from public/images/boss/commander_zilyana/armadyl_crossbow.png rename to public/images/boss/commander-zilyana/armadyl_crossbow.png diff --git a/public/images/boss/commander_zilyana/godsword_shard_1.png b/public/images/boss/commander-zilyana/godsword_shard_1.png similarity index 100% rename from public/images/boss/commander_zilyana/godsword_shard_1.png rename to public/images/boss/commander-zilyana/godsword_shard_1.png diff --git a/public/images/boss/commander_zilyana/godsword_shard_2.png b/public/images/boss/commander-zilyana/godsword_shard_2.png similarity index 100% rename from public/images/boss/commander_zilyana/godsword_shard_2.png rename to public/images/boss/commander-zilyana/godsword_shard_2.png diff --git a/public/images/boss/commander_zilyana/godsword_shard_3.png b/public/images/boss/commander-zilyana/godsword_shard_3.png similarity index 100% rename from public/images/boss/commander_zilyana/godsword_shard_3.png rename to public/images/boss/commander-zilyana/godsword_shard_3.png diff --git a/public/images/boss/commander_zilyana/pet_zilyana.png b/public/images/boss/commander-zilyana/pet_zilyana.png similarity index 100% rename from public/images/boss/commander_zilyana/pet_zilyana.png rename to public/images/boss/commander-zilyana/pet_zilyana.png diff --git a/public/images/boss/commander_zilyana/saradomin_hilt.png b/public/images/boss/commander-zilyana/saradomin_hilt.png similarity index 100% rename from public/images/boss/commander_zilyana/saradomin_hilt.png rename to public/images/boss/commander-zilyana/saradomin_hilt.png diff --git a/public/images/boss/commander_zilyana/saradomin_sword.png b/public/images/boss/commander-zilyana/saradomin_sword.png similarity index 100% rename from public/images/boss/commander_zilyana/saradomin_sword.png rename to public/images/boss/commander-zilyana/saradomin_sword.png diff --git a/public/images/boss/commander_zilyana/saradomins_light.png b/public/images/boss/commander-zilyana/saradomins_light.png similarity index 100% rename from public/images/boss/commander_zilyana/saradomins_light.png rename to public/images/boss/commander-zilyana/saradomins_light.png diff --git a/public/images/boss/corporeal_beast.png b/public/images/boss/corporeal-beast.png similarity index 100% rename from public/images/boss/corporeal_beast.png rename to public/images/boss/corporeal-beast.png diff --git a/public/images/boss/corporeal_beast/arcane_sigil.png b/public/images/boss/corporeal-beast/arcane_sigil.png similarity index 100% rename from public/images/boss/corporeal_beast/arcane_sigil.png rename to public/images/boss/corporeal-beast/arcane_sigil.png diff --git a/public/images/boss/corporeal_beast/elysian_sigil.png b/public/images/boss/corporeal-beast/elysian_sigil.png similarity index 100% rename from public/images/boss/corporeal_beast/elysian_sigil.png rename to public/images/boss/corporeal-beast/elysian_sigil.png diff --git a/public/images/boss/corporeal_beast/holy_elixir.png b/public/images/boss/corporeal-beast/holy_elixir.png similarity index 100% rename from public/images/boss/corporeal_beast/holy_elixir.png rename to public/images/boss/corporeal-beast/holy_elixir.png diff --git a/public/images/boss/corporeal_beast/pet_dark_core.png b/public/images/boss/corporeal-beast/pet_dark_core.png similarity index 100% rename from public/images/boss/corporeal_beast/pet_dark_core.png rename to public/images/boss/corporeal-beast/pet_dark_core.png diff --git a/public/images/boss/corporeal_beast/spectral_sigil.png b/public/images/boss/corporeal-beast/spectral_sigil.png similarity index 100% rename from public/images/boss/corporeal_beast/spectral_sigil.png rename to public/images/boss/corporeal-beast/spectral_sigil.png diff --git a/public/images/boss/corporeal_beast/spirit_shield.png b/public/images/boss/corporeal-beast/spirit_shield.png similarity index 100% rename from public/images/boss/corporeal_beast/spirit_shield.png rename to public/images/boss/corporeal-beast/spirit_shield.png diff --git a/public/images/boss/crazy_archaeologist.png b/public/images/boss/crazy-archaeologist.png similarity index 100% rename from public/images/boss/crazy_archaeologist.png rename to public/images/boss/crazy-archaeologist.png diff --git a/public/images/boss/crazy_archaeologist/fedora.png b/public/images/boss/crazy-archaeologist/fedora.png similarity index 100% rename from public/images/boss/crazy_archaeologist/fedora.png rename to public/images/boss/crazy-archaeologist/fedora.png diff --git a/public/images/boss/crazy_archaeologist/malediction_shard_2.png b/public/images/boss/crazy-archaeologist/malediction_shard_2.png similarity index 100% rename from public/images/boss/crazy_archaeologist/malediction_shard_2.png rename to public/images/boss/crazy-archaeologist/malediction_shard_2.png diff --git a/public/images/boss/crazy_archaeologist/odium_shard_2.png b/public/images/boss/crazy-archaeologist/odium_shard_2.png similarity index 100% rename from public/images/boss/crazy_archaeologist/odium_shard_2.png rename to public/images/boss/crazy-archaeologist/odium_shard_2.png diff --git a/public/images/boss/dagannoth_kings.png b/public/images/boss/dagannoth-kings.png similarity index 100% rename from public/images/boss/dagannoth_kings.png rename to public/images/boss/dagannoth-kings.png diff --git a/public/images/boss/dagannoth_kings/archers_ring.png b/public/images/boss/dagannoth-kings/archers_ring.png similarity index 100% rename from public/images/boss/dagannoth_kings/archers_ring.png rename to public/images/boss/dagannoth-kings/archers_ring.png diff --git a/public/images/boss/dagannoth_kings/berserker_ring.png b/public/images/boss/dagannoth-kings/berserker_ring.png similarity index 100% rename from public/images/boss/dagannoth_kings/berserker_ring.png rename to public/images/boss/dagannoth-kings/berserker_ring.png diff --git a/public/images/boss/dagannoth_kings/dragon_axe.png b/public/images/boss/dagannoth-kings/dragon_axe.png similarity index 100% rename from public/images/boss/dagannoth_kings/dragon_axe.png rename to public/images/boss/dagannoth-kings/dragon_axe.png diff --git a/public/images/boss/dagannoth_kings/mud_battlestaff.png b/public/images/boss/dagannoth-kings/mud_battlestaff.png similarity index 100% rename from public/images/boss/dagannoth_kings/mud_battlestaff.png rename to public/images/boss/dagannoth-kings/mud_battlestaff.png diff --git a/public/images/boss/dagannoth_kings/pet_dagannoth_prime.png b/public/images/boss/dagannoth-kings/pet_dagannoth_prime.png similarity index 100% rename from public/images/boss/dagannoth_kings/pet_dagannoth_prime.png rename to public/images/boss/dagannoth-kings/pet_dagannoth_prime.png diff --git a/public/images/boss/dagannoth_kings/pet_dagannoth_rex.png b/public/images/boss/dagannoth-kings/pet_dagannoth_rex.png similarity index 100% rename from public/images/boss/dagannoth_kings/pet_dagannoth_rex.png rename to public/images/boss/dagannoth-kings/pet_dagannoth_rex.png diff --git a/public/images/boss/dagannoth_kings/pet_dagannoth_supreme.png b/public/images/boss/dagannoth-kings/pet_dagannoth_supreme.png similarity index 100% rename from public/images/boss/dagannoth_kings/pet_dagannoth_supreme.png rename to public/images/boss/dagannoth-kings/pet_dagannoth_supreme.png diff --git a/public/images/boss/dagannoth_kings/seercull.png b/public/images/boss/dagannoth-kings/seercull.png similarity index 100% rename from public/images/boss/dagannoth_kings/seercull.png rename to public/images/boss/dagannoth-kings/seercull.png diff --git a/public/images/boss/dagannoth_kings/seers_ring.png b/public/images/boss/dagannoth-kings/seers_ring.png similarity index 100% rename from public/images/boss/dagannoth_kings/seers_ring.png rename to public/images/boss/dagannoth-kings/seers_ring.png diff --git a/public/images/boss/dagannoth_kings/warrior_ring.png b/public/images/boss/dagannoth-kings/warrior_ring.png similarity index 100% rename from public/images/boss/dagannoth_kings/warrior_ring.png rename to public/images/boss/dagannoth-kings/warrior_ring.png diff --git a/public/images/boss/dagannoth_prime.png b/public/images/boss/dagannoth-prime.png similarity index 100% rename from public/images/boss/dagannoth_prime.png rename to public/images/boss/dagannoth-prime.png diff --git a/public/images/boss/dagannoth_rex.png b/public/images/boss/dagannoth-rex.png similarity index 100% rename from public/images/boss/dagannoth_rex.png rename to public/images/boss/dagannoth-rex.png diff --git a/public/images/boss/dagannoth_supreme.png b/public/images/boss/dagannoth-supreme.png similarity index 100% rename from public/images/boss/dagannoth_supreme.png rename to public/images/boss/dagannoth-supreme.png diff --git a/public/images/boss/deranged_archaeologist.png b/public/images/boss/deranged-archaeologist.png similarity index 100% rename from public/images/boss/deranged_archaeologist.png rename to public/images/boss/deranged-archaeologist.png diff --git a/public/images/boss/general_graardor.png b/public/images/boss/general-graardor.png similarity index 100% rename from public/images/boss/general_graardor.png rename to public/images/boss/general-graardor.png diff --git a/public/images/boss/general_graardor/bandos_boots.png b/public/images/boss/general-graardor/bandos_boots.png similarity index 100% rename from public/images/boss/general_graardor/bandos_boots.png rename to public/images/boss/general-graardor/bandos_boots.png diff --git a/public/images/boss/general_graardor/bandos_chestplate.png b/public/images/boss/general-graardor/bandos_chestplate.png similarity index 100% rename from public/images/boss/general_graardor/bandos_chestplate.png rename to public/images/boss/general-graardor/bandos_chestplate.png diff --git a/public/images/boss/general_graardor/bandos_hilt.png b/public/images/boss/general-graardor/bandos_hilt.png similarity index 100% rename from public/images/boss/general_graardor/bandos_hilt.png rename to public/images/boss/general-graardor/bandos_hilt.png diff --git a/public/images/boss/general_graardor/bandos_tassets.png b/public/images/boss/general-graardor/bandos_tassets.png similarity index 100% rename from public/images/boss/general_graardor/bandos_tassets.png rename to public/images/boss/general-graardor/bandos_tassets.png diff --git a/public/images/boss/general_graardor/godsword_shard_1.png b/public/images/boss/general-graardor/godsword_shard_1.png similarity index 100% rename from public/images/boss/general_graardor/godsword_shard_1.png rename to public/images/boss/general-graardor/godsword_shard_1.png diff --git a/public/images/boss/general_graardor/godsword_shard_2.png b/public/images/boss/general-graardor/godsword_shard_2.png similarity index 100% rename from public/images/boss/general_graardor/godsword_shard_2.png rename to public/images/boss/general-graardor/godsword_shard_2.png diff --git a/public/images/boss/general_graardor/godsword_shard_3.png b/public/images/boss/general-graardor/godsword_shard_3.png similarity index 100% rename from public/images/boss/general_graardor/godsword_shard_3.png rename to public/images/boss/general-graardor/godsword_shard_3.png diff --git a/public/images/boss/general_graardor/pet_general_graardor.png b/public/images/boss/general-graardor/pet_general_graardor.png similarity index 100% rename from public/images/boss/general_graardor/pet_general_graardor.png rename to public/images/boss/general-graardor/pet_general_graardor.png diff --git a/public/images/boss/giant_mole.png b/public/images/boss/giant-mole.png similarity index 100% rename from public/images/boss/giant_mole.png rename to public/images/boss/giant-mole.png diff --git a/public/images/boss/giant_mole/baby_mole.png b/public/images/boss/giant-mole/baby_mole.png similarity index 100% rename from public/images/boss/giant_mole/baby_mole.png rename to public/images/boss/giant-mole/baby_mole.png diff --git a/public/images/boss/giant_mole/mole_claw.png b/public/images/boss/giant-mole/mole_claw.png similarity index 100% rename from public/images/boss/giant_mole/mole_claw.png rename to public/images/boss/giant-mole/mole_claw.png diff --git a/public/images/boss/giant_mole/mole_skin.png b/public/images/boss/giant-mole/mole_skin.png similarity index 100% rename from public/images/boss/giant_mole/mole_skin.png rename to public/images/boss/giant-mole/mole_skin.png diff --git a/public/images/boss/grotesque_guardians.png b/public/images/boss/grotesque-guardians.png similarity index 100% rename from public/images/boss/grotesque_guardians.png rename to public/images/boss/grotesque-guardians.png diff --git a/public/images/boss/grotesque_guardians/black_tourmaline_core.png b/public/images/boss/grotesque-guardians/black_tourmaline_core.png similarity index 100% rename from public/images/boss/grotesque_guardians/black_tourmaline_core.png rename to public/images/boss/grotesque-guardians/black_tourmaline_core.png diff --git a/public/images/boss/grotesque_guardians/granite_dust.png b/public/images/boss/grotesque-guardians/granite_dust.png similarity index 100% rename from public/images/boss/grotesque_guardians/granite_dust.png rename to public/images/boss/grotesque-guardians/granite_dust.png diff --git a/public/images/boss/grotesque_guardians/granite_gloves.png b/public/images/boss/grotesque-guardians/granite_gloves.png similarity index 100% rename from public/images/boss/grotesque_guardians/granite_gloves.png rename to public/images/boss/grotesque-guardians/granite_gloves.png diff --git a/public/images/boss/grotesque_guardians/granite_hammer.png b/public/images/boss/grotesque-guardians/granite_hammer.png similarity index 100% rename from public/images/boss/grotesque_guardians/granite_hammer.png rename to public/images/boss/grotesque-guardians/granite_hammer.png diff --git a/public/images/boss/grotesque_guardians/granite_ring.png b/public/images/boss/grotesque-guardians/granite_ring.png similarity index 100% rename from public/images/boss/grotesque_guardians/granite_ring.png rename to public/images/boss/grotesque-guardians/granite_ring.png diff --git a/public/images/boss/grotesque_guardians/jar_of_stone.png b/public/images/boss/grotesque-guardians/jar_of_stone.png similarity index 100% rename from public/images/boss/grotesque_guardians/jar_of_stone.png rename to public/images/boss/grotesque-guardians/jar_of_stone.png diff --git a/public/images/boss/grotesque_guardians/noon.png b/public/images/boss/grotesque-guardians/noon.png similarity index 100% rename from public/images/boss/grotesque_guardians/noon.png rename to public/images/boss/grotesque-guardians/noon.png diff --git a/public/images/boss/kalphite_queen.png b/public/images/boss/kalphite-queen.png similarity index 100% rename from public/images/boss/kalphite_queen.png rename to public/images/boss/kalphite-queen.png diff --git a/public/images/boss/kalphite_queen/dragon_2h_sword.png b/public/images/boss/kalphite-queen/dragon_2h_sword.png similarity index 100% rename from public/images/boss/kalphite_queen/dragon_2h_sword.png rename to public/images/boss/kalphite-queen/dragon_2h_sword.png diff --git a/public/images/boss/kalphite_queen/dragon_chainbody.png b/public/images/boss/kalphite-queen/dragon_chainbody.png similarity index 100% rename from public/images/boss/kalphite_queen/dragon_chainbody.png rename to public/images/boss/kalphite-queen/dragon_chainbody.png diff --git a/public/images/boss/kalphite_queen/jar_of_sand.png b/public/images/boss/kalphite-queen/jar_of_sand.png similarity index 100% rename from public/images/boss/kalphite_queen/jar_of_sand.png rename to public/images/boss/kalphite-queen/jar_of_sand.png diff --git a/public/images/boss/kalphite_queen/kalphite_princess.png b/public/images/boss/kalphite-queen/kalphite_princess.png similarity index 100% rename from public/images/boss/kalphite_queen/kalphite_princess.png rename to public/images/boss/kalphite-queen/kalphite_princess.png diff --git a/public/images/boss/kalphite_queen/kq_head.png b/public/images/boss/kalphite-queen/kq_head.png similarity index 100% rename from public/images/boss/kalphite_queen/kq_head.png rename to public/images/boss/kalphite-queen/kq_head.png diff --git a/public/images/boss/king_black_dragon.png b/public/images/boss/king-black-dragon.png similarity index 100% rename from public/images/boss/king_black_dragon.png rename to public/images/boss/king-black-dragon.png diff --git a/public/images/boss/king_black_dragon/draconic_visage.png b/public/images/boss/king-black-dragon/draconic_visage.png similarity index 100% rename from public/images/boss/king_black_dragon/draconic_visage.png rename to public/images/boss/king-black-dragon/draconic_visage.png diff --git a/public/images/boss/king_black_dragon/dragon_pickaxe.png b/public/images/boss/king-black-dragon/dragon_pickaxe.png similarity index 100% rename from public/images/boss/king_black_dragon/dragon_pickaxe.png rename to public/images/boss/king-black-dragon/dragon_pickaxe.png diff --git a/public/images/boss/king_black_dragon/kbd_heads.png b/public/images/boss/king-black-dragon/kbd_heads.png similarity index 100% rename from public/images/boss/king_black_dragon/kbd_heads.png rename to public/images/boss/king-black-dragon/kbd_heads.png diff --git a/public/images/boss/king_black_dragon/prince_black_dragon.png b/public/images/boss/king-black-dragon/prince_black_dragon.png similarity index 100% rename from public/images/boss/king_black_dragon/prince_black_dragon.png rename to public/images/boss/king-black-dragon/prince_black_dragon.png diff --git a/public/images/boss/kril_tsutsaroth.png b/public/images/boss/kril-tsutsaroth.png similarity index 100% rename from public/images/boss/kril_tsutsaroth.png rename to public/images/boss/kril-tsutsaroth.png diff --git a/public/images/boss/kril_tsutsaroth/godsword_shard_1.png b/public/images/boss/kril-tsutsaroth/godsword_shard_1.png similarity index 100% rename from public/images/boss/kril_tsutsaroth/godsword_shard_1.png rename to public/images/boss/kril-tsutsaroth/godsword_shard_1.png diff --git a/public/images/boss/kril_tsutsaroth/godsword_shard_2.png b/public/images/boss/kril-tsutsaroth/godsword_shard_2.png similarity index 100% rename from public/images/boss/kril_tsutsaroth/godsword_shard_2.png rename to public/images/boss/kril-tsutsaroth/godsword_shard_2.png diff --git a/public/images/boss/kril_tsutsaroth/godsword_shard_3.png b/public/images/boss/kril-tsutsaroth/godsword_shard_3.png similarity index 100% rename from public/images/boss/kril_tsutsaroth/godsword_shard_3.png rename to public/images/boss/kril-tsutsaroth/godsword_shard_3.png diff --git a/public/images/boss/kril_tsutsaroth/pet_kril_tsutsaroth.png b/public/images/boss/kril-tsutsaroth/pet_kril_tsutsaroth.png similarity index 100% rename from public/images/boss/kril_tsutsaroth/pet_kril_tsutsaroth.png rename to public/images/boss/kril-tsutsaroth/pet_kril_tsutsaroth.png diff --git a/public/images/boss/kril_tsutsaroth/staff_of_the_dead.png b/public/images/boss/kril-tsutsaroth/staff_of_the_dead.png similarity index 100% rename from public/images/boss/kril_tsutsaroth/staff_of_the_dead.png rename to public/images/boss/kril-tsutsaroth/staff_of_the_dead.png diff --git a/public/images/boss/kril_tsutsaroth/steam_battlestaff.png b/public/images/boss/kril-tsutsaroth/steam_battlestaff.png similarity index 100% rename from public/images/boss/kril_tsutsaroth/steam_battlestaff.png rename to public/images/boss/kril-tsutsaroth/steam_battlestaff.png diff --git a/public/images/boss/kril_tsutsaroth/zamorak_hilt.png b/public/images/boss/kril-tsutsaroth/zamorak_hilt.png similarity index 100% rename from public/images/boss/kril_tsutsaroth/zamorak_hilt.png rename to public/images/boss/kril-tsutsaroth/zamorak_hilt.png diff --git a/public/images/boss/kril_tsutsaroth/zamorakian_spear.png b/public/images/boss/kril-tsutsaroth/zamorakian_spear.png similarity index 100% rename from public/images/boss/kril_tsutsaroth/zamorakian_spear.png rename to public/images/boss/kril-tsutsaroth/zamorakian_spear.png diff --git a/public/images/boss/the_nightmare.png b/public/images/boss/nightmare.png similarity index 100% rename from public/images/boss/the_nightmare.png rename to public/images/boss/nightmare.png diff --git a/public/images/boss/the_nightmare/eldritch_orb.png b/public/images/boss/nightmare/eldritch_orb.png similarity index 100% rename from public/images/boss/the_nightmare/eldritch_orb.png rename to public/images/boss/nightmare/eldritch_orb.png diff --git a/public/images/boss/the_nightmare/harmonised_orb.png b/public/images/boss/nightmare/harmonised_orb.png similarity index 100% rename from public/images/boss/the_nightmare/harmonised_orb.png rename to public/images/boss/nightmare/harmonised_orb.png diff --git a/public/images/boss/the_nightmare/inquisitors_great_helm.png b/public/images/boss/nightmare/inquisitors_great_helm.png similarity index 100% rename from public/images/boss/the_nightmare/inquisitors_great_helm.png rename to public/images/boss/nightmare/inquisitors_great_helm.png diff --git a/public/images/boss/the_nightmare/inquisitors_hauberk.png b/public/images/boss/nightmare/inquisitors_hauberk.png similarity index 100% rename from public/images/boss/the_nightmare/inquisitors_hauberk.png rename to public/images/boss/nightmare/inquisitors_hauberk.png diff --git a/public/images/boss/the_nightmare/inquisitors_mace.png b/public/images/boss/nightmare/inquisitors_mace.png similarity index 100% rename from public/images/boss/the_nightmare/inquisitors_mace.png rename to public/images/boss/nightmare/inquisitors_mace.png diff --git a/public/images/boss/the_nightmare/inquisitors_plateskirt.png b/public/images/boss/nightmare/inquisitors_plateskirt.png similarity index 100% rename from public/images/boss/the_nightmare/inquisitors_plateskirt.png rename to public/images/boss/nightmare/inquisitors_plateskirt.png diff --git a/public/images/boss/the_nightmare/jar_of_dreams.png b/public/images/boss/nightmare/jar_of_dreams.png similarity index 100% rename from public/images/boss/the_nightmare/jar_of_dreams.png rename to public/images/boss/nightmare/jar_of_dreams.png diff --git a/public/images/boss/the_nightmare/little_nightmare.png b/public/images/boss/nightmare/little_nightmare.png similarity index 100% rename from public/images/boss/the_nightmare/little_nightmare.png rename to public/images/boss/nightmare/little_nightmare.png diff --git a/public/images/boss/the_nightmare/nightmare_staff.png b/public/images/boss/nightmare/nightmare_staff.png similarity index 100% rename from public/images/boss/the_nightmare/nightmare_staff.png rename to public/images/boss/nightmare/nightmare_staff.png diff --git a/public/images/boss/the_nightmare/volatile_orb.png b/public/images/boss/nightmare/volatile_orb.png similarity index 100% rename from public/images/boss/the_nightmare/volatile_orb.png rename to public/images/boss/nightmare/volatile_orb.png diff --git a/public/images/boss/the_corrupted_gauntlet.png b/public/images/boss/the-corrupted-gauntlet.png similarity index 100% rename from public/images/boss/the_corrupted_gauntlet.png rename to public/images/boss/the-corrupted-gauntlet.png diff --git a/public/images/boss/the_gauntlet.png b/public/images/boss/the-gauntlet.png similarity index 100% rename from public/images/boss/the_gauntlet.png rename to public/images/boss/the-gauntlet.png diff --git a/public/images/boss/the_gauntlet/blade_of_saeldor_(inactive).png b/public/images/boss/the-gauntlet/blade_of_saeldor_(inactive).png similarity index 100% rename from public/images/boss/the_gauntlet/blade_of_saeldor_(inactive).png rename to public/images/boss/the-gauntlet/blade_of_saeldor_(inactive).png diff --git a/public/images/boss/the_gauntlet/crystal_armour_seed.png b/public/images/boss/the-gauntlet/crystal_armour_seed.png similarity index 100% rename from public/images/boss/the_gauntlet/crystal_armour_seed.png rename to public/images/boss/the-gauntlet/crystal_armour_seed.png diff --git a/public/images/boss/the_gauntlet/crystal_weapon_seed.png b/public/images/boss/the-gauntlet/crystal_weapon_seed.png similarity index 100% rename from public/images/boss/the_gauntlet/crystal_weapon_seed.png rename to public/images/boss/the-gauntlet/crystal_weapon_seed.png diff --git a/public/images/boss/the_gauntlet/gauntlet_cape.png b/public/images/boss/the-gauntlet/gauntlet_cape.png similarity index 100% rename from public/images/boss/the_gauntlet/gauntlet_cape.png rename to public/images/boss/the-gauntlet/gauntlet_cape.png diff --git a/public/images/boss/the_gauntlet/youngllef.png b/public/images/boss/the-gauntlet/youngllef.png similarity index 100% rename from public/images/boss/the_gauntlet/youngllef.png rename to public/images/boss/the-gauntlet/youngllef.png diff --git a/public/images/boss/theatre_of_blood.png b/public/images/boss/theatre-of-blood.png similarity index 100% rename from public/images/boss/theatre_of_blood.png rename to public/images/boss/theatre-of-blood.png diff --git a/public/images/boss/theatre_of_blood/avernic_defender_hilt.png b/public/images/boss/theatre-of-blood/avernic_defender_hilt.png similarity index 100% rename from public/images/boss/theatre_of_blood/avernic_defender_hilt.png rename to public/images/boss/theatre-of-blood/avernic_defender_hilt.png diff --git a/public/images/boss/theatre_of_blood/ghrazi_rapier.png b/public/images/boss/theatre-of-blood/ghrazi_rapier.png similarity index 100% rename from public/images/boss/theatre_of_blood/ghrazi_rapier.png rename to public/images/boss/theatre-of-blood/ghrazi_rapier.png diff --git a/public/images/boss/theatre_of_blood/justiciar_chestguard.png b/public/images/boss/theatre-of-blood/justiciar_chestguard.png similarity index 100% rename from public/images/boss/theatre_of_blood/justiciar_chestguard.png rename to public/images/boss/theatre-of-blood/justiciar_chestguard.png diff --git a/public/images/boss/theatre_of_blood/justiciar_faceguard.png b/public/images/boss/theatre-of-blood/justiciar_faceguard.png similarity index 100% rename from public/images/boss/theatre_of_blood/justiciar_faceguard.png rename to public/images/boss/theatre-of-blood/justiciar_faceguard.png diff --git a/public/images/boss/theatre_of_blood/justiciar_legguards.png b/public/images/boss/theatre-of-blood/justiciar_legguards.png similarity index 100% rename from public/images/boss/theatre_of_blood/justiciar_legguards.png rename to public/images/boss/theatre-of-blood/justiciar_legguards.png diff --git a/public/images/boss/theatre_of_blood/lil_zik.png b/public/images/boss/theatre-of-blood/lil_zik.png similarity index 100% rename from public/images/boss/theatre_of_blood/lil_zik.png rename to public/images/boss/theatre-of-blood/lil_zik.png diff --git a/public/images/boss/theatre_of_blood/sanguinesti_staff_(uncharged).png b/public/images/boss/theatre-of-blood/sanguinesti_staff_(uncharged).png similarity index 100% rename from public/images/boss/theatre_of_blood/sanguinesti_staff_(uncharged).png rename to public/images/boss/theatre-of-blood/sanguinesti_staff_(uncharged).png diff --git a/public/images/boss/theatre_of_blood/scythe_of_vitur_(uncharged).png b/public/images/boss/theatre-of-blood/scythe_of_vitur_(uncharged).png similarity index 100% rename from public/images/boss/theatre_of_blood/scythe_of_vitur_(uncharged).png rename to public/images/boss/theatre-of-blood/scythe_of_vitur_(uncharged).png diff --git a/public/images/boss/theatre_of_blood/sinhaza_shroud_tier_1.png b/public/images/boss/theatre-of-blood/sinhaza_shroud_tier_1.png similarity index 100% rename from public/images/boss/theatre_of_blood/sinhaza_shroud_tier_1.png rename to public/images/boss/theatre-of-blood/sinhaza_shroud_tier_1.png diff --git a/public/images/boss/theatre_of_blood/sinhaza_shroud_tier_2.png b/public/images/boss/theatre-of-blood/sinhaza_shroud_tier_2.png similarity index 100% rename from public/images/boss/theatre_of_blood/sinhaza_shroud_tier_2.png rename to public/images/boss/theatre-of-blood/sinhaza_shroud_tier_2.png diff --git a/public/images/boss/theatre_of_blood/sinhaza_shroud_tier_3.png b/public/images/boss/theatre-of-blood/sinhaza_shroud_tier_3.png similarity index 100% rename from public/images/boss/theatre_of_blood/sinhaza_shroud_tier_3.png rename to public/images/boss/theatre-of-blood/sinhaza_shroud_tier_3.png diff --git a/public/images/boss/theatre_of_blood/sinhaza_shroud_tier_4.png b/public/images/boss/theatre-of-blood/sinhaza_shroud_tier_4.png similarity index 100% rename from public/images/boss/theatre_of_blood/sinhaza_shroud_tier_4.png rename to public/images/boss/theatre-of-blood/sinhaza_shroud_tier_4.png diff --git a/public/images/boss/theatre_of_blood/sinhaza_shroud_tier_5.png b/public/images/boss/theatre-of-blood/sinhaza_shroud_tier_5.png similarity index 100% rename from public/images/boss/theatre_of_blood/sinhaza_shroud_tier_5.png rename to public/images/boss/theatre-of-blood/sinhaza_shroud_tier_5.png diff --git a/public/images/boss/theatre_of_blood/vial_of_blood.png b/public/images/boss/theatre-of-blood/vial_of_blood.png similarity index 100% rename from public/images/boss/theatre_of_blood/vial_of_blood.png rename to public/images/boss/theatre-of-blood/vial_of_blood.png diff --git a/public/images/boss/thermonuclear_smoke_devil.png b/public/images/boss/thermonuclear-smoke-devil.png similarity index 100% rename from public/images/boss/thermonuclear_smoke_devil.png rename to public/images/boss/thermonuclear-smoke-devil.png diff --git a/public/images/boss/thermonuclear_smoke_devil/dragon_chainbody.png b/public/images/boss/thermonuclear-smoke-devil/dragon_chainbody.png similarity index 100% rename from public/images/boss/thermonuclear_smoke_devil/dragon_chainbody.png rename to public/images/boss/thermonuclear-smoke-devil/dragon_chainbody.png diff --git a/public/images/boss/thermonuclear_smoke_devil/occult_necklace.png b/public/images/boss/thermonuclear-smoke-devil/occult_necklace.png similarity index 100% rename from public/images/boss/thermonuclear_smoke_devil/occult_necklace.png rename to public/images/boss/thermonuclear-smoke-devil/occult_necklace.png diff --git a/public/images/boss/thermonuclear_smoke_devil/pet_smoke_devil.png b/public/images/boss/thermonuclear-smoke-devil/pet_smoke_devil.png similarity index 100% rename from public/images/boss/thermonuclear_smoke_devil/pet_smoke_devil.png rename to public/images/boss/thermonuclear-smoke-devil/pet_smoke_devil.png diff --git a/public/images/boss/thermonuclear_smoke_devil/smoke_battlestaff.png b/public/images/boss/thermonuclear-smoke-devil/smoke_battlestaff.png similarity index 100% rename from public/images/boss/thermonuclear_smoke_devil/smoke_battlestaff.png rename to public/images/boss/thermonuclear-smoke-devil/smoke_battlestaff.png diff --git a/public/images/boss/the_inferno.png b/public/images/boss/tzkal-zuk.png similarity index 100% rename from public/images/boss/the_inferno.png rename to public/images/boss/tzkal-zuk.png diff --git a/public/images/boss/the_inferno/infernal_cape.png b/public/images/boss/tzkal-zuk/infernal_cape.png similarity index 100% rename from public/images/boss/the_inferno/infernal_cape.png rename to public/images/boss/tzkal-zuk/infernal_cape.png diff --git a/public/images/boss/the_inferno/jal-nib-rek.png b/public/images/boss/tzkal-zuk/jal_nib_rek.png similarity index 100% rename from public/images/boss/the_inferno/jal-nib-rek.png rename to public/images/boss/tzkal-zuk/jal_nib_rek.png diff --git a/public/images/boss/the_fight_caves.png b/public/images/boss/tztok-jad.png similarity index 100% rename from public/images/boss/the_fight_caves.png rename to public/images/boss/tztok-jad.png diff --git a/public/images/boss/the_fight_caves/fire_cape.png b/public/images/boss/tztok-jad/fire_cape.png similarity index 100% rename from public/images/boss/the_fight_caves/fire_cape.png rename to public/images/boss/tztok-jad/fire_cape.png diff --git a/public/images/boss/the_fight_caves/tzrek-jad.png b/public/images/boss/tztok-jad/tzrek_jad.png similarity index 100% rename from public/images/boss/the_fight_caves/tzrek-jad.png rename to public/images/boss/tztok-jad/tzrek_jad.png diff --git a/public/images/clue/all_treasure_trails.png b/public/images/clue/all-treasure-trails.png similarity index 100% rename from public/images/clue/all_treasure_trails.png rename to public/images/clue/all-treasure-trails.png diff --git a/public/images/clue/beginner_treasure_trails.png b/public/images/clue/beginner-treasure-trails.png similarity index 100% rename from public/images/clue/beginner_treasure_trails.png rename to public/images/clue/beginner-treasure-trails.png diff --git a/public/images/clue/beginner_treasure_trails/amulet_of_defence_(t).png b/public/images/clue/beginner-treasure-trails/amulet_of_defence_(t).png similarity index 100% rename from public/images/clue/beginner_treasure_trails/amulet_of_defence_(t).png rename to public/images/clue/beginner-treasure-trails/amulet_of_defence_(t).png diff --git a/public/images/clue/beginner_treasure_trails/bear_feet.png b/public/images/clue/beginner-treasure-trails/bear_feet.png similarity index 100% rename from public/images/clue/beginner_treasure_trails/bear_feet.png rename to public/images/clue/beginner-treasure-trails/bear_feet.png diff --git a/public/images/clue/beginner_treasure_trails/black_pickaxe.png b/public/images/clue/beginner-treasure-trails/black_pickaxe.png similarity index 100% rename from public/images/clue/beginner_treasure_trails/black_pickaxe.png rename to public/images/clue/beginner-treasure-trails/black_pickaxe.png diff --git a/public/images/clue/beginner_treasure_trails/demon_feet.png b/public/images/clue/beginner-treasure-trails/demon_feet.png similarity index 100% rename from public/images/clue/beginner_treasure_trails/demon_feet.png rename to public/images/clue/beginner-treasure-trails/demon_feet.png diff --git a/public/images/clue/beginner_treasure_trails/frog_slippers.png b/public/images/clue/beginner-treasure-trails/frog_slippers.png similarity index 100% rename from public/images/clue/beginner_treasure_trails/frog_slippers.png rename to public/images/clue/beginner-treasure-trails/frog_slippers.png diff --git a/public/images/clue/beginner_treasure_trails/jester_cape.png b/public/images/clue/beginner-treasure-trails/jester_cape.png similarity index 100% rename from public/images/clue/beginner_treasure_trails/jester_cape.png rename to public/images/clue/beginner-treasure-trails/jester_cape.png diff --git a/public/images/clue/beginner_treasure_trails/mole_slippers.png b/public/images/clue/beginner-treasure-trails/mole_slippers.png similarity index 100% rename from public/images/clue/beginner_treasure_trails/mole_slippers.png rename to public/images/clue/beginner-treasure-trails/mole_slippers.png diff --git a/public/images/clue/beginner_treasure_trails/rune_scimitar_ornament_kit_(guthix).png b/public/images/clue/beginner-treasure-trails/rune_scimitar_ornament_kit_(guthix).png similarity index 100% rename from public/images/clue/beginner_treasure_trails/rune_scimitar_ornament_kit_(guthix).png rename to public/images/clue/beginner-treasure-trails/rune_scimitar_ornament_kit_(guthix).png diff --git a/public/images/clue/beginner_treasure_trails/rune_scimitar_ornament_kit_(saradomin).png b/public/images/clue/beginner-treasure-trails/rune_scimitar_ornament_kit_(saradomin).png similarity index 100% rename from public/images/clue/beginner_treasure_trails/rune_scimitar_ornament_kit_(saradomin).png rename to public/images/clue/beginner-treasure-trails/rune_scimitar_ornament_kit_(saradomin).png diff --git a/public/images/clue/beginner_treasure_trails/rune_scimitar_ornament_kit_(zamorak).png b/public/images/clue/beginner-treasure-trails/rune_scimitar_ornament_kit_(zamorak).png similarity index 100% rename from public/images/clue/beginner_treasure_trails/rune_scimitar_ornament_kit_(zamorak).png rename to public/images/clue/beginner-treasure-trails/rune_scimitar_ornament_kit_(zamorak).png diff --git a/public/images/clue/beginner_treasure_trails/sandwich_lady_bottom.png b/public/images/clue/beginner-treasure-trails/sandwich_lady_bottom.png similarity index 100% rename from public/images/clue/beginner_treasure_trails/sandwich_lady_bottom.png rename to public/images/clue/beginner-treasure-trails/sandwich_lady_bottom.png diff --git a/public/images/clue/beginner_treasure_trails/sandwich_lady_hat.png b/public/images/clue/beginner-treasure-trails/sandwich_lady_hat.png similarity index 100% rename from public/images/clue/beginner_treasure_trails/sandwich_lady_hat.png rename to public/images/clue/beginner-treasure-trails/sandwich_lady_hat.png diff --git a/public/images/clue/beginner_treasure_trails/sandwich_lady_top.png b/public/images/clue/beginner-treasure-trails/sandwich_lady_top.png similarity index 100% rename from public/images/clue/beginner_treasure_trails/sandwich_lady_top.png rename to public/images/clue/beginner-treasure-trails/sandwich_lady_top.png diff --git a/public/images/clue/beginner_treasure_trails/shoulder_parrot.png b/public/images/clue/beginner-treasure-trails/shoulder_parrot.png similarity index 100% rename from public/images/clue/beginner_treasure_trails/shoulder_parrot.png rename to public/images/clue/beginner-treasure-trails/shoulder_parrot.png diff --git a/public/images/clue/easy_treasure_trails.png b/public/images/clue/easy-treasure-trails.png similarity index 100% rename from public/images/clue/easy_treasure_trails.png rename to public/images/clue/easy-treasure-trails.png diff --git a/public/images/clue/easy_treasure_trails/a_powdered_wig.png b/public/images/clue/easy-treasure-trails/a_powdered_wig.png similarity index 100% rename from public/images/clue/easy_treasure_trails/a_powdered_wig.png rename to public/images/clue/easy-treasure-trails/a_powdered_wig.png diff --git a/public/images/clue/easy_treasure_trails/amulet_of_magic_(t).png b/public/images/clue/easy-treasure-trails/amulet_of_magic_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/amulet_of_magic_(t).png rename to public/images/clue/easy-treasure-trails/amulet_of_magic_(t).png diff --git a/public/images/clue/easy_treasure_trails/amulet_of_power_(t).png b/public/images/clue/easy-treasure-trails/amulet_of_power_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/amulet_of_power_(t).png rename to public/images/clue/easy-treasure-trails/amulet_of_power_(t).png diff --git a/public/images/clue/easy_treasure_trails/ancient_robe_legs.png b/public/images/clue/easy-treasure-trails/ancient_robe_legs.png similarity index 100% rename from public/images/clue/easy_treasure_trails/ancient_robe_legs.png rename to public/images/clue/easy-treasure-trails/ancient_robe_legs.png diff --git a/public/images/clue/easy_treasure_trails/ancient_robe_top.png b/public/images/clue/easy-treasure-trails/ancient_robe_top.png similarity index 100% rename from public/images/clue/easy_treasure_trails/ancient_robe_top.png rename to public/images/clue/easy-treasure-trails/ancient_robe_top.png diff --git a/public/images/clue/easy_treasure_trails/armadyl_robe_legs.png b/public/images/clue/easy-treasure-trails/armadyl_robe_legs.png similarity index 100% rename from public/images/clue/easy_treasure_trails/armadyl_robe_legs.png rename to public/images/clue/easy-treasure-trails/armadyl_robe_legs.png diff --git a/public/images/clue/easy_treasure_trails/armadyl_robe_top.png b/public/images/clue/easy-treasure-trails/armadyl_robe_top.png similarity index 100% rename from public/images/clue/easy_treasure_trails/armadyl_robe_top.png rename to public/images/clue/easy-treasure-trails/armadyl_robe_top.png diff --git a/public/images/clue/easy_treasure_trails/bandos_robe_legs.png b/public/images/clue/easy-treasure-trails/bandos_robe_legs.png similarity index 100% rename from public/images/clue/easy_treasure_trails/bandos_robe_legs.png rename to public/images/clue/easy-treasure-trails/bandos_robe_legs.png diff --git a/public/images/clue/easy_treasure_trails/bandos_robe_top.png b/public/images/clue/easy-treasure-trails/bandos_robe_top.png similarity index 100% rename from public/images/clue/easy_treasure_trails/bandos_robe_top.png rename to public/images/clue/easy-treasure-trails/bandos_robe_top.png diff --git a/public/images/clue/easy_treasure_trails/beanie.png b/public/images/clue/easy-treasure-trails/beanie.png similarity index 100% rename from public/images/clue/easy_treasure_trails/beanie.png rename to public/images/clue/easy-treasure-trails/beanie.png diff --git a/public/images/clue/easy_treasure_trails/black_beret.png b/public/images/clue/easy-treasure-trails/black_beret.png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_beret.png rename to public/images/clue/easy-treasure-trails/black_beret.png diff --git a/public/images/clue/easy_treasure_trails/black_cane.png b/public/images/clue/easy-treasure-trails/black_cane.png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_cane.png rename to public/images/clue/easy-treasure-trails/black_cane.png diff --git a/public/images/clue/easy_treasure_trails/black_full_helm_(g).png b/public/images/clue/easy-treasure-trails/black_full_helm_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_full_helm_(g).png rename to public/images/clue/easy-treasure-trails/black_full_helm_(g).png diff --git a/public/images/clue/easy_treasure_trails/black_full_helm_(t).png b/public/images/clue/easy-treasure-trails/black_full_helm_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_full_helm_(t).png rename to public/images/clue/easy-treasure-trails/black_full_helm_(t).png diff --git a/public/images/clue/easy_treasure_trails/black_helm_(h1).png b/public/images/clue/easy-treasure-trails/black_helm_(h1).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_helm_(h1).png rename to public/images/clue/easy-treasure-trails/black_helm_(h1).png diff --git a/public/images/clue/easy_treasure_trails/black_helm_(h2).png b/public/images/clue/easy-treasure-trails/black_helm_(h2).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_helm_(h2).png rename to public/images/clue/easy-treasure-trails/black_helm_(h2).png diff --git a/public/images/clue/easy_treasure_trails/black_helm_(h3).png b/public/images/clue/easy-treasure-trails/black_helm_(h3).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_helm_(h3).png rename to public/images/clue/easy-treasure-trails/black_helm_(h3).png diff --git a/public/images/clue/easy_treasure_trails/black_helm_(h4).png b/public/images/clue/easy-treasure-trails/black_helm_(h4).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_helm_(h4).png rename to public/images/clue/easy-treasure-trails/black_helm_(h4).png diff --git a/public/images/clue/easy_treasure_trails/black_helm_(h5).png b/public/images/clue/easy-treasure-trails/black_helm_(h5).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_helm_(h5).png rename to public/images/clue/easy-treasure-trails/black_helm_(h5).png diff --git a/public/images/clue/easy_treasure_trails/black_kiteshield_(g).png b/public/images/clue/easy-treasure-trails/black_kiteshield_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_kiteshield_(g).png rename to public/images/clue/easy-treasure-trails/black_kiteshield_(g).png diff --git a/public/images/clue/easy_treasure_trails/black_kiteshield_(t).png b/public/images/clue/easy-treasure-trails/black_kiteshield_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_kiteshield_(t).png rename to public/images/clue/easy-treasure-trails/black_kiteshield_(t).png diff --git a/public/images/clue/easy_treasure_trails/black_pickaxe.png b/public/images/clue/easy-treasure-trails/black_pickaxe.png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_pickaxe.png rename to public/images/clue/easy-treasure-trails/black_pickaxe.png diff --git a/public/images/clue/easy_treasure_trails/black_platebody_(g).png b/public/images/clue/easy-treasure-trails/black_platebody_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_platebody_(g).png rename to public/images/clue/easy-treasure-trails/black_platebody_(g).png diff --git a/public/images/clue/easy_treasure_trails/black_platebody_(h1).png b/public/images/clue/easy-treasure-trails/black_platebody_(h1).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_platebody_(h1).png rename to public/images/clue/easy-treasure-trails/black_platebody_(h1).png diff --git a/public/images/clue/easy_treasure_trails/black_platebody_(h2).png b/public/images/clue/easy-treasure-trails/black_platebody_(h2).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_platebody_(h2).png rename to public/images/clue/easy-treasure-trails/black_platebody_(h2).png diff --git a/public/images/clue/easy_treasure_trails/black_platebody_(h3).png b/public/images/clue/easy-treasure-trails/black_platebody_(h3).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_platebody_(h3).png rename to public/images/clue/easy-treasure-trails/black_platebody_(h3).png diff --git a/public/images/clue/easy_treasure_trails/black_platebody_(h4).png b/public/images/clue/easy-treasure-trails/black_platebody_(h4).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_platebody_(h4).png rename to public/images/clue/easy-treasure-trails/black_platebody_(h4).png diff --git a/public/images/clue/easy_treasure_trails/black_platebody_(h5).png b/public/images/clue/easy-treasure-trails/black_platebody_(h5).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_platebody_(h5).png rename to public/images/clue/easy-treasure-trails/black_platebody_(h5).png diff --git a/public/images/clue/easy_treasure_trails/black_platebody_(t).png b/public/images/clue/easy-treasure-trails/black_platebody_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_platebody_(t).png rename to public/images/clue/easy-treasure-trails/black_platebody_(t).png diff --git a/public/images/clue/easy_treasure_trails/black_platelegs_(g).png b/public/images/clue/easy-treasure-trails/black_platelegs_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_platelegs_(g).png rename to public/images/clue/easy-treasure-trails/black_platelegs_(g).png diff --git a/public/images/clue/easy_treasure_trails/black_platelegs_(t).png b/public/images/clue/easy-treasure-trails/black_platelegs_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_platelegs_(t).png rename to public/images/clue/easy-treasure-trails/black_platelegs_(t).png diff --git a/public/images/clue/easy_treasure_trails/black_plateskirt_(g).png b/public/images/clue/easy-treasure-trails/black_plateskirt_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_plateskirt_(g).png rename to public/images/clue/easy-treasure-trails/black_plateskirt_(g).png diff --git a/public/images/clue/easy_treasure_trails/black_plateskirt_(t).png b/public/images/clue/easy-treasure-trails/black_plateskirt_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_plateskirt_(t).png rename to public/images/clue/easy-treasure-trails/black_plateskirt_(t).png diff --git a/public/images/clue/easy_treasure_trails/black_shield_(h1).png b/public/images/clue/easy-treasure-trails/black_shield_(h1).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_shield_(h1).png rename to public/images/clue/easy-treasure-trails/black_shield_(h1).png diff --git a/public/images/clue/easy_treasure_trails/black_shield_(h2).png b/public/images/clue/easy-treasure-trails/black_shield_(h2).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_shield_(h2).png rename to public/images/clue/easy-treasure-trails/black_shield_(h2).png diff --git a/public/images/clue/easy_treasure_trails/black_shield_(h3).png b/public/images/clue/easy-treasure-trails/black_shield_(h3).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_shield_(h3).png rename to public/images/clue/easy-treasure-trails/black_shield_(h3).png diff --git a/public/images/clue/easy_treasure_trails/black_shield_(h4).png b/public/images/clue/easy-treasure-trails/black_shield_(h4).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_shield_(h4).png rename to public/images/clue/easy-treasure-trails/black_shield_(h4).png diff --git a/public/images/clue/easy_treasure_trails/black_shield_(h5).png b/public/images/clue/easy-treasure-trails/black_shield_(h5).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_shield_(h5).png rename to public/images/clue/easy-treasure-trails/black_shield_(h5).png diff --git a/public/images/clue/easy_treasure_trails/black_skirt_(g).png b/public/images/clue/easy-treasure-trails/black_skirt_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_skirt_(g).png rename to public/images/clue/easy-treasure-trails/black_skirt_(g).png diff --git a/public/images/clue/easy_treasure_trails/black_skirt_(t).png b/public/images/clue/easy-treasure-trails/black_skirt_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_skirt_(t).png rename to public/images/clue/easy-treasure-trails/black_skirt_(t).png diff --git a/public/images/clue/easy_treasure_trails/black_wizard_hat_(g).png b/public/images/clue/easy-treasure-trails/black_wizard_hat_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_wizard_hat_(g).png rename to public/images/clue/easy-treasure-trails/black_wizard_hat_(g).png diff --git a/public/images/clue/easy_treasure_trails/black_wizard_hat_(t).png b/public/images/clue/easy-treasure-trails/black_wizard_hat_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_wizard_hat_(t).png rename to public/images/clue/easy-treasure-trails/black_wizard_hat_(t).png diff --git a/public/images/clue/easy_treasure_trails/black_wizard_robe_(g).png b/public/images/clue/easy-treasure-trails/black_wizard_robe_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_wizard_robe_(g).png rename to public/images/clue/easy-treasure-trails/black_wizard_robe_(g).png diff --git a/public/images/clue/easy_treasure_trails/black_wizard_robe_(t).png b/public/images/clue/easy-treasure-trails/black_wizard_robe_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/black_wizard_robe_(t).png rename to public/images/clue/easy-treasure-trails/black_wizard_robe_(t).png diff --git a/public/images/clue/easy_treasure_trails/blue_beret.png b/public/images/clue/easy-treasure-trails/blue_beret.png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_beret.png rename to public/images/clue/easy-treasure-trails/blue_beret.png diff --git a/public/images/clue/easy_treasure_trails/blue_elegant_blouse.png b/public/images/clue/easy-treasure-trails/blue_elegant_blouse.png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_elegant_blouse.png rename to public/images/clue/easy-treasure-trails/blue_elegant_blouse.png diff --git a/public/images/clue/easy_treasure_trails/blue_elegant_legs.png b/public/images/clue/easy-treasure-trails/blue_elegant_legs.png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_elegant_legs.png rename to public/images/clue/easy-treasure-trails/blue_elegant_legs.png diff --git a/public/images/clue/easy_treasure_trails/blue_elegant_shirt.png b/public/images/clue/easy-treasure-trails/blue_elegant_shirt.png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_elegant_shirt.png rename to public/images/clue/easy-treasure-trails/blue_elegant_shirt.png diff --git a/public/images/clue/easy_treasure_trails/blue_elegant_skirt.png b/public/images/clue/easy-treasure-trails/blue_elegant_skirt.png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_elegant_skirt.png rename to public/images/clue/easy-treasure-trails/blue_elegant_skirt.png diff --git a/public/images/clue/easy_treasure_trails/blue_skirt_(g).png b/public/images/clue/easy-treasure-trails/blue_skirt_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_skirt_(g).png rename to public/images/clue/easy-treasure-trails/blue_skirt_(g).png diff --git a/public/images/clue/easy_treasure_trails/blue_skirt_(t).png b/public/images/clue/easy-treasure-trails/blue_skirt_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_skirt_(t).png rename to public/images/clue/easy-treasure-trails/blue_skirt_(t).png diff --git a/public/images/clue/easy_treasure_trails/blue_wizard_hat_(g).png b/public/images/clue/easy-treasure-trails/blue_wizard_hat_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_wizard_hat_(g).png rename to public/images/clue/easy-treasure-trails/blue_wizard_hat_(g).png diff --git a/public/images/clue/easy_treasure_trails/blue_wizard_hat_(t).png b/public/images/clue/easy-treasure-trails/blue_wizard_hat_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_wizard_hat_(t).png rename to public/images/clue/easy-treasure-trails/blue_wizard_hat_(t).png diff --git a/public/images/clue/easy_treasure_trails/blue_wizard_robe_(g).png b/public/images/clue/easy-treasure-trails/blue_wizard_robe_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_wizard_robe_(g).png rename to public/images/clue/easy-treasure-trails/blue_wizard_robe_(g).png diff --git a/public/images/clue/easy_treasure_trails/blue_wizard_robe_(t).png b/public/images/clue/easy-treasure-trails/blue_wizard_robe_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/blue_wizard_robe_(t).png rename to public/images/clue/easy-treasure-trails/blue_wizard_robe_(t).png diff --git a/public/images/clue/easy_treasure_trails/bronze_full_helm_(g).png b/public/images/clue/easy-treasure-trails/bronze_full_helm_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/bronze_full_helm_(g).png rename to public/images/clue/easy-treasure-trails/bronze_full_helm_(g).png diff --git a/public/images/clue/easy_treasure_trails/bronze_full_helm_(t).png b/public/images/clue/easy-treasure-trails/bronze_full_helm_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/bronze_full_helm_(t).png rename to public/images/clue/easy-treasure-trails/bronze_full_helm_(t).png diff --git a/public/images/clue/easy_treasure_trails/bronze_kiteshield_(g).png b/public/images/clue/easy-treasure-trails/bronze_kiteshield_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/bronze_kiteshield_(g).png rename to public/images/clue/easy-treasure-trails/bronze_kiteshield_(g).png diff --git a/public/images/clue/easy_treasure_trails/bronze_kiteshield_(t).png b/public/images/clue/easy-treasure-trails/bronze_kiteshield_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/bronze_kiteshield_(t).png rename to public/images/clue/easy-treasure-trails/bronze_kiteshield_(t).png diff --git a/public/images/clue/easy_treasure_trails/bronze_platebody_(g).png b/public/images/clue/easy-treasure-trails/bronze_platebody_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/bronze_platebody_(g).png rename to public/images/clue/easy-treasure-trails/bronze_platebody_(g).png diff --git a/public/images/clue/easy_treasure_trails/bronze_platebody_(t).png b/public/images/clue/easy-treasure-trails/bronze_platebody_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/bronze_platebody_(t).png rename to public/images/clue/easy-treasure-trails/bronze_platebody_(t).png diff --git a/public/images/clue/easy_treasure_trails/bronze_platelegs_(g).png b/public/images/clue/easy-treasure-trails/bronze_platelegs_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/bronze_platelegs_(g).png rename to public/images/clue/easy-treasure-trails/bronze_platelegs_(g).png diff --git a/public/images/clue/easy_treasure_trails/bronze_platelegs_(t).png b/public/images/clue/easy-treasure-trails/bronze_platelegs_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/bronze_platelegs_(t).png rename to public/images/clue/easy-treasure-trails/bronze_platelegs_(t).png diff --git a/public/images/clue/easy_treasure_trails/bronze_plateskirt_(g).png b/public/images/clue/easy-treasure-trails/bronze_plateskirt_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/bronze_plateskirt_(g).png rename to public/images/clue/easy-treasure-trails/bronze_plateskirt_(g).png diff --git a/public/images/clue/easy_treasure_trails/bronze_plateskirt_(t).png b/public/images/clue/easy-treasure-trails/bronze_plateskirt_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/bronze_plateskirt_(t).png rename to public/images/clue/easy-treasure-trails/bronze_plateskirt_(t).png diff --git a/public/images/clue/easy_treasure_trails/cape_of_skulls.png b/public/images/clue/easy-treasure-trails/cape_of_skulls.png similarity index 100% rename from public/images/clue/easy_treasure_trails/cape_of_skulls.png rename to public/images/clue/easy-treasure-trails/cape_of_skulls.png diff --git a/public/images/clue/easy_treasure_trails/flared_trousers.png b/public/images/clue/easy-treasure-trails/flared_trousers.png similarity index 100% rename from public/images/clue/easy_treasure_trails/flared_trousers.png rename to public/images/clue/easy-treasure-trails/flared_trousers.png diff --git a/public/images/clue/easy_treasure_trails/goblin_mask.png b/public/images/clue/easy-treasure-trails/goblin_mask.png similarity index 100% rename from public/images/clue/easy_treasure_trails/goblin_mask.png rename to public/images/clue/easy-treasure-trails/goblin_mask.png diff --git a/public/images/clue/easy_treasure_trails/golden_apron.png b/public/images/clue/easy-treasure-trails/golden_apron.png similarity index 100% rename from public/images/clue/easy_treasure_trails/golden_apron.png rename to public/images/clue/easy-treasure-trails/golden_apron.png diff --git a/public/images/clue/easy_treasure_trails/green_elegant_blouse.png b/public/images/clue/easy-treasure-trails/green_elegant_blouse.png similarity index 100% rename from public/images/clue/easy_treasure_trails/green_elegant_blouse.png rename to public/images/clue/easy-treasure-trails/green_elegant_blouse.png diff --git a/public/images/clue/easy_treasure_trails/green_elegant_legs.png b/public/images/clue/easy-treasure-trails/green_elegant_legs.png similarity index 100% rename from public/images/clue/easy_treasure_trails/green_elegant_legs.png rename to public/images/clue/easy-treasure-trails/green_elegant_legs.png diff --git a/public/images/clue/easy_treasure_trails/green_elegant_shirt.png b/public/images/clue/easy-treasure-trails/green_elegant_shirt.png similarity index 100% rename from public/images/clue/easy_treasure_trails/green_elegant_shirt.png rename to public/images/clue/easy-treasure-trails/green_elegant_shirt.png diff --git a/public/images/clue/easy_treasure_trails/green_elegant_skirt.png b/public/images/clue/easy-treasure-trails/green_elegant_skirt.png similarity index 100% rename from public/images/clue/easy_treasure_trails/green_elegant_skirt.png rename to public/images/clue/easy-treasure-trails/green_elegant_skirt.png diff --git a/public/images/clue/easy_treasure_trails/guthix_robe_legs.png b/public/images/clue/easy-treasure-trails/guthix_robe_legs.png similarity index 100% rename from public/images/clue/easy_treasure_trails/guthix_robe_legs.png rename to public/images/clue/easy-treasure-trails/guthix_robe_legs.png diff --git a/public/images/clue/easy_treasure_trails/guthix_robe_top.png b/public/images/clue/easy-treasure-trails/guthix_robe_top.png similarity index 100% rename from public/images/clue/easy_treasure_trails/guthix_robe_top.png rename to public/images/clue/easy-treasure-trails/guthix_robe_top.png diff --git a/public/images/clue/easy_treasure_trails/ham_joint.png b/public/images/clue/easy-treasure-trails/ham_joint.png similarity index 100% rename from public/images/clue/easy_treasure_trails/ham_joint.png rename to public/images/clue/easy-treasure-trails/ham_joint.png diff --git a/public/images/clue/easy_treasure_trails/highwayman_mask.png b/public/images/clue/easy-treasure-trails/highwayman_mask.png similarity index 100% rename from public/images/clue/easy_treasure_trails/highwayman_mask.png rename to public/images/clue/easy-treasure-trails/highwayman_mask.png diff --git a/public/images/clue/easy_treasure_trails/imp_mask.png b/public/images/clue/easy-treasure-trails/imp_mask.png similarity index 100% rename from public/images/clue/easy_treasure_trails/imp_mask.png rename to public/images/clue/easy-treasure-trails/imp_mask.png diff --git a/public/images/clue/easy_treasure_trails/iron_full_helm_(g).png b/public/images/clue/easy-treasure-trails/iron_full_helm_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/iron_full_helm_(g).png rename to public/images/clue/easy-treasure-trails/iron_full_helm_(g).png diff --git a/public/images/clue/easy_treasure_trails/iron_full_helm_(t).png b/public/images/clue/easy-treasure-trails/iron_full_helm_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/iron_full_helm_(t).png rename to public/images/clue/easy-treasure-trails/iron_full_helm_(t).png diff --git a/public/images/clue/easy_treasure_trails/iron_kiteshield_(g).png b/public/images/clue/easy-treasure-trails/iron_kiteshield_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/iron_kiteshield_(g).png rename to public/images/clue/easy-treasure-trails/iron_kiteshield_(g).png diff --git a/public/images/clue/easy_treasure_trails/iron_kiteshield_(t).png b/public/images/clue/easy-treasure-trails/iron_kiteshield_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/iron_kiteshield_(t).png rename to public/images/clue/easy-treasure-trails/iron_kiteshield_(t).png diff --git a/public/images/clue/easy_treasure_trails/iron_platebody_(g).png b/public/images/clue/easy-treasure-trails/iron_platebody_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/iron_platebody_(g).png rename to public/images/clue/easy-treasure-trails/iron_platebody_(g).png diff --git a/public/images/clue/easy_treasure_trails/iron_platebody_(t).png b/public/images/clue/easy-treasure-trails/iron_platebody_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/iron_platebody_(t).png rename to public/images/clue/easy-treasure-trails/iron_platebody_(t).png diff --git a/public/images/clue/easy_treasure_trails/iron_platelegs_(g).png b/public/images/clue/easy-treasure-trails/iron_platelegs_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/iron_platelegs_(g).png rename to public/images/clue/easy-treasure-trails/iron_platelegs_(g).png diff --git a/public/images/clue/easy_treasure_trails/iron_platelegs_(t).png b/public/images/clue/easy-treasure-trails/iron_platelegs_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/iron_platelegs_(t).png rename to public/images/clue/easy-treasure-trails/iron_platelegs_(t).png diff --git a/public/images/clue/easy_treasure_trails/iron_plateskirt_(g).png b/public/images/clue/easy-treasure-trails/iron_plateskirt_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/iron_plateskirt_(g).png rename to public/images/clue/easy-treasure-trails/iron_plateskirt_(g).png diff --git a/public/images/clue/easy_treasure_trails/iron_plateskirt_(t).png b/public/images/clue/easy-treasure-trails/iron_plateskirt_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/iron_plateskirt_(t).png rename to public/images/clue/easy-treasure-trails/iron_plateskirt_(t).png diff --git a/public/images/clue/easy_treasure_trails/leather_body_(g).png b/public/images/clue/easy-treasure-trails/leather_body_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/leather_body_(g).png rename to public/images/clue/easy-treasure-trails/leather_body_(g).png diff --git a/public/images/clue/easy_treasure_trails/leather_chaps_(g).png b/public/images/clue/easy-treasure-trails/leather_chaps_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/leather_chaps_(g).png rename to public/images/clue/easy-treasure-trails/leather_chaps_(g).png diff --git a/public/images/clue/easy_treasure_trails/pantaloons.png b/public/images/clue/easy-treasure-trails/pantaloons.png similarity index 100% rename from public/images/clue/easy_treasure_trails/pantaloons.png rename to public/images/clue/easy-treasure-trails/pantaloons.png diff --git a/public/images/clue/easy_treasure_trails/rain_bow.png b/public/images/clue/easy-treasure-trails/rain_bow.png similarity index 100% rename from public/images/clue/easy_treasure_trails/rain_bow.png rename to public/images/clue/easy-treasure-trails/rain_bow.png diff --git a/public/images/clue/easy_treasure_trails/red_beret.png b/public/images/clue/easy-treasure-trails/red_beret.png similarity index 100% rename from public/images/clue/easy_treasure_trails/red_beret.png rename to public/images/clue/easy-treasure-trails/red_beret.png diff --git a/public/images/clue/easy_treasure_trails/red_elegant_blouse.png b/public/images/clue/easy-treasure-trails/red_elegant_blouse.png similarity index 100% rename from public/images/clue/easy_treasure_trails/red_elegant_blouse.png rename to public/images/clue/easy-treasure-trails/red_elegant_blouse.png diff --git a/public/images/clue/easy_treasure_trails/red_elegant_legs.png b/public/images/clue/easy-treasure-trails/red_elegant_legs.png similarity index 100% rename from public/images/clue/easy_treasure_trails/red_elegant_legs.png rename to public/images/clue/easy-treasure-trails/red_elegant_legs.png diff --git a/public/images/clue/easy_treasure_trails/red_elegant_shirt.png b/public/images/clue/easy-treasure-trails/red_elegant_shirt.png similarity index 100% rename from public/images/clue/easy_treasure_trails/red_elegant_shirt.png rename to public/images/clue/easy-treasure-trails/red_elegant_shirt.png diff --git a/public/images/clue/easy_treasure_trails/red_elegant_skirt.png b/public/images/clue/easy-treasure-trails/red_elegant_skirt.png similarity index 100% rename from public/images/clue/easy_treasure_trails/red_elegant_skirt.png rename to public/images/clue/easy-treasure-trails/red_elegant_skirt.png diff --git a/public/images/clue/easy_treasure_trails/saradomin_robe_legs.png b/public/images/clue/easy-treasure-trails/saradomin_robe_legs.png similarity index 100% rename from public/images/clue/easy_treasure_trails/saradomin_robe_legs.png rename to public/images/clue/easy-treasure-trails/saradomin_robe_legs.png diff --git a/public/images/clue/easy_treasure_trails/saradomin_robe_top.png b/public/images/clue/easy-treasure-trails/saradomin_robe_top.png similarity index 100% rename from public/images/clue/easy_treasure_trails/saradomin_robe_top.png rename to public/images/clue/easy-treasure-trails/saradomin_robe_top.png diff --git a/public/images/clue/easy_treasure_trails/sleeping_cap.png b/public/images/clue/easy-treasure-trails/sleeping_cap.png similarity index 100% rename from public/images/clue/easy_treasure_trails/sleeping_cap.png rename to public/images/clue/easy-treasure-trails/sleeping_cap.png diff --git a/public/images/clue/easy_treasure_trails/staff_of_bob_the_cat.png b/public/images/clue/easy-treasure-trails/staff_of_bob_the_cat.png similarity index 100% rename from public/images/clue/easy_treasure_trails/staff_of_bob_the_cat.png rename to public/images/clue/easy-treasure-trails/staff_of_bob_the_cat.png diff --git a/public/images/clue/easy_treasure_trails/steel_full_helm_(g).png b/public/images/clue/easy-treasure-trails/steel_full_helm_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/steel_full_helm_(g).png rename to public/images/clue/easy-treasure-trails/steel_full_helm_(g).png diff --git a/public/images/clue/easy_treasure_trails/steel_full_helm_(t).png b/public/images/clue/easy-treasure-trails/steel_full_helm_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/steel_full_helm_(t).png rename to public/images/clue/easy-treasure-trails/steel_full_helm_(t).png diff --git a/public/images/clue/easy_treasure_trails/steel_kiteshield_(g).png b/public/images/clue/easy-treasure-trails/steel_kiteshield_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/steel_kiteshield_(g).png rename to public/images/clue/easy-treasure-trails/steel_kiteshield_(g).png diff --git a/public/images/clue/easy_treasure_trails/steel_kiteshield_(t).png b/public/images/clue/easy-treasure-trails/steel_kiteshield_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/steel_kiteshield_(t).png rename to public/images/clue/easy-treasure-trails/steel_kiteshield_(t).png diff --git a/public/images/clue/easy_treasure_trails/steel_platebody_(g).png b/public/images/clue/easy-treasure-trails/steel_platebody_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/steel_platebody_(g).png rename to public/images/clue/easy-treasure-trails/steel_platebody_(g).png diff --git a/public/images/clue/easy_treasure_trails/steel_platebody_(t).png b/public/images/clue/easy-treasure-trails/steel_platebody_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/steel_platebody_(t).png rename to public/images/clue/easy-treasure-trails/steel_platebody_(t).png diff --git a/public/images/clue/easy_treasure_trails/steel_platelegs_(g).png b/public/images/clue/easy-treasure-trails/steel_platelegs_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/steel_platelegs_(g).png rename to public/images/clue/easy-treasure-trails/steel_platelegs_(g).png diff --git a/public/images/clue/easy_treasure_trails/steel_platelegs_(t).png b/public/images/clue/easy-treasure-trails/steel_platelegs_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/steel_platelegs_(t).png rename to public/images/clue/easy-treasure-trails/steel_platelegs_(t).png diff --git a/public/images/clue/easy_treasure_trails/steel_plateskirt_(g).png b/public/images/clue/easy-treasure-trails/steel_plateskirt_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/steel_plateskirt_(g).png rename to public/images/clue/easy-treasure-trails/steel_plateskirt_(g).png diff --git a/public/images/clue/easy_treasure_trails/steel_plateskirt_(t).png b/public/images/clue/easy-treasure-trails/steel_plateskirt_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/steel_plateskirt_(t).png rename to public/images/clue/easy-treasure-trails/steel_plateskirt_(t).png diff --git a/public/images/clue/easy_treasure_trails/studded_body_(g).png b/public/images/clue/easy-treasure-trails/studded_body_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/studded_body_(g).png rename to public/images/clue/easy-treasure-trails/studded_body_(g).png diff --git a/public/images/clue/easy_treasure_trails/studded_body_(t).png b/public/images/clue/easy-treasure-trails/studded_body_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/studded_body_(t).png rename to public/images/clue/easy-treasure-trails/studded_body_(t).png diff --git a/public/images/clue/easy_treasure_trails/studded_chaps_(g).png b/public/images/clue/easy-treasure-trails/studded_chaps_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/studded_chaps_(g).png rename to public/images/clue/easy-treasure-trails/studded_chaps_(g).png diff --git a/public/images/clue/easy_treasure_trails/studded_chaps_(t).png b/public/images/clue/easy-treasure-trails/studded_chaps_(t).png similarity index 100% rename from public/images/clue/easy_treasure_trails/studded_chaps_(t).png rename to public/images/clue/easy-treasure-trails/studded_chaps_(t).png diff --git a/public/images/clue/easy_treasure_trails/team_cape_i.png b/public/images/clue/easy-treasure-trails/team_cape_i.png similarity index 100% rename from public/images/clue/easy_treasure_trails/team_cape_i.png rename to public/images/clue/easy-treasure-trails/team_cape_i.png diff --git a/public/images/clue/easy_treasure_trails/team_cape_x.png b/public/images/clue/easy-treasure-trails/team_cape_x.png similarity index 100% rename from public/images/clue/easy_treasure_trails/team_cape_x.png rename to public/images/clue/easy-treasure-trails/team_cape_x.png diff --git a/public/images/clue/easy_treasure_trails/team_cape_zero.png b/public/images/clue/easy-treasure-trails/team_cape_zero.png similarity index 100% rename from public/images/clue/easy_treasure_trails/team_cape_zero.png rename to public/images/clue/easy-treasure-trails/team_cape_zero.png diff --git a/public/images/clue/easy_treasure_trails/white_beret.png b/public/images/clue/easy-treasure-trails/white_beret.png similarity index 100% rename from public/images/clue/easy_treasure_trails/white_beret.png rename to public/images/clue/easy-treasure-trails/white_beret.png diff --git a/public/images/clue/easy_treasure_trails/willow_comp_bow.png b/public/images/clue/easy-treasure-trails/willow_comp_bow.png similarity index 100% rename from public/images/clue/easy_treasure_trails/willow_comp_bow.png rename to public/images/clue/easy-treasure-trails/willow_comp_bow.png diff --git a/public/images/clue/easy_treasure_trails/wooden_shield_(g).png b/public/images/clue/easy-treasure-trails/wooden_shield_(g).png similarity index 100% rename from public/images/clue/easy_treasure_trails/wooden_shield_(g).png rename to public/images/clue/easy-treasure-trails/wooden_shield_(g).png diff --git a/public/images/clue/easy_treasure_trails/zamorak_robe_legs.png b/public/images/clue/easy-treasure-trails/zamorak_robe_legs.png similarity index 100% rename from public/images/clue/easy_treasure_trails/zamorak_robe_legs.png rename to public/images/clue/easy-treasure-trails/zamorak_robe_legs.png diff --git a/public/images/clue/easy_treasure_trails/zamorak_robe_top.png b/public/images/clue/easy-treasure-trails/zamorak_robe_top.png similarity index 100% rename from public/images/clue/easy_treasure_trails/zamorak_robe_top.png rename to public/images/clue/easy-treasure-trails/zamorak_robe_top.png diff --git a/public/images/clue/elite_treasure_trails.png b/public/images/clue/elite-treasure-trails.png similarity index 100% rename from public/images/clue/elite_treasure_trails.png rename to public/images/clue/elite-treasure-trails.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_amulet.png b/public/images/clue/elite-treasure-trails/3rd_age_amulet.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_amulet.png rename to public/images/clue/elite-treasure-trails/3rd_age_amulet.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_bow.png b/public/images/clue/elite-treasure-trails/3rd_age_bow.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_bow.png rename to public/images/clue/elite-treasure-trails/3rd_age_bow.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_cloak.png b/public/images/clue/elite-treasure-trails/3rd_age_cloak.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_cloak.png rename to public/images/clue/elite-treasure-trails/3rd_age_cloak.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_full_helmet.png b/public/images/clue/elite-treasure-trails/3rd_age_full_helmet.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_full_helmet.png rename to public/images/clue/elite-treasure-trails/3rd_age_full_helmet.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_kiteshield.png b/public/images/clue/elite-treasure-trails/3rd_age_kiteshield.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_kiteshield.png rename to public/images/clue/elite-treasure-trails/3rd_age_kiteshield.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_longsword.png b/public/images/clue/elite-treasure-trails/3rd_age_longsword.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_longsword.png rename to public/images/clue/elite-treasure-trails/3rd_age_longsword.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_mage_hat.png b/public/images/clue/elite-treasure-trails/3rd_age_mage_hat.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_mage_hat.png rename to public/images/clue/elite-treasure-trails/3rd_age_mage_hat.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_platebody.png b/public/images/clue/elite-treasure-trails/3rd_age_platebody.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_platebody.png rename to public/images/clue/elite-treasure-trails/3rd_age_platebody.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_platelegs.png b/public/images/clue/elite-treasure-trails/3rd_age_platelegs.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_platelegs.png rename to public/images/clue/elite-treasure-trails/3rd_age_platelegs.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_plateskirt.png b/public/images/clue/elite-treasure-trails/3rd_age_plateskirt.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_plateskirt.png rename to public/images/clue/elite-treasure-trails/3rd_age_plateskirt.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_range_coif.png b/public/images/clue/elite-treasure-trails/3rd_age_range_coif.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_range_coif.png rename to public/images/clue/elite-treasure-trails/3rd_age_range_coif.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_range_legs.png b/public/images/clue/elite-treasure-trails/3rd_age_range_legs.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_range_legs.png rename to public/images/clue/elite-treasure-trails/3rd_age_range_legs.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_range_top.png b/public/images/clue/elite-treasure-trails/3rd_age_range_top.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_range_top.png rename to public/images/clue/elite-treasure-trails/3rd_age_range_top.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_robe.png b/public/images/clue/elite-treasure-trails/3rd_age_robe.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_robe.png rename to public/images/clue/elite-treasure-trails/3rd_age_robe.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_robe_top.png b/public/images/clue/elite-treasure-trails/3rd_age_robe_top.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_robe_top.png rename to public/images/clue/elite-treasure-trails/3rd_age_robe_top.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_vambraces.png b/public/images/clue/elite-treasure-trails/3rd_age_vambraces.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_vambraces.png rename to public/images/clue/elite-treasure-trails/3rd_age_vambraces.png diff --git a/public/images/clue/elite_treasure_trails/3rd_age_wand.png b/public/images/clue/elite-treasure-trails/3rd_age_wand.png similarity index 100% rename from public/images/clue/elite_treasure_trails/3rd_age_wand.png rename to public/images/clue/elite-treasure-trails/3rd_age_wand.png diff --git a/public/images/clue/elite_treasure_trails/adamant_dragon_mask.png b/public/images/clue/elite-treasure-trails/adamant_dragon_mask.png similarity index 100% rename from public/images/clue/elite_treasure_trails/adamant_dragon_mask.png rename to public/images/clue/elite-treasure-trails/adamant_dragon_mask.png diff --git a/public/images/clue/elite_treasure_trails/afro.png b/public/images/clue/elite-treasure-trails/afro.png similarity index 100% rename from public/images/clue/elite_treasure_trails/afro.png rename to public/images/clue/elite-treasure-trails/afro.png diff --git a/public/images/clue/elite_treasure_trails/arceuus_scarf.png b/public/images/clue/elite-treasure-trails/arceuus_scarf.png similarity index 100% rename from public/images/clue/elite_treasure_trails/arceuus_scarf.png rename to public/images/clue/elite-treasure-trails/arceuus_scarf.png diff --git a/public/images/clue/elite_treasure_trails/big_pirate_hat.png b/public/images/clue/elite-treasure-trails/big_pirate_hat.png similarity index 100% rename from public/images/clue/elite_treasure_trails/big_pirate_hat.png rename to public/images/clue/elite-treasure-trails/big_pirate_hat.png diff --git a/public/images/clue/elite_treasure_trails/briefcase.png b/public/images/clue/elite-treasure-trails/briefcase.png similarity index 100% rename from public/images/clue/elite_treasure_trails/briefcase.png rename to public/images/clue/elite-treasure-trails/briefcase.png diff --git a/public/images/clue/elite_treasure_trails/bronze_dragon_mask.png b/public/images/clue/elite-treasure-trails/bronze_dragon_mask.png similarity index 100% rename from public/images/clue/elite_treasure_trails/bronze_dragon_mask.png rename to public/images/clue/elite-treasure-trails/bronze_dragon_mask.png diff --git a/public/images/clue/elite_treasure_trails/bucket_helm.png b/public/images/clue/elite-treasure-trails/bucket_helm.png similarity index 100% rename from public/images/clue/elite_treasure_trails/bucket_helm.png rename to public/images/clue/elite-treasure-trails/bucket_helm.png diff --git a/public/images/clue/elite_treasure_trails/dark_bow_tie.png b/public/images/clue/elite-treasure-trails/dark_bow_tie.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dark_bow_tie.png rename to public/images/clue/elite-treasure-trails/dark_bow_tie.png diff --git a/public/images/clue/elite_treasure_trails/dark_infinity_colour_kit.png b/public/images/clue/elite-treasure-trails/dark_infinity_colour_kit.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dark_infinity_colour_kit.png rename to public/images/clue/elite-treasure-trails/dark_infinity_colour_kit.png diff --git a/public/images/clue/elite_treasure_trails/dark_trousers.png b/public/images/clue/elite-treasure-trails/dark_trousers.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dark_trousers.png rename to public/images/clue/elite-treasure-trails/dark_trousers.png diff --git a/public/images/clue/elite_treasure_trails/dark_tuxedo_cuffs.png b/public/images/clue/elite-treasure-trails/dark_tuxedo_cuffs.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dark_tuxedo_cuffs.png rename to public/images/clue/elite-treasure-trails/dark_tuxedo_cuffs.png diff --git a/public/images/clue/elite_treasure_trails/dark_tuxedo_jacket.png b/public/images/clue/elite-treasure-trails/dark_tuxedo_jacket.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dark_tuxedo_jacket.png rename to public/images/clue/elite-treasure-trails/dark_tuxedo_jacket.png diff --git a/public/images/clue/elite_treasure_trails/dark_tuxedo_shoes.png b/public/images/clue/elite-treasure-trails/dark_tuxedo_shoes.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dark_tuxedo_shoes.png rename to public/images/clue/elite-treasure-trails/dark_tuxedo_shoes.png diff --git a/public/images/clue/elite_treasure_trails/deerstalker.png b/public/images/clue/elite-treasure-trails/deerstalker.png similarity index 100% rename from public/images/clue/elite_treasure_trails/deerstalker.png rename to public/images/clue/elite-treasure-trails/deerstalker.png diff --git a/public/images/clue/elite_treasure_trails/dragon_cane.png b/public/images/clue/elite-treasure-trails/dragon_cane.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dragon_cane.png rename to public/images/clue/elite-treasure-trails/dragon_cane.png diff --git a/public/images/clue/elite_treasure_trails/dragon_chainbody_ornament_kit.png b/public/images/clue/elite-treasure-trails/dragon_chainbody_ornament_kit.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dragon_chainbody_ornament_kit.png rename to public/images/clue/elite-treasure-trails/dragon_chainbody_ornament_kit.png diff --git a/public/images/clue/elite_treasure_trails/dragon_full_helm_ornament_kit.png b/public/images/clue/elite-treasure-trails/dragon_full_helm_ornament_kit.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dragon_full_helm_ornament_kit.png rename to public/images/clue/elite-treasure-trails/dragon_full_helm_ornament_kit.png diff --git a/public/images/clue/elite_treasure_trails/dragon_scimitar_ornament_kit.png b/public/images/clue/elite-treasure-trails/dragon_scimitar_ornament_kit.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dragon_scimitar_ornament_kit.png rename to public/images/clue/elite-treasure-trails/dragon_scimitar_ornament_kit.png diff --git a/public/images/clue/elite_treasure_trails/dragon_sq_shield_ornament_kit.png b/public/images/clue/elite-treasure-trails/dragon_sq_shield_ornament_kit.png similarity index 100% rename from public/images/clue/elite_treasure_trails/dragon_sq_shield_ornament_kit.png rename to public/images/clue/elite-treasure-trails/dragon_sq_shield_ornament_kit.png diff --git a/public/images/clue/elite_treasure_trails/fremennik_kilt.png b/public/images/clue/elite-treasure-trails/fremennik_kilt.png similarity index 100% rename from public/images/clue/elite_treasure_trails/fremennik_kilt.png rename to public/images/clue/elite-treasure-trails/fremennik_kilt.png diff --git a/public/images/clue/elite_treasure_trails/fury_ornament_kit.png b/public/images/clue/elite-treasure-trails/fury_ornament_kit.png similarity index 100% rename from public/images/clue/elite_treasure_trails/fury_ornament_kit.png rename to public/images/clue/elite-treasure-trails/fury_ornament_kit.png diff --git a/public/images/clue/elite_treasure_trails/giant_boot.png b/public/images/clue/elite-treasure-trails/giant_boot.png similarity index 100% rename from public/images/clue/elite_treasure_trails/giant_boot.png rename to public/images/clue/elite-treasure-trails/giant_boot.png diff --git a/public/images/clue/elite_treasure_trails/gilded_2h_sword.png b/public/images/clue/elite-treasure-trails/gilded_2h_sword.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_2h_sword.png rename to public/images/clue/elite-treasure-trails/gilded_2h_sword.png diff --git a/public/images/clue/elite_treasure_trails/gilded_axe.png b/public/images/clue/elite-treasure-trails/gilded_axe.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_axe.png rename to public/images/clue/elite-treasure-trails/gilded_axe.png diff --git a/public/images/clue/elite_treasure_trails/gilded_boots.png b/public/images/clue/elite-treasure-trails/gilded_boots.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_boots.png rename to public/images/clue/elite-treasure-trails/gilded_boots.png diff --git a/public/images/clue/elite_treasure_trails/gilded_chainbody.png b/public/images/clue/elite-treasure-trails/gilded_chainbody.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_chainbody.png rename to public/images/clue/elite-treasure-trails/gilded_chainbody.png diff --git a/public/images/clue/elite_treasure_trails/gilded_coif.png b/public/images/clue/elite-treasure-trails/gilded_coif.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_coif.png rename to public/images/clue/elite-treasure-trails/gilded_coif.png diff --git a/public/images/clue/elite_treasure_trails/gilded_full_helm.png b/public/images/clue/elite-treasure-trails/gilded_full_helm.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_full_helm.png rename to public/images/clue/elite-treasure-trails/gilded_full_helm.png diff --git a/public/images/clue/elite_treasure_trails/gilded_hasta.png b/public/images/clue/elite-treasure-trails/gilded_hasta.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_hasta.png rename to public/images/clue/elite-treasure-trails/gilded_hasta.png diff --git a/public/images/clue/elite_treasure_trails/gilded_kiteshield.png b/public/images/clue/elite-treasure-trails/gilded_kiteshield.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_kiteshield.png rename to public/images/clue/elite-treasure-trails/gilded_kiteshield.png diff --git a/public/images/clue/elite_treasure_trails/gilded_med_helm.png b/public/images/clue/elite-treasure-trails/gilded_med_helm.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_med_helm.png rename to public/images/clue/elite-treasure-trails/gilded_med_helm.png diff --git a/public/images/clue/elite_treasure_trails/gilded_pickaxe.png b/public/images/clue/elite-treasure-trails/gilded_pickaxe.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_pickaxe.png rename to public/images/clue/elite-treasure-trails/gilded_pickaxe.png diff --git a/public/images/clue/elite_treasure_trails/gilded_platebody.png b/public/images/clue/elite-treasure-trails/gilded_platebody.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_platebody.png rename to public/images/clue/elite-treasure-trails/gilded_platebody.png diff --git a/public/images/clue/elite_treasure_trails/gilded_platelegs.png b/public/images/clue/elite-treasure-trails/gilded_platelegs.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_platelegs.png rename to public/images/clue/elite-treasure-trails/gilded_platelegs.png diff --git a/public/images/clue/elite_treasure_trails/gilded_plateskirt.png b/public/images/clue/elite-treasure-trails/gilded_plateskirt.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_plateskirt.png rename to public/images/clue/elite-treasure-trails/gilded_plateskirt.png diff --git a/public/images/clue/elite_treasure_trails/gilded_scimitar.png b/public/images/clue/elite-treasure-trails/gilded_scimitar.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_scimitar.png rename to public/images/clue/elite-treasure-trails/gilded_scimitar.png diff --git a/public/images/clue/elite_treasure_trails/gilded_spade.png b/public/images/clue/elite-treasure-trails/gilded_spade.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_spade.png rename to public/images/clue/elite-treasure-trails/gilded_spade.png diff --git a/public/images/clue/elite_treasure_trails/gilded_spear.png b/public/images/clue/elite-treasure-trails/gilded_spear.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_spear.png rename to public/images/clue/elite-treasure-trails/gilded_spear.png diff --git a/public/images/clue/elite_treasure_trails/gilded_sq_shield.png b/public/images/clue/elite-treasure-trails/gilded_sq_shield.png similarity index 100% rename from public/images/clue/elite_treasure_trails/gilded_sq_shield.png rename to public/images/clue/elite-treasure-trails/gilded_sq_shield.png diff --git a/public/images/clue/elite_treasure_trails/holy_wraps.png b/public/images/clue/elite-treasure-trails/holy_wraps.png similarity index 100% rename from public/images/clue/elite_treasure_trails/holy_wraps.png rename to public/images/clue/elite-treasure-trails/holy_wraps.png diff --git a/public/images/clue/elite_treasure_trails/hosidius_scarf.png b/public/images/clue/elite-treasure-trails/hosidius_scarf.png similarity index 100% rename from public/images/clue/elite_treasure_trails/hosidius_scarf.png rename to public/images/clue/elite-treasure-trails/hosidius_scarf.png diff --git a/public/images/clue/elite_treasure_trails/iron_dragon_mask.png b/public/images/clue/elite-treasure-trails/iron_dragon_mask.png similarity index 100% rename from public/images/clue/elite_treasure_trails/iron_dragon_mask.png rename to public/images/clue/elite-treasure-trails/iron_dragon_mask.png diff --git a/public/images/clue/elite_treasure_trails/katana.png b/public/images/clue/elite-treasure-trails/katana.png similarity index 100% rename from public/images/clue/elite_treasure_trails/katana.png rename to public/images/clue/elite-treasure-trails/katana.png diff --git a/public/images/clue/elite_treasure_trails/lava_dragon_mask.png b/public/images/clue/elite-treasure-trails/lava_dragon_mask.png similarity index 100% rename from public/images/clue/elite_treasure_trails/lava_dragon_mask.png rename to public/images/clue/elite-treasure-trails/lava_dragon_mask.png diff --git a/public/images/clue/elite_treasure_trails/light_bow_tie.png b/public/images/clue/elite-treasure-trails/light_bow_tie.png similarity index 100% rename from public/images/clue/elite_treasure_trails/light_bow_tie.png rename to public/images/clue/elite-treasure-trails/light_bow_tie.png diff --git a/public/images/clue/elite_treasure_trails/light_infinity_colour_kit.png b/public/images/clue/elite-treasure-trails/light_infinity_colour_kit.png similarity index 100% rename from public/images/clue/elite_treasure_trails/light_infinity_colour_kit.png rename to public/images/clue/elite-treasure-trails/light_infinity_colour_kit.png diff --git a/public/images/clue/elite_treasure_trails/light_trousers.png b/public/images/clue/elite-treasure-trails/light_trousers.png similarity index 100% rename from public/images/clue/elite_treasure_trails/light_trousers.png rename to public/images/clue/elite-treasure-trails/light_trousers.png diff --git a/public/images/clue/elite_treasure_trails/light_tuxedo_cuffs.png b/public/images/clue/elite-treasure-trails/light_tuxedo_cuffs.png similarity index 100% rename from public/images/clue/elite_treasure_trails/light_tuxedo_cuffs.png rename to public/images/clue/elite-treasure-trails/light_tuxedo_cuffs.png diff --git a/public/images/clue/elite_treasure_trails/light_tuxedo_jacket.png b/public/images/clue/elite-treasure-trails/light_tuxedo_jacket.png similarity index 100% rename from public/images/clue/elite_treasure_trails/light_tuxedo_jacket.png rename to public/images/clue/elite-treasure-trails/light_tuxedo_jacket.png diff --git a/public/images/clue/elite_treasure_trails/light_tuxedo_shoes.png b/public/images/clue/elite-treasure-trails/light_tuxedo_shoes.png similarity index 100% rename from public/images/clue/elite_treasure_trails/light_tuxedo_shoes.png rename to public/images/clue/elite-treasure-trails/light_tuxedo_shoes.png diff --git a/public/images/clue/elite_treasure_trails/lovakengj_scarf.png b/public/images/clue/elite-treasure-trails/lovakengj_scarf.png similarity index 100% rename from public/images/clue/elite_treasure_trails/lovakengj_scarf.png rename to public/images/clue/elite-treasure-trails/lovakengj_scarf.png diff --git a/public/images/clue/elite_treasure_trails/mithril_dragon_mask.png b/public/images/clue/elite-treasure-trails/mithril_dragon_mask.png similarity index 100% rename from public/images/clue/elite_treasure_trails/mithril_dragon_mask.png rename to public/images/clue/elite-treasure-trails/mithril_dragon_mask.png diff --git a/public/images/clue/elite_treasure_trails/monocle.png b/public/images/clue/elite-treasure-trails/monocle.png similarity index 100% rename from public/images/clue/elite_treasure_trails/monocle.png rename to public/images/clue/elite-treasure-trails/monocle.png diff --git a/public/images/clue/elite_treasure_trails/musketeer_hat.png b/public/images/clue/elite-treasure-trails/musketeer_hat.png similarity index 100% rename from public/images/clue/elite_treasure_trails/musketeer_hat.png rename to public/images/clue/elite-treasure-trails/musketeer_hat.png diff --git a/public/images/clue/elite_treasure_trails/musketeer_pants.png b/public/images/clue/elite-treasure-trails/musketeer_pants.png similarity index 100% rename from public/images/clue/elite_treasure_trails/musketeer_pants.png rename to public/images/clue/elite-treasure-trails/musketeer_pants.png diff --git a/public/images/clue/elite_treasure_trails/musketeer_tabard.png b/public/images/clue/elite-treasure-trails/musketeer_tabard.png similarity index 100% rename from public/images/clue/elite_treasure_trails/musketeer_tabard.png rename to public/images/clue/elite-treasure-trails/musketeer_tabard.png diff --git a/public/images/clue/elite_treasure_trails/piscarilius_scarf.png b/public/images/clue/elite-treasure-trails/piscarilius_scarf.png similarity index 100% rename from public/images/clue/elite_treasure_trails/piscarilius_scarf.png rename to public/images/clue/elite-treasure-trails/piscarilius_scarf.png diff --git a/public/images/clue/elite_treasure_trails/ranger_gloves.png b/public/images/clue/elite-treasure-trails/ranger_gloves.png similarity index 100% rename from public/images/clue/elite_treasure_trails/ranger_gloves.png rename to public/images/clue/elite-treasure-trails/ranger_gloves.png diff --git a/public/images/clue/elite_treasure_trails/ring_of_3rd_age.png b/public/images/clue/elite-treasure-trails/ring_of_3rd_age.png similarity index 100% rename from public/images/clue/elite_treasure_trails/ring_of_3rd_age.png rename to public/images/clue/elite-treasure-trails/ring_of_3rd_age.png diff --git a/public/images/clue/elite_treasure_trails/ring_of_nature.png b/public/images/clue/elite-treasure-trails/ring_of_nature.png similarity index 100% rename from public/images/clue/elite_treasure_trails/ring_of_nature.png rename to public/images/clue/elite-treasure-trails/ring_of_nature.png diff --git a/public/images/clue/elite_treasure_trails/royal_crown.png b/public/images/clue/elite-treasure-trails/royal_crown.png similarity index 100% rename from public/images/clue/elite_treasure_trails/royal_crown.png rename to public/images/clue/elite-treasure-trails/royal_crown.png diff --git a/public/images/clue/elite_treasure_trails/royal_gown_bottom.png b/public/images/clue/elite-treasure-trails/royal_gown_bottom.png similarity index 100% rename from public/images/clue/elite_treasure_trails/royal_gown_bottom.png rename to public/images/clue/elite-treasure-trails/royal_gown_bottom.png diff --git a/public/images/clue/elite_treasure_trails/royal_gown_top.png b/public/images/clue/elite-treasure-trails/royal_gown_top.png similarity index 100% rename from public/images/clue/elite_treasure_trails/royal_gown_top.png rename to public/images/clue/elite-treasure-trails/royal_gown_top.png diff --git a/public/images/clue/elite_treasure_trails/royal_sceptre.png b/public/images/clue/elite-treasure-trails/royal_sceptre.png similarity index 100% rename from public/images/clue/elite_treasure_trails/royal_sceptre.png rename to public/images/clue/elite-treasure-trails/royal_sceptre.png diff --git a/public/images/clue/elite_treasure_trails/rune_dragon_mask.png b/public/images/clue/elite-treasure-trails/rune_dragon_mask.png similarity index 100% rename from public/images/clue/elite_treasure_trails/rune_dragon_mask.png rename to public/images/clue/elite-treasure-trails/rune_dragon_mask.png diff --git a/public/images/clue/elite_treasure_trails/sagacious_spectacles.png b/public/images/clue/elite-treasure-trails/sagacious_spectacles.png similarity index 100% rename from public/images/clue/elite_treasure_trails/sagacious_spectacles.png rename to public/images/clue/elite-treasure-trails/sagacious_spectacles.png diff --git a/public/images/clue/elite_treasure_trails/shayzien_scarf.png b/public/images/clue/elite-treasure-trails/shayzien_scarf.png similarity index 100% rename from public/images/clue/elite_treasure_trails/shayzien_scarf.png rename to public/images/clue/elite-treasure-trails/shayzien_scarf.png diff --git a/public/images/clue/elite_treasure_trails/steel_dragon_mask.png b/public/images/clue/elite-treasure-trails/steel_dragon_mask.png similarity index 100% rename from public/images/clue/elite_treasure_trails/steel_dragon_mask.png rename to public/images/clue/elite-treasure-trails/steel_dragon_mask.png diff --git a/public/images/clue/elite_treasure_trails/top_hat.png b/public/images/clue/elite-treasure-trails/top_hat.png similarity index 100% rename from public/images/clue/elite_treasure_trails/top_hat.png rename to public/images/clue/elite-treasure-trails/top_hat.png diff --git a/public/images/clue/hard_treasure_trails.png b/public/images/clue/hard-treasure-trails.png similarity index 100% rename from public/images/clue/hard_treasure_trails.png rename to public/images/clue/hard-treasure-trails.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_amulet.png b/public/images/clue/hard-treasure-trails/3rd_age_amulet.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_amulet.png rename to public/images/clue/hard-treasure-trails/3rd_age_amulet.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_full_helmet.png b/public/images/clue/hard-treasure-trails/3rd_age_full_helmet.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_full_helmet.png rename to public/images/clue/hard-treasure-trails/3rd_age_full_helmet.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_kiteshield.png b/public/images/clue/hard-treasure-trails/3rd_age_kiteshield.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_kiteshield.png rename to public/images/clue/hard-treasure-trails/3rd_age_kiteshield.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_mage_hat.png b/public/images/clue/hard-treasure-trails/3rd_age_mage_hat.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_mage_hat.png rename to public/images/clue/hard-treasure-trails/3rd_age_mage_hat.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_platebody.png b/public/images/clue/hard-treasure-trails/3rd_age_platebody.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_platebody.png rename to public/images/clue/hard-treasure-trails/3rd_age_platebody.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_platelegs.png b/public/images/clue/hard-treasure-trails/3rd_age_platelegs.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_platelegs.png rename to public/images/clue/hard-treasure-trails/3rd_age_platelegs.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_plateskirt.png b/public/images/clue/hard-treasure-trails/3rd_age_plateskirt.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_plateskirt.png rename to public/images/clue/hard-treasure-trails/3rd_age_plateskirt.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_range_coif.png b/public/images/clue/hard-treasure-trails/3rd_age_range_coif.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_range_coif.png rename to public/images/clue/hard-treasure-trails/3rd_age_range_coif.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_range_legs.png b/public/images/clue/hard-treasure-trails/3rd_age_range_legs.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_range_legs.png rename to public/images/clue/hard-treasure-trails/3rd_age_range_legs.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_range_top.png b/public/images/clue/hard-treasure-trails/3rd_age_range_top.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_range_top.png rename to public/images/clue/hard-treasure-trails/3rd_age_range_top.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_robe.png b/public/images/clue/hard-treasure-trails/3rd_age_robe.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_robe.png rename to public/images/clue/hard-treasure-trails/3rd_age_robe.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_robe_top.png b/public/images/clue/hard-treasure-trails/3rd_age_robe_top.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_robe_top.png rename to public/images/clue/hard-treasure-trails/3rd_age_robe_top.png diff --git a/public/images/clue/hard_treasure_trails/3rd_age_vambraces.png b/public/images/clue/hard-treasure-trails/3rd_age_vambraces.png similarity index 100% rename from public/images/clue/hard_treasure_trails/3rd_age_vambraces.png rename to public/images/clue/hard-treasure-trails/3rd_age_vambraces.png diff --git a/public/images/clue/hard_treasure_trails/amulet_of_glory_(t4).png b/public/images/clue/hard-treasure-trails/amulet_of_glory_(t4).png similarity index 100% rename from public/images/clue/hard_treasure_trails/amulet_of_glory_(t4).png rename to public/images/clue/hard-treasure-trails/amulet_of_glory_(t4).png diff --git a/public/images/clue/hard_treasure_trails/ancient_bracers.png b/public/images/clue/hard-treasure-trails/ancient_bracers.png similarity index 100% rename from public/images/clue/hard_treasure_trails/ancient_bracers.png rename to public/images/clue/hard-treasure-trails/ancient_bracers.png diff --git a/public/images/clue/hard_treasure_trails/ancient_chaps.png b/public/images/clue/hard-treasure-trails/ancient_chaps.png similarity index 100% rename from public/images/clue/hard_treasure_trails/ancient_chaps.png rename to public/images/clue/hard-treasure-trails/ancient_chaps.png diff --git a/public/images/clue/hard_treasure_trails/ancient_coif.png b/public/images/clue/hard-treasure-trails/ancient_coif.png similarity index 100% rename from public/images/clue/hard_treasure_trails/ancient_coif.png rename to public/images/clue/hard-treasure-trails/ancient_coif.png diff --git a/public/images/clue/hard_treasure_trails/ancient_full_helm.png b/public/images/clue/hard-treasure-trails/ancient_full_helm.png similarity index 100% rename from public/images/clue/hard_treasure_trails/ancient_full_helm.png rename to public/images/clue/hard-treasure-trails/ancient_full_helm.png diff --git a/public/images/clue/hard_treasure_trails/ancient_kiteshield.png b/public/images/clue/hard-treasure-trails/ancient_kiteshield.png similarity index 100% rename from public/images/clue/hard_treasure_trails/ancient_kiteshield.png rename to public/images/clue/hard-treasure-trails/ancient_kiteshield.png diff --git a/public/images/clue/hard_treasure_trails/ancient_platebody.png b/public/images/clue/hard-treasure-trails/ancient_platebody.png similarity index 100% rename from public/images/clue/hard_treasure_trails/ancient_platebody.png rename to public/images/clue/hard-treasure-trails/ancient_platebody.png diff --git a/public/images/clue/hard_treasure_trails/ancient_platelegs.png b/public/images/clue/hard-treasure-trails/ancient_platelegs.png similarity index 100% rename from public/images/clue/hard_treasure_trails/ancient_platelegs.png rename to public/images/clue/hard-treasure-trails/ancient_platelegs.png diff --git a/public/images/clue/hard_treasure_trails/ancient_plateskirt.png b/public/images/clue/hard-treasure-trails/ancient_plateskirt.png similarity index 100% rename from public/images/clue/hard_treasure_trails/ancient_plateskirt.png rename to public/images/clue/hard-treasure-trails/ancient_plateskirt.png diff --git a/public/images/clue/hard_treasure_trails/armadyl_bracers.png b/public/images/clue/hard-treasure-trails/armadyl_bracers.png similarity index 100% rename from public/images/clue/hard_treasure_trails/armadyl_bracers.png rename to public/images/clue/hard-treasure-trails/armadyl_bracers.png diff --git a/public/images/clue/hard_treasure_trails/armadyl_chaps.png b/public/images/clue/hard-treasure-trails/armadyl_chaps.png similarity index 100% rename from public/images/clue/hard_treasure_trails/armadyl_chaps.png rename to public/images/clue/hard-treasure-trails/armadyl_chaps.png diff --git a/public/images/clue/hard_treasure_trails/armadyl_coif.png b/public/images/clue/hard-treasure-trails/armadyl_coif.png similarity index 100% rename from public/images/clue/hard_treasure_trails/armadyl_coif.png rename to public/images/clue/hard-treasure-trails/armadyl_coif.png diff --git a/public/images/clue/hard_treasure_trails/armadyl_full_helm.png b/public/images/clue/hard-treasure-trails/armadyl_full_helm.png similarity index 100% rename from public/images/clue/hard_treasure_trails/armadyl_full_helm.png rename to public/images/clue/hard-treasure-trails/armadyl_full_helm.png diff --git a/public/images/clue/hard_treasure_trails/armadyl_kiteshield.png b/public/images/clue/hard-treasure-trails/armadyl_kiteshield.png similarity index 100% rename from public/images/clue/hard_treasure_trails/armadyl_kiteshield.png rename to public/images/clue/hard-treasure-trails/armadyl_kiteshield.png diff --git a/public/images/clue/hard_treasure_trails/armadyl_platebody.png b/public/images/clue/hard-treasure-trails/armadyl_platebody.png similarity index 100% rename from public/images/clue/hard_treasure_trails/armadyl_platebody.png rename to public/images/clue/hard-treasure-trails/armadyl_platebody.png diff --git a/public/images/clue/hard_treasure_trails/armadyl_platelegs.png b/public/images/clue/hard-treasure-trails/armadyl_platelegs.png similarity index 100% rename from public/images/clue/hard_treasure_trails/armadyl_platelegs.png rename to public/images/clue/hard-treasure-trails/armadyl_platelegs.png diff --git a/public/images/clue/hard_treasure_trails/armadyl_plateskirt.png b/public/images/clue/hard-treasure-trails/armadyl_plateskirt.png similarity index 100% rename from public/images/clue/hard_treasure_trails/armadyl_plateskirt.png rename to public/images/clue/hard-treasure-trails/armadyl_plateskirt.png diff --git a/public/images/clue/hard_treasure_trails/bandos_bracers.png b/public/images/clue/hard-treasure-trails/bandos_bracers.png similarity index 100% rename from public/images/clue/hard_treasure_trails/bandos_bracers.png rename to public/images/clue/hard-treasure-trails/bandos_bracers.png diff --git a/public/images/clue/hard_treasure_trails/bandos_chaps.png b/public/images/clue/hard-treasure-trails/bandos_chaps.png similarity index 100% rename from public/images/clue/hard_treasure_trails/bandos_chaps.png rename to public/images/clue/hard-treasure-trails/bandos_chaps.png diff --git a/public/images/clue/hard_treasure_trails/bandos_coif.png b/public/images/clue/hard-treasure-trails/bandos_coif.png similarity index 100% rename from public/images/clue/hard_treasure_trails/bandos_coif.png rename to public/images/clue/hard-treasure-trails/bandos_coif.png diff --git a/public/images/clue/hard_treasure_trails/bandos_full_helm.png b/public/images/clue/hard-treasure-trails/bandos_full_helm.png similarity index 100% rename from public/images/clue/hard_treasure_trails/bandos_full_helm.png rename to public/images/clue/hard-treasure-trails/bandos_full_helm.png diff --git a/public/images/clue/hard_treasure_trails/bandos_kiteshield.png b/public/images/clue/hard-treasure-trails/bandos_kiteshield.png similarity index 100% rename from public/images/clue/hard_treasure_trails/bandos_kiteshield.png rename to public/images/clue/hard-treasure-trails/bandos_kiteshield.png diff --git a/public/images/clue/hard_treasure_trails/bandos_platebody.png b/public/images/clue/hard-treasure-trails/bandos_platebody.png similarity index 100% rename from public/images/clue/hard_treasure_trails/bandos_platebody.png rename to public/images/clue/hard-treasure-trails/bandos_platebody.png diff --git a/public/images/clue/hard_treasure_trails/bandos_platelegs.png b/public/images/clue/hard-treasure-trails/bandos_platelegs.png similarity index 100% rename from public/images/clue/hard_treasure_trails/bandos_platelegs.png rename to public/images/clue/hard-treasure-trails/bandos_platelegs.png diff --git a/public/images/clue/hard_treasure_trails/bandos_plateskirt.png b/public/images/clue/hard-treasure-trails/bandos_plateskirt.png similarity index 100% rename from public/images/clue/hard_treasure_trails/bandos_plateskirt.png rename to public/images/clue/hard-treasure-trails/bandos_plateskirt.png diff --git a/public/images/clue/hard_treasure_trails/berserker_necklace_ornament_kit.png b/public/images/clue/hard-treasure-trails/berserker_necklace_ornament_kit.png similarity index 100% rename from public/images/clue/hard_treasure_trails/berserker_necklace_ornament_kit.png rename to public/images/clue/hard-treasure-trails/berserker_necklace_ornament_kit.png diff --git a/public/images/clue/hard_treasure_trails/black_cavalier.png b/public/images/clue/hard-treasure-trails/black_cavalier.png similarity index 100% rename from public/images/clue/hard_treasure_trails/black_cavalier.png rename to public/images/clue/hard-treasure-trails/black_cavalier.png diff --git a/public/images/clue/hard_treasure_trails/black_dragon_mask.png b/public/images/clue/hard-treasure-trails/black_dragon_mask.png similarity index 100% rename from public/images/clue/hard_treasure_trails/black_dragon_mask.png rename to public/images/clue/hard-treasure-trails/black_dragon_mask.png diff --git a/public/images/clue/hard_treasure_trails/blue_dragon_mask.png b/public/images/clue/hard-treasure-trails/blue_dragon_mask.png similarity index 100% rename from public/images/clue/hard_treasure_trails/blue_dragon_mask.png rename to public/images/clue/hard-treasure-trails/blue_dragon_mask.png diff --git a/public/images/clue/hard_treasure_trails/cyclops_head.png b/public/images/clue/hard-treasure-trails/cyclops_head.png similarity index 100% rename from public/images/clue/hard_treasure_trails/cyclops_head.png rename to public/images/clue/hard-treasure-trails/cyclops_head.png diff --git a/public/images/clue/hard_treasure_trails/dark_cavalier.png b/public/images/clue/hard-treasure-trails/dark_cavalier.png similarity index 100% rename from public/images/clue/hard_treasure_trails/dark_cavalier.png rename to public/images/clue/hard-treasure-trails/dark_cavalier.png diff --git a/public/images/clue/hard_treasure_trails/dragon_boots_ornament_kit.png b/public/images/clue/hard-treasure-trails/dragon_boots_ornament_kit.png similarity index 100% rename from public/images/clue/hard_treasure_trails/dragon_boots_ornament_kit.png rename to public/images/clue/hard-treasure-trails/dragon_boots_ornament_kit.png diff --git a/public/images/clue/hard_treasure_trails/dual_sai.png b/public/images/clue/hard-treasure-trails/dual_sai.png similarity index 100% rename from public/images/clue/hard_treasure_trails/dual_sai.png rename to public/images/clue/hard-treasure-trails/dual_sai.png diff --git a/public/images/clue/hard_treasure_trails/enchanted_hat.png b/public/images/clue/hard-treasure-trails/enchanted_hat.png similarity index 100% rename from public/images/clue/hard_treasure_trails/enchanted_hat.png rename to public/images/clue/hard-treasure-trails/enchanted_hat.png diff --git a/public/images/clue/hard_treasure_trails/enchanted_robe.png b/public/images/clue/hard-treasure-trails/enchanted_robe.png similarity index 100% rename from public/images/clue/hard_treasure_trails/enchanted_robe.png rename to public/images/clue/hard-treasure-trails/enchanted_robe.png diff --git a/public/images/clue/hard_treasure_trails/enchanted_top.png b/public/images/clue/hard-treasure-trails/enchanted_top.png similarity index 100% rename from public/images/clue/hard_treasure_trails/enchanted_top.png rename to public/images/clue/hard-treasure-trails/enchanted_top.png diff --git a/public/images/clue/hard_treasure_trails/explorer_backpack.png b/public/images/clue/hard-treasure-trails/explorer_backpack.png similarity index 100% rename from public/images/clue/hard_treasure_trails/explorer_backpack.png rename to public/images/clue/hard-treasure-trails/explorer_backpack.png diff --git a/public/images/clue/hard_treasure_trails/gilded_2h_sword.png b/public/images/clue/hard-treasure-trails/gilded_2h_sword.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_2h_sword.png rename to public/images/clue/hard-treasure-trails/gilded_2h_sword.png diff --git a/public/images/clue/hard_treasure_trails/gilded_chainbody.png b/public/images/clue/hard-treasure-trails/gilded_chainbody.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_chainbody.png rename to public/images/clue/hard-treasure-trails/gilded_chainbody.png diff --git a/public/images/clue/hard_treasure_trails/gilded_full_helm.png b/public/images/clue/hard-treasure-trails/gilded_full_helm.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_full_helm.png rename to public/images/clue/hard-treasure-trails/gilded_full_helm.png diff --git a/public/images/clue/hard_treasure_trails/gilded_hasta.png b/public/images/clue/hard-treasure-trails/gilded_hasta.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_hasta.png rename to public/images/clue/hard-treasure-trails/gilded_hasta.png diff --git a/public/images/clue/hard_treasure_trails/gilded_kiteshield.png b/public/images/clue/hard-treasure-trails/gilded_kiteshield.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_kiteshield.png rename to public/images/clue/hard-treasure-trails/gilded_kiteshield.png diff --git a/public/images/clue/hard_treasure_trails/gilded_med_helm.png b/public/images/clue/hard-treasure-trails/gilded_med_helm.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_med_helm.png rename to public/images/clue/hard-treasure-trails/gilded_med_helm.png diff --git a/public/images/clue/hard_treasure_trails/gilded_platebody.png b/public/images/clue/hard-treasure-trails/gilded_platebody.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_platebody.png rename to public/images/clue/hard-treasure-trails/gilded_platebody.png diff --git a/public/images/clue/hard_treasure_trails/gilded_platelegs.png b/public/images/clue/hard-treasure-trails/gilded_platelegs.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_platelegs.png rename to public/images/clue/hard-treasure-trails/gilded_platelegs.png diff --git a/public/images/clue/hard_treasure_trails/gilded_plateskirt.png b/public/images/clue/hard-treasure-trails/gilded_plateskirt.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_plateskirt.png rename to public/images/clue/hard-treasure-trails/gilded_plateskirt.png diff --git a/public/images/clue/hard_treasure_trails/gilded_spear.png b/public/images/clue/hard-treasure-trails/gilded_spear.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_spear.png rename to public/images/clue/hard-treasure-trails/gilded_spear.png diff --git a/public/images/clue/hard_treasure_trails/gilded_sq_shield.png b/public/images/clue/hard-treasure-trails/gilded_sq_shield.png similarity index 100% rename from public/images/clue/hard_treasure_trails/gilded_sq_shield.png rename to public/images/clue/hard-treasure-trails/gilded_sq_shield.png diff --git a/public/images/clue/hard_treasure_trails/green_dragon_mask.png b/public/images/clue/hard-treasure-trails/green_dragon_mask.png similarity index 100% rename from public/images/clue/hard_treasure_trails/green_dragon_mask.png rename to public/images/clue/hard-treasure-trails/green_dragon_mask.png diff --git a/public/images/clue/hard_treasure_trails/guthix_bracers.png b/public/images/clue/hard-treasure-trails/guthix_bracers.png similarity index 100% rename from public/images/clue/hard_treasure_trails/guthix_bracers.png rename to public/images/clue/hard-treasure-trails/guthix_bracers.png diff --git a/public/images/clue/hard_treasure_trails/guthix_chaps.png b/public/images/clue/hard-treasure-trails/guthix_chaps.png similarity index 100% rename from public/images/clue/hard_treasure_trails/guthix_chaps.png rename to public/images/clue/hard-treasure-trails/guthix_chaps.png diff --git a/public/images/clue/hard_treasure_trails/guthix_coif.png b/public/images/clue/hard-treasure-trails/guthix_coif.png similarity index 100% rename from public/images/clue/hard_treasure_trails/guthix_coif.png rename to public/images/clue/hard-treasure-trails/guthix_coif.png diff --git a/public/images/clue/hard_treasure_trails/guthix_crozier.png b/public/images/clue/hard-treasure-trails/guthix_crozier.png similarity index 100% rename from public/images/clue/hard_treasure_trails/guthix_crozier.png rename to public/images/clue/hard-treasure-trails/guthix_crozier.png diff --git a/public/images/clue/hard_treasure_trails/guthix_full_helm.png b/public/images/clue/hard-treasure-trails/guthix_full_helm.png similarity index 100% rename from public/images/clue/hard_treasure_trails/guthix_full_helm.png rename to public/images/clue/hard-treasure-trails/guthix_full_helm.png diff --git a/public/images/clue/hard_treasure_trails/guthix_kiteshield.png b/public/images/clue/hard-treasure-trails/guthix_kiteshield.png similarity index 100% rename from public/images/clue/hard_treasure_trails/guthix_kiteshield.png rename to public/images/clue/hard-treasure-trails/guthix_kiteshield.png diff --git a/public/images/clue/hard_treasure_trails/guthix_platebody.png b/public/images/clue/hard-treasure-trails/guthix_platebody.png similarity index 100% rename from public/images/clue/hard_treasure_trails/guthix_platebody.png rename to public/images/clue/hard-treasure-trails/guthix_platebody.png diff --git a/public/images/clue/hard_treasure_trails/guthix_platelegs.png b/public/images/clue/hard-treasure-trails/guthix_platelegs.png similarity index 100% rename from public/images/clue/hard_treasure_trails/guthix_platelegs.png rename to public/images/clue/hard-treasure-trails/guthix_platelegs.png diff --git a/public/images/clue/hard_treasure_trails/guthix_plateskirt.png b/public/images/clue/hard-treasure-trails/guthix_plateskirt.png similarity index 100% rename from public/images/clue/hard_treasure_trails/guthix_plateskirt.png rename to public/images/clue/hard-treasure-trails/guthix_plateskirt.png diff --git a/public/images/clue/hard_treasure_trails/guthix_stole.png b/public/images/clue/hard-treasure-trails/guthix_stole.png similarity index 100% rename from public/images/clue/hard_treasure_trails/guthix_stole.png rename to public/images/clue/hard-treasure-trails/guthix_stole.png diff --git a/public/images/clue/hard_treasure_trails/magic_comp_bow.png b/public/images/clue/hard-treasure-trails/magic_comp_bow.png similarity index 100% rename from public/images/clue/hard_treasure_trails/magic_comp_bow.png rename to public/images/clue/hard-treasure-trails/magic_comp_bow.png diff --git a/public/images/clue/hard_treasure_trails/navy_cavalier.png b/public/images/clue/hard-treasure-trails/navy_cavalier.png similarity index 100% rename from public/images/clue/hard_treasure_trails/navy_cavalier.png rename to public/images/clue/hard-treasure-trails/navy_cavalier.png diff --git a/public/images/clue/hard_treasure_trails/nunchaku.png b/public/images/clue/hard-treasure-trails/nunchaku.png similarity index 100% rename from public/images/clue/hard_treasure_trails/nunchaku.png rename to public/images/clue/hard-treasure-trails/nunchaku.png diff --git a/public/images/clue/hard_treasure_trails/pith_helmet.png b/public/images/clue/hard-treasure-trails/pith_helmet.png similarity index 100% rename from public/images/clue/hard_treasure_trails/pith_helmet.png rename to public/images/clue/hard-treasure-trails/pith_helmet.png diff --git a/public/images/clue/hard_treasure_trails/red_cavalier.png b/public/images/clue/hard-treasure-trails/red_cavalier.png similarity index 100% rename from public/images/clue/hard_treasure_trails/red_cavalier.png rename to public/images/clue/hard-treasure-trails/red_cavalier.png diff --git a/public/images/clue/hard_treasure_trails/red_dragon_mask.png b/public/images/clue/hard-treasure-trails/red_dragon_mask.png similarity index 100% rename from public/images/clue/hard_treasure_trails/red_dragon_mask.png rename to public/images/clue/hard-treasure-trails/red_dragon_mask.png diff --git a/public/images/clue/hard_treasure_trails/robin_hood_hat.png b/public/images/clue/hard-treasure-trails/robin_hood_hat.png similarity index 100% rename from public/images/clue/hard_treasure_trails/robin_hood_hat.png rename to public/images/clue/hard-treasure-trails/robin_hood_hat.png diff --git a/public/images/clue/hard_treasure_trails/rune_cane.png b/public/images/clue/hard-treasure-trails/rune_cane.png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_cane.png rename to public/images/clue/hard-treasure-trails/rune_cane.png diff --git a/public/images/clue/hard_treasure_trails/rune_defender_ornament_kit.png b/public/images/clue/hard-treasure-trails/rune_defender_ornament_kit.png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_defender_ornament_kit.png rename to public/images/clue/hard-treasure-trails/rune_defender_ornament_kit.png diff --git a/public/images/clue/hard_treasure_trails/rune_full_helm_(g).png b/public/images/clue/hard-treasure-trails/rune_full_helm_(g).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_full_helm_(g).png rename to public/images/clue/hard-treasure-trails/rune_full_helm_(g).png diff --git a/public/images/clue/hard_treasure_trails/rune_full_helm_(t).png b/public/images/clue/hard-treasure-trails/rune_full_helm_(t).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_full_helm_(t).png rename to public/images/clue/hard-treasure-trails/rune_full_helm_(t).png diff --git a/public/images/clue/hard_treasure_trails/rune_helm_(h1).png b/public/images/clue/hard-treasure-trails/rune_helm_(h1).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_helm_(h1).png rename to public/images/clue/hard-treasure-trails/rune_helm_(h1).png diff --git a/public/images/clue/hard_treasure_trails/rune_helm_(h2).png b/public/images/clue/hard-treasure-trails/rune_helm_(h2).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_helm_(h2).png rename to public/images/clue/hard-treasure-trails/rune_helm_(h2).png diff --git a/public/images/clue/hard_treasure_trails/rune_helm_(h3).png b/public/images/clue/hard-treasure-trails/rune_helm_(h3).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_helm_(h3).png rename to public/images/clue/hard-treasure-trails/rune_helm_(h3).png diff --git a/public/images/clue/hard_treasure_trails/rune_helm_(h4).png b/public/images/clue/hard-treasure-trails/rune_helm_(h4).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_helm_(h4).png rename to public/images/clue/hard-treasure-trails/rune_helm_(h4).png diff --git a/public/images/clue/hard_treasure_trails/rune_helm_(h5).png b/public/images/clue/hard-treasure-trails/rune_helm_(h5).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_helm_(h5).png rename to public/images/clue/hard-treasure-trails/rune_helm_(h5).png diff --git a/public/images/clue/hard_treasure_trails/rune_kiteshield_(g).png b/public/images/clue/hard-treasure-trails/rune_kiteshield_(g).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_kiteshield_(g).png rename to public/images/clue/hard-treasure-trails/rune_kiteshield_(g).png diff --git a/public/images/clue/hard_treasure_trails/rune_kiteshield_(t).png b/public/images/clue/hard-treasure-trails/rune_kiteshield_(t).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_kiteshield_(t).png rename to public/images/clue/hard-treasure-trails/rune_kiteshield_(t).png diff --git a/public/images/clue/hard_treasure_trails/rune_platebody_(g).png b/public/images/clue/hard-treasure-trails/rune_platebody_(g).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_platebody_(g).png rename to public/images/clue/hard-treasure-trails/rune_platebody_(g).png diff --git a/public/images/clue/hard_treasure_trails/rune_platebody_(h1).png b/public/images/clue/hard-treasure-trails/rune_platebody_(h1).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_platebody_(h1).png rename to public/images/clue/hard-treasure-trails/rune_platebody_(h1).png diff --git a/public/images/clue/hard_treasure_trails/rune_platebody_(h2).png b/public/images/clue/hard-treasure-trails/rune_platebody_(h2).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_platebody_(h2).png rename to public/images/clue/hard-treasure-trails/rune_platebody_(h2).png diff --git a/public/images/clue/hard_treasure_trails/rune_platebody_(h3).png b/public/images/clue/hard-treasure-trails/rune_platebody_(h3).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_platebody_(h3).png rename to public/images/clue/hard-treasure-trails/rune_platebody_(h3).png diff --git a/public/images/clue/hard_treasure_trails/rune_platebody_(h4).png b/public/images/clue/hard-treasure-trails/rune_platebody_(h4).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_platebody_(h4).png rename to public/images/clue/hard-treasure-trails/rune_platebody_(h4).png diff --git a/public/images/clue/hard_treasure_trails/rune_platebody_(h5).png b/public/images/clue/hard-treasure-trails/rune_platebody_(h5).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_platebody_(h5).png rename to public/images/clue/hard-treasure-trails/rune_platebody_(h5).png diff --git a/public/images/clue/hard_treasure_trails/rune_platebody_(t).png b/public/images/clue/hard-treasure-trails/rune_platebody_(t).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_platebody_(t).png rename to public/images/clue/hard-treasure-trails/rune_platebody_(t).png diff --git a/public/images/clue/hard_treasure_trails/rune_platelegs_(g).png b/public/images/clue/hard-treasure-trails/rune_platelegs_(g).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_platelegs_(g).png rename to public/images/clue/hard-treasure-trails/rune_platelegs_(g).png diff --git a/public/images/clue/hard_treasure_trails/rune_platelegs_(t).png b/public/images/clue/hard-treasure-trails/rune_platelegs_(t).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_platelegs_(t).png rename to public/images/clue/hard-treasure-trails/rune_platelegs_(t).png diff --git a/public/images/clue/hard_treasure_trails/rune_plateskirt_(g).png b/public/images/clue/hard-treasure-trails/rune_plateskirt_(g).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_plateskirt_(g).png rename to public/images/clue/hard-treasure-trails/rune_plateskirt_(g).png diff --git a/public/images/clue/hard_treasure_trails/rune_plateskirt_(t).png b/public/images/clue/hard-treasure-trails/rune_plateskirt_(t).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_plateskirt_(t).png rename to public/images/clue/hard-treasure-trails/rune_plateskirt_(t).png diff --git a/public/images/clue/hard_treasure_trails/rune_shield_(h1).png b/public/images/clue/hard-treasure-trails/rune_shield_(h1).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_shield_(h1).png rename to public/images/clue/hard-treasure-trails/rune_shield_(h1).png diff --git a/public/images/clue/hard_treasure_trails/rune_shield_(h2).png b/public/images/clue/hard-treasure-trails/rune_shield_(h2).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_shield_(h2).png rename to public/images/clue/hard-treasure-trails/rune_shield_(h2).png diff --git a/public/images/clue/hard_treasure_trails/rune_shield_(h3).png b/public/images/clue/hard-treasure-trails/rune_shield_(h3).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_shield_(h3).png rename to public/images/clue/hard-treasure-trails/rune_shield_(h3).png diff --git a/public/images/clue/hard_treasure_trails/rune_shield_(h4).png b/public/images/clue/hard-treasure-trails/rune_shield_(h4).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_shield_(h4).png rename to public/images/clue/hard-treasure-trails/rune_shield_(h4).png diff --git a/public/images/clue/hard_treasure_trails/rune_shield_(h5).png b/public/images/clue/hard-treasure-trails/rune_shield_(h5).png similarity index 100% rename from public/images/clue/hard_treasure_trails/rune_shield_(h5).png rename to public/images/clue/hard-treasure-trails/rune_shield_(h5).png diff --git a/public/images/clue/hard_treasure_trails/saradomin_bracers.png b/public/images/clue/hard-treasure-trails/saradomin_bracers.png similarity index 100% rename from public/images/clue/hard_treasure_trails/saradomin_bracers.png rename to public/images/clue/hard-treasure-trails/saradomin_bracers.png diff --git a/public/images/clue/hard_treasure_trails/saradomin_chaps.png b/public/images/clue/hard-treasure-trails/saradomin_chaps.png similarity index 100% rename from public/images/clue/hard_treasure_trails/saradomin_chaps.png rename to public/images/clue/hard-treasure-trails/saradomin_chaps.png diff --git a/public/images/clue/hard_treasure_trails/saradomin_coif.png b/public/images/clue/hard-treasure-trails/saradomin_coif.png similarity index 100% rename from public/images/clue/hard_treasure_trails/saradomin_coif.png rename to public/images/clue/hard-treasure-trails/saradomin_coif.png diff --git a/public/images/clue/hard_treasure_trails/saradomin_crozier.png b/public/images/clue/hard-treasure-trails/saradomin_crozier.png similarity index 100% rename from public/images/clue/hard_treasure_trails/saradomin_crozier.png rename to public/images/clue/hard-treasure-trails/saradomin_crozier.png diff --git a/public/images/clue/hard_treasure_trails/saradomin_full_helm.png b/public/images/clue/hard-treasure-trails/saradomin_full_helm.png similarity index 100% rename from public/images/clue/hard_treasure_trails/saradomin_full_helm.png rename to public/images/clue/hard-treasure-trails/saradomin_full_helm.png diff --git a/public/images/clue/hard_treasure_trails/saradomin_kiteshield.png b/public/images/clue/hard-treasure-trails/saradomin_kiteshield.png similarity index 100% rename from public/images/clue/hard_treasure_trails/saradomin_kiteshield.png rename to public/images/clue/hard-treasure-trails/saradomin_kiteshield.png diff --git a/public/images/clue/hard_treasure_trails/saradomin_platebody.png b/public/images/clue/hard-treasure-trails/saradomin_platebody.png similarity index 100% rename from public/images/clue/hard_treasure_trails/saradomin_platebody.png rename to public/images/clue/hard-treasure-trails/saradomin_platebody.png diff --git a/public/images/clue/hard_treasure_trails/saradomin_platelegs.png b/public/images/clue/hard-treasure-trails/saradomin_platelegs.png similarity index 100% rename from public/images/clue/hard_treasure_trails/saradomin_platelegs.png rename to public/images/clue/hard-treasure-trails/saradomin_platelegs.png diff --git a/public/images/clue/hard_treasure_trails/saradomin_plateskirt.png b/public/images/clue/hard-treasure-trails/saradomin_plateskirt.png similarity index 100% rename from public/images/clue/hard_treasure_trails/saradomin_plateskirt.png rename to public/images/clue/hard-treasure-trails/saradomin_plateskirt.png diff --git a/public/images/clue/hard_treasure_trails/saradomin_stole.png b/public/images/clue/hard-treasure-trails/saradomin_stole.png similarity index 100% rename from public/images/clue/hard_treasure_trails/saradomin_stole.png rename to public/images/clue/hard-treasure-trails/saradomin_stole.png diff --git a/public/images/clue/hard_treasure_trails/tan_cavalier.png b/public/images/clue/hard-treasure-trails/tan_cavalier.png similarity index 100% rename from public/images/clue/hard_treasure_trails/tan_cavalier.png rename to public/images/clue/hard-treasure-trails/tan_cavalier.png diff --git a/public/images/clue/hard_treasure_trails/thieving_bag.png b/public/images/clue/hard-treasure-trails/thieving_bag.png similarity index 100% rename from public/images/clue/hard_treasure_trails/thieving_bag.png rename to public/images/clue/hard-treasure-trails/thieving_bag.png diff --git a/public/images/clue/hard_treasure_trails/white_cavalier.png b/public/images/clue/hard-treasure-trails/white_cavalier.png similarity index 100% rename from public/images/clue/hard_treasure_trails/white_cavalier.png rename to public/images/clue/hard-treasure-trails/white_cavalier.png diff --git a/public/images/clue/hard_treasure_trails/zamorak_bracers.png b/public/images/clue/hard-treasure-trails/zamorak_bracers.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zamorak_bracers.png rename to public/images/clue/hard-treasure-trails/zamorak_bracers.png diff --git a/public/images/clue/hard_treasure_trails/zamorak_chaps.png b/public/images/clue/hard-treasure-trails/zamorak_chaps.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zamorak_chaps.png rename to public/images/clue/hard-treasure-trails/zamorak_chaps.png diff --git a/public/images/clue/hard_treasure_trails/zamorak_coif.png b/public/images/clue/hard-treasure-trails/zamorak_coif.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zamorak_coif.png rename to public/images/clue/hard-treasure-trails/zamorak_coif.png diff --git a/public/images/clue/hard_treasure_trails/zamorak_crozier.png b/public/images/clue/hard-treasure-trails/zamorak_crozier.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zamorak_crozier.png rename to public/images/clue/hard-treasure-trails/zamorak_crozier.png diff --git a/public/images/clue/hard_treasure_trails/zamorak_full_helm.png b/public/images/clue/hard-treasure-trails/zamorak_full_helm.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zamorak_full_helm.png rename to public/images/clue/hard-treasure-trails/zamorak_full_helm.png diff --git a/public/images/clue/hard_treasure_trails/zamorak_kiteshield.png b/public/images/clue/hard-treasure-trails/zamorak_kiteshield.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zamorak_kiteshield.png rename to public/images/clue/hard-treasure-trails/zamorak_kiteshield.png diff --git a/public/images/clue/hard_treasure_trails/zamorak_platebody.png b/public/images/clue/hard-treasure-trails/zamorak_platebody.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zamorak_platebody.png rename to public/images/clue/hard-treasure-trails/zamorak_platebody.png diff --git a/public/images/clue/hard_treasure_trails/zamorak_platelegs.png b/public/images/clue/hard-treasure-trails/zamorak_platelegs.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zamorak_platelegs.png rename to public/images/clue/hard-treasure-trails/zamorak_platelegs.png diff --git a/public/images/clue/hard_treasure_trails/zamorak_plateskirt.png b/public/images/clue/hard-treasure-trails/zamorak_plateskirt.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zamorak_plateskirt.png rename to public/images/clue/hard-treasure-trails/zamorak_plateskirt.png diff --git a/public/images/clue/hard_treasure_trails/zamorak_stole.png b/public/images/clue/hard-treasure-trails/zamorak_stole.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zamorak_stole.png rename to public/images/clue/hard-treasure-trails/zamorak_stole.png diff --git a/public/images/clue/hard_treasure_trails/zombie_head.png b/public/images/clue/hard-treasure-trails/zombie_head.png similarity index 100% rename from public/images/clue/hard_treasure_trails/zombie_head.png rename to public/images/clue/hard-treasure-trails/zombie_head.png diff --git a/public/images/clue/master_treasure_trails.png b/public/images/clue/master-treasure-trails.png similarity index 100% rename from public/images/clue/master_treasure_trails.png rename to public/images/clue/master-treasure-trails.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_amulet.png b/public/images/clue/master-treasure-trails/3rd_age_amulet.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_amulet.png rename to public/images/clue/master-treasure-trails/3rd_age_amulet.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_axe.png b/public/images/clue/master-treasure-trails/3rd_age_axe.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_axe.png rename to public/images/clue/master-treasure-trails/3rd_age_axe.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_bow.png b/public/images/clue/master-treasure-trails/3rd_age_bow.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_bow.png rename to public/images/clue/master-treasure-trails/3rd_age_bow.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_cloak.png b/public/images/clue/master-treasure-trails/3rd_age_cloak.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_cloak.png rename to public/images/clue/master-treasure-trails/3rd_age_cloak.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_druidic_cloak.png b/public/images/clue/master-treasure-trails/3rd_age_druidic_cloak.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_druidic_cloak.png rename to public/images/clue/master-treasure-trails/3rd_age_druidic_cloak.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_druidic_robe_bottoms.png b/public/images/clue/master-treasure-trails/3rd_age_druidic_robe_bottoms.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_druidic_robe_bottoms.png rename to public/images/clue/master-treasure-trails/3rd_age_druidic_robe_bottoms.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_druidic_robe_top.png b/public/images/clue/master-treasure-trails/3rd_age_druidic_robe_top.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_druidic_robe_top.png rename to public/images/clue/master-treasure-trails/3rd_age_druidic_robe_top.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_druidic_staff.png b/public/images/clue/master-treasure-trails/3rd_age_druidic_staff.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_druidic_staff.png rename to public/images/clue/master-treasure-trails/3rd_age_druidic_staff.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_full_helmet.png b/public/images/clue/master-treasure-trails/3rd_age_full_helmet.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_full_helmet.png rename to public/images/clue/master-treasure-trails/3rd_age_full_helmet.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_kiteshield.png b/public/images/clue/master-treasure-trails/3rd_age_kiteshield.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_kiteshield.png rename to public/images/clue/master-treasure-trails/3rd_age_kiteshield.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_longsword.png b/public/images/clue/master-treasure-trails/3rd_age_longsword.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_longsword.png rename to public/images/clue/master-treasure-trails/3rd_age_longsword.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_mage_hat.png b/public/images/clue/master-treasure-trails/3rd_age_mage_hat.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_mage_hat.png rename to public/images/clue/master-treasure-trails/3rd_age_mage_hat.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_pickaxe.png b/public/images/clue/master-treasure-trails/3rd_age_pickaxe.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_pickaxe.png rename to public/images/clue/master-treasure-trails/3rd_age_pickaxe.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_platebody.png b/public/images/clue/master-treasure-trails/3rd_age_platebody.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_platebody.png rename to public/images/clue/master-treasure-trails/3rd_age_platebody.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_platelegs.png b/public/images/clue/master-treasure-trails/3rd_age_platelegs.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_platelegs.png rename to public/images/clue/master-treasure-trails/3rd_age_platelegs.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_plateskirt.png b/public/images/clue/master-treasure-trails/3rd_age_plateskirt.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_plateskirt.png rename to public/images/clue/master-treasure-trails/3rd_age_plateskirt.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_range_coif.png b/public/images/clue/master-treasure-trails/3rd_age_range_coif.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_range_coif.png rename to public/images/clue/master-treasure-trails/3rd_age_range_coif.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_range_legs.png b/public/images/clue/master-treasure-trails/3rd_age_range_legs.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_range_legs.png rename to public/images/clue/master-treasure-trails/3rd_age_range_legs.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_range_top.png b/public/images/clue/master-treasure-trails/3rd_age_range_top.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_range_top.png rename to public/images/clue/master-treasure-trails/3rd_age_range_top.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_robe.png b/public/images/clue/master-treasure-trails/3rd_age_robe.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_robe.png rename to public/images/clue/master-treasure-trails/3rd_age_robe.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_robe_top.png b/public/images/clue/master-treasure-trails/3rd_age_robe_top.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_robe_top.png rename to public/images/clue/master-treasure-trails/3rd_age_robe_top.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_vambraces.png b/public/images/clue/master-treasure-trails/3rd_age_vambraces.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_vambraces.png rename to public/images/clue/master-treasure-trails/3rd_age_vambraces.png diff --git a/public/images/clue/master_treasure_trails/3rd_age_wand.png b/public/images/clue/master-treasure-trails/3rd_age_wand.png similarity index 100% rename from public/images/clue/master_treasure_trails/3rd_age_wand.png rename to public/images/clue/master-treasure-trails/3rd_age_wand.png diff --git a/public/images/clue/master_treasure_trails/ale_of_the_gods.png b/public/images/clue/master-treasure-trails/ale_of_the_gods.png similarity index 100% rename from public/images/clue/master_treasure_trails/ale_of_the_gods.png rename to public/images/clue/master-treasure-trails/ale_of_the_gods.png diff --git a/public/images/clue/master_treasure_trails/anguish_ornament_kit.png b/public/images/clue/master-treasure-trails/anguish_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/anguish_ornament_kit.png rename to public/images/clue/master-treasure-trails/anguish_ornament_kit.png diff --git a/public/images/clue/master_treasure_trails/ankou_gloves.png b/public/images/clue/master-treasure-trails/ankou_gloves.png similarity index 100% rename from public/images/clue/master_treasure_trails/ankou_gloves.png rename to public/images/clue/master-treasure-trails/ankou_gloves.png diff --git a/public/images/clue/master_treasure_trails/ankou_mask.png b/public/images/clue/master-treasure-trails/ankou_mask.png similarity index 100% rename from public/images/clue/master_treasure_trails/ankou_mask.png rename to public/images/clue/master-treasure-trails/ankou_mask.png diff --git a/public/images/clue/master_treasure_trails/ankou_socks.png b/public/images/clue/master-treasure-trails/ankou_socks.png similarity index 100% rename from public/images/clue/master_treasure_trails/ankou_socks.png rename to public/images/clue/master-treasure-trails/ankou_socks.png diff --git a/public/images/clue/master_treasure_trails/ankou_top.png b/public/images/clue/master-treasure-trails/ankou_top.png similarity index 100% rename from public/images/clue/master_treasure_trails/ankou_top.png rename to public/images/clue/master-treasure-trails/ankou_top.png diff --git a/public/images/clue/master_treasure_trails/arceuus_hood.png b/public/images/clue/master-treasure-trails/arceuus_hood.png similarity index 100% rename from public/images/clue/master_treasure_trails/arceuus_hood.png rename to public/images/clue/master-treasure-trails/arceuus_hood.png diff --git a/public/images/clue/master_treasure_trails/armadyl_godsword_ornament_kit.png b/public/images/clue/master-treasure-trails/armadyl_godsword_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/armadyl_godsword_ornament_kit.png rename to public/images/clue/master-treasure-trails/armadyl_godsword_ornament_kit.png diff --git a/public/images/clue/master_treasure_trails/bandos_godsword_ornament_kit.png b/public/images/clue/master-treasure-trails/bandos_godsword_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/bandos_godsword_ornament_kit.png rename to public/images/clue/master-treasure-trails/bandos_godsword_ornament_kit.png diff --git a/public/images/clue/master_treasure_trails/black_demon_mask.png b/public/images/clue/master-treasure-trails/black_demon_mask.png similarity index 100% rename from public/images/clue/master_treasure_trails/black_demon_mask.png rename to public/images/clue/master-treasure-trails/black_demon_mask.png diff --git a/public/images/clue/master_treasure_trails/bloodhound.png b/public/images/clue/master-treasure-trails/bloodhound.png similarity index 100% rename from public/images/clue/master_treasure_trails/bloodhound.png rename to public/images/clue/master-treasure-trails/bloodhound.png diff --git a/public/images/clue/master_treasure_trails/boots_of_darkness.png b/public/images/clue/master-treasure-trails/boots_of_darkness.png similarity index 100% rename from public/images/clue/master_treasure_trails/boots_of_darkness.png rename to public/images/clue/master-treasure-trails/boots_of_darkness.png diff --git a/public/images/clue/master_treasure_trails/bowl_wig.png b/public/images/clue/master-treasure-trails/bowl_wig.png similarity index 100% rename from public/images/clue/master_treasure_trails/bowl_wig.png rename to public/images/clue/master-treasure-trails/bowl_wig.png diff --git a/public/images/clue/master_treasure_trails/bucket_helm_(g).png b/public/images/clue/master-treasure-trails/bucket_helm_(g).png similarity index 100% rename from public/images/clue/master_treasure_trails/bucket_helm_(g).png rename to public/images/clue/master-treasure-trails/bucket_helm_(g).png diff --git a/public/images/clue/master_treasure_trails/dragon_defender_ornament_kit.png b/public/images/clue/master-treasure-trails/dragon_defender_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/dragon_defender_ornament_kit.png rename to public/images/clue/master-treasure-trails/dragon_defender_ornament_kit.png diff --git a/public/images/clue/master_treasure_trails/dragon_kiteshield_ornament_kit.png b/public/images/clue/master-treasure-trails/dragon_kiteshield_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/dragon_kiteshield_ornament_kit.png rename to public/images/clue/master-treasure-trails/dragon_kiteshield_ornament_kit.png diff --git a/public/images/clue/master_treasure_trails/dragon_platebody_ornament_kit.png b/public/images/clue/master-treasure-trails/dragon_platebody_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/dragon_platebody_ornament_kit.png rename to public/images/clue/master-treasure-trails/dragon_platebody_ornament_kit.png diff --git a/public/images/clue/master_treasure_trails/fancy_tiara.png b/public/images/clue/master-treasure-trails/fancy_tiara.png similarity index 100% rename from public/images/clue/master_treasure_trails/fancy_tiara.png rename to public/images/clue/master-treasure-trails/fancy_tiara.png diff --git a/public/images/clue/master_treasure_trails/gilded_2h_sword.png b/public/images/clue/master-treasure-trails/gilded_2h_sword.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_2h_sword.png rename to public/images/clue/master-treasure-trails/gilded_2h_sword.png diff --git a/public/images/clue/master_treasure_trails/gilded_axe.png b/public/images/clue/master-treasure-trails/gilded_axe.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_axe.png rename to public/images/clue/master-treasure-trails/gilded_axe.png diff --git a/public/images/clue/master_treasure_trails/gilded_boots.png b/public/images/clue/master-treasure-trails/gilded_boots.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_boots.png rename to public/images/clue/master-treasure-trails/gilded_boots.png diff --git a/public/images/clue/master_treasure_trails/gilded_chainbody.png b/public/images/clue/master-treasure-trails/gilded_chainbody.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_chainbody.png rename to public/images/clue/master-treasure-trails/gilded_chainbody.png diff --git a/public/images/clue/master_treasure_trails/gilded_coif.png b/public/images/clue/master-treasure-trails/gilded_coif.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_coif.png rename to public/images/clue/master-treasure-trails/gilded_coif.png diff --git a/public/images/clue/master_treasure_trails/gilded_full_helm.png b/public/images/clue/master-treasure-trails/gilded_full_helm.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_full_helm.png rename to public/images/clue/master-treasure-trails/gilded_full_helm.png diff --git a/public/images/clue/master_treasure_trails/gilded_hasta.png b/public/images/clue/master-treasure-trails/gilded_hasta.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_hasta.png rename to public/images/clue/master-treasure-trails/gilded_hasta.png diff --git a/public/images/clue/master_treasure_trails/gilded_kiteshield.png b/public/images/clue/master-treasure-trails/gilded_kiteshield.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_kiteshield.png rename to public/images/clue/master-treasure-trails/gilded_kiteshield.png diff --git a/public/images/clue/master_treasure_trails/gilded_med_helm.png b/public/images/clue/master-treasure-trails/gilded_med_helm.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_med_helm.png rename to public/images/clue/master-treasure-trails/gilded_med_helm.png diff --git a/public/images/clue/master_treasure_trails/gilded_pickaxe.png b/public/images/clue/master-treasure-trails/gilded_pickaxe.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_pickaxe.png rename to public/images/clue/master-treasure-trails/gilded_pickaxe.png diff --git a/public/images/clue/master_treasure_trails/gilded_platebody.png b/public/images/clue/master-treasure-trails/gilded_platebody.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_platebody.png rename to public/images/clue/master-treasure-trails/gilded_platebody.png diff --git a/public/images/clue/master_treasure_trails/gilded_platelegs.png b/public/images/clue/master-treasure-trails/gilded_platelegs.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_platelegs.png rename to public/images/clue/master-treasure-trails/gilded_platelegs.png diff --git a/public/images/clue/master_treasure_trails/gilded_plateskirt.png b/public/images/clue/master-treasure-trails/gilded_plateskirt.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_plateskirt.png rename to public/images/clue/master-treasure-trails/gilded_plateskirt.png diff --git a/public/images/clue/master_treasure_trails/gilded_scimitar.png b/public/images/clue/master-treasure-trails/gilded_scimitar.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_scimitar.png rename to public/images/clue/master-treasure-trails/gilded_scimitar.png diff --git a/public/images/clue/master_treasure_trails/gilded_spade.png b/public/images/clue/master-treasure-trails/gilded_spade.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_spade.png rename to public/images/clue/master-treasure-trails/gilded_spade.png diff --git a/public/images/clue/master_treasure_trails/gilded_spear.png b/public/images/clue/master-treasure-trails/gilded_spear.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_spear.png rename to public/images/clue/master-treasure-trails/gilded_spear.png diff --git a/public/images/clue/master_treasure_trails/gilded_sq_shield.png b/public/images/clue/master-treasure-trails/gilded_sq_shield.png similarity index 100% rename from public/images/clue/master_treasure_trails/gilded_sq_shield.png rename to public/images/clue/master-treasure-trails/gilded_sq_shield.png diff --git a/public/images/clue/master_treasure_trails/gloves_of_darkness.png b/public/images/clue/master-treasure-trails/gloves_of_darkness.png similarity index 100% rename from public/images/clue/master_treasure_trails/gloves_of_darkness.png rename to public/images/clue/master-treasure-trails/gloves_of_darkness.png diff --git a/public/images/clue/master_treasure_trails/greater_demon_mask.png b/public/images/clue/master-treasure-trails/greater_demon_mask.png similarity index 100% rename from public/images/clue/master_treasure_trails/greater_demon_mask.png rename to public/images/clue/master-treasure-trails/greater_demon_mask.png diff --git a/public/images/clue/master_treasure_trails/half_moon_spectacles.png b/public/images/clue/master-treasure-trails/half_moon_spectacles.png similarity index 100% rename from public/images/clue/master_treasure_trails/half_moon_spectacles.png rename to public/images/clue/master-treasure-trails/half_moon_spectacles.png diff --git a/public/images/clue/master_treasure_trails/hood_of_darkness.png b/public/images/clue/master-treasure-trails/hood_of_darkness.png similarity index 100% rename from public/images/clue/master_treasure_trails/hood_of_darkness.png rename to public/images/clue/master-treasure-trails/hood_of_darkness.png diff --git a/public/images/clue/master_treasure_trails/hosidius_hood.png b/public/images/clue/master-treasure-trails/hosidius_hood.png similarity index 100% rename from public/images/clue/master_treasure_trails/hosidius_hood.png rename to public/images/clue/master-treasure-trails/hosidius_hood.png diff --git a/public/images/clue/master_treasure_trails/jungle_demon_mask.png b/public/images/clue/master-treasure-trails/jungle_demon_mask.png similarity index 100% rename from public/images/clue/master_treasure_trails/jungle_demon_mask.png rename to public/images/clue/master-treasure-trails/jungle_demon_mask.png diff --git a/public/images/clue/master_treasure_trails/left_eye_patch.png b/public/images/clue/master-treasure-trails/left_eye_patch.png similarity index 100% rename from public/images/clue/master_treasure_trails/left_eye_patch.png rename to public/images/clue/master-treasure-trails/left_eye_patch.png diff --git a/public/images/clue/master_treasure_trails/lesser_demon_mask.png b/public/images/clue/master-treasure-trails/lesser_demon_mask.png similarity index 100% rename from public/images/clue/master_treasure_trails/lesser_demon_mask.png rename to public/images/clue/master-treasure-trails/lesser_demon_mask.png diff --git a/public/images/clue/master_treasure_trails/lovakengj_hood.png b/public/images/clue/master-treasure-trails/lovakengj_hood.png similarity index 100% rename from public/images/clue/master_treasure_trails/lovakengj_hood.png rename to public/images/clue/master-treasure-trails/lovakengj_hood.png diff --git a/public/images/clue/master_treasure_trails/obsidian_cape_(r).png b/public/images/clue/master-treasure-trails/obsidian_cape_(r).png similarity index 100% rename from public/images/clue/master_treasure_trails/obsidian_cape_(r).png rename to public/images/clue/master-treasure-trails/obsidian_cape_(r).png diff --git a/public/images/clue/master_treasure_trails/occult_ornament_kit.png b/public/images/clue/master-treasure-trails/occult_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/occult_ornament_kit.png rename to public/images/clue/master-treasure-trails/occult_ornament_kit.png diff --git a/public/images/clue/master_treasure_trails/old_demon_mask.png b/public/images/clue/master-treasure-trails/old_demon_mask.png similarity index 100% rename from public/images/clue/master_treasure_trails/old_demon_mask.png rename to public/images/clue/master-treasure-trails/old_demon_mask.png diff --git a/public/images/clue/master_treasure_trails/piscarilius_hood.png b/public/images/clue/master-treasure-trails/piscarilius_hood.png similarity index 100% rename from public/images/clue/master_treasure_trails/piscarilius_hood.png rename to public/images/clue/master-treasure-trails/piscarilius_hood.png diff --git a/public/images/clue/master_treasure_trails/ring_of_3rd_age.png b/public/images/clue/master-treasure-trails/ring_of_3rd_age.png similarity index 100% rename from public/images/clue/master_treasure_trails/ring_of_3rd_age.png rename to public/images/clue/master-treasure-trails/ring_of_3rd_age.png diff --git a/public/images/clue/master_treasure_trails/ring_of_coins.png b/public/images/clue/master-treasure-trails/ring_of_coins.png similarity index 100% rename from public/images/clue/master_treasure_trails/ring_of_coins.png rename to public/images/clue/master-treasure-trails/ring_of_coins.png diff --git a/public/images/clue/master_treasure_trails/robe_bottom_of_darkness.png b/public/images/clue/master-treasure-trails/robe_bottom_of_darkness.png similarity index 100% rename from public/images/clue/master_treasure_trails/robe_bottom_of_darkness.png rename to public/images/clue/master-treasure-trails/robe_bottom_of_darkness.png diff --git a/public/images/clue/master_treasure_trails/robe_top_of_darkness.png b/public/images/clue/master-treasure-trails/robe_top_of_darkness.png similarity index 100% rename from public/images/clue/master_treasure_trails/robe_top_of_darkness.png rename to public/images/clue/master-treasure-trails/robe_top_of_darkness.png diff --git a/public/images/clue/master_treasure_trails/samurai_boots.png b/public/images/clue/master-treasure-trails/samurai_boots.png similarity index 100% rename from public/images/clue/master_treasure_trails/samurai_boots.png rename to public/images/clue/master-treasure-trails/samurai_boots.png diff --git a/public/images/clue/master_treasure_trails/samurai_gloves.png b/public/images/clue/master-treasure-trails/samurai_gloves.png similarity index 100% rename from public/images/clue/master_treasure_trails/samurai_gloves.png rename to public/images/clue/master-treasure-trails/samurai_gloves.png diff --git a/public/images/clue/master_treasure_trails/samurai_greaves.png b/public/images/clue/master-treasure-trails/samurai_greaves.png similarity index 100% rename from public/images/clue/master_treasure_trails/samurai_greaves.png rename to public/images/clue/master-treasure-trails/samurai_greaves.png diff --git a/public/images/clue/master_treasure_trails/samurai_kasa.png b/public/images/clue/master-treasure-trails/samurai_kasa.png similarity index 100% rename from public/images/clue/master_treasure_trails/samurai_kasa.png rename to public/images/clue/master-treasure-trails/samurai_kasa.png diff --git a/public/images/clue/master_treasure_trails/samurai_shirt.png b/public/images/clue/master-treasure-trails/samurai_shirt.png similarity index 100% rename from public/images/clue/master_treasure_trails/samurai_shirt.png rename to public/images/clue/master-treasure-trails/samurai_shirt.png diff --git a/public/images/clue/master_treasure_trails/saradomin_godsword_ornament_kit.png b/public/images/clue/master-treasure-trails/saradomin_godsword_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/saradomin_godsword_ornament_kit.png rename to public/images/clue/master-treasure-trails/saradomin_godsword_ornament_kit.png diff --git a/public/images/clue/master_treasure_trails/shayzien_hood.png b/public/images/clue/master-treasure-trails/shayzien_hood.png similarity index 100% rename from public/images/clue/master_treasure_trails/shayzien_hood.png rename to public/images/clue/master-treasure-trails/shayzien_hood.png diff --git a/public/images/clue/master_treasure_trails/tormented_ornament_kit.png b/public/images/clue/master-treasure-trails/tormented_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/tormented_ornament_kit.png rename to public/images/clue/master-treasure-trails/tormented_ornament_kit.png diff --git a/public/images/clue/master_treasure_trails/torture_ornament_kit.png b/public/images/clue/master-treasure-trails/torture_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/torture_ornament_kit.png rename to public/images/clue/master-treasure-trails/torture_ornament_kit.png diff --git a/public/images/clue/master_treasure_trails/zamorak_godsword_ornament_kit.png b/public/images/clue/master-treasure-trails/zamorak_godsword_ornament_kit.png similarity index 100% rename from public/images/clue/master_treasure_trails/zamorak_godsword_ornament_kit.png rename to public/images/clue/master-treasure-trails/zamorak_godsword_ornament_kit.png diff --git a/public/images/clue/medium_treasure_trails.png b/public/images/clue/medium-treasure-trails.png similarity index 100% rename from public/images/clue/medium_treasure_trails.png rename to public/images/clue/medium-treasure-trails.png diff --git a/public/images/clue/medium_treasure_trails/adamant_cane.png b/public/images/clue/medium-treasure-trails/adamant_cane.png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_cane.png rename to public/images/clue/medium-treasure-trails/adamant_cane.png diff --git a/public/images/clue/medium_treasure_trails/adamant_full_helm_(g).png b/public/images/clue/medium-treasure-trails/adamant_full_helm_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_full_helm_(g).png rename to public/images/clue/medium-treasure-trails/adamant_full_helm_(g).png diff --git a/public/images/clue/medium_treasure_trails/adamant_full_helm_(t).png b/public/images/clue/medium-treasure-trails/adamant_full_helm_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_full_helm_(t).png rename to public/images/clue/medium-treasure-trails/adamant_full_helm_(t).png diff --git a/public/images/clue/medium_treasure_trails/adamant_helm_(h1).png b/public/images/clue/medium-treasure-trails/adamant_helm_(h1).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_helm_(h1).png rename to public/images/clue/medium-treasure-trails/adamant_helm_(h1).png diff --git a/public/images/clue/medium_treasure_trails/adamant_helm_(h2).png b/public/images/clue/medium-treasure-trails/adamant_helm_(h2).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_helm_(h2).png rename to public/images/clue/medium-treasure-trails/adamant_helm_(h2).png diff --git a/public/images/clue/medium_treasure_trails/adamant_helm_(h3).png b/public/images/clue/medium-treasure-trails/adamant_helm_(h3).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_helm_(h3).png rename to public/images/clue/medium-treasure-trails/adamant_helm_(h3).png diff --git a/public/images/clue/medium_treasure_trails/adamant_helm_(h4).png b/public/images/clue/medium-treasure-trails/adamant_helm_(h4).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_helm_(h4).png rename to public/images/clue/medium-treasure-trails/adamant_helm_(h4).png diff --git a/public/images/clue/medium_treasure_trails/adamant_helm_(h5).png b/public/images/clue/medium-treasure-trails/adamant_helm_(h5).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_helm_(h5).png rename to public/images/clue/medium-treasure-trails/adamant_helm_(h5).png diff --git a/public/images/clue/medium_treasure_trails/adamant_kiteshield_(g).png b/public/images/clue/medium-treasure-trails/adamant_kiteshield_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_kiteshield_(g).png rename to public/images/clue/medium-treasure-trails/adamant_kiteshield_(g).png diff --git a/public/images/clue/medium_treasure_trails/adamant_kiteshield_(t).png b/public/images/clue/medium-treasure-trails/adamant_kiteshield_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_kiteshield_(t).png rename to public/images/clue/medium-treasure-trails/adamant_kiteshield_(t).png diff --git a/public/images/clue/medium_treasure_trails/adamant_platebody_(g).png b/public/images/clue/medium-treasure-trails/adamant_platebody_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_platebody_(g).png rename to public/images/clue/medium-treasure-trails/adamant_platebody_(g).png diff --git a/public/images/clue/medium_treasure_trails/adamant_platebody_(h1).png b/public/images/clue/medium-treasure-trails/adamant_platebody_(h1).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_platebody_(h1).png rename to public/images/clue/medium-treasure-trails/adamant_platebody_(h1).png diff --git a/public/images/clue/medium_treasure_trails/adamant_platebody_(h2).png b/public/images/clue/medium-treasure-trails/adamant_platebody_(h2).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_platebody_(h2).png rename to public/images/clue/medium-treasure-trails/adamant_platebody_(h2).png diff --git a/public/images/clue/medium_treasure_trails/adamant_platebody_(h3).png b/public/images/clue/medium-treasure-trails/adamant_platebody_(h3).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_platebody_(h3).png rename to public/images/clue/medium-treasure-trails/adamant_platebody_(h3).png diff --git a/public/images/clue/medium_treasure_trails/adamant_platebody_(h4).png b/public/images/clue/medium-treasure-trails/adamant_platebody_(h4).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_platebody_(h4).png rename to public/images/clue/medium-treasure-trails/adamant_platebody_(h4).png diff --git a/public/images/clue/medium_treasure_trails/adamant_platebody_(h5).png b/public/images/clue/medium-treasure-trails/adamant_platebody_(h5).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_platebody_(h5).png rename to public/images/clue/medium-treasure-trails/adamant_platebody_(h5).png diff --git a/public/images/clue/medium_treasure_trails/adamant_platebody_(t).png b/public/images/clue/medium-treasure-trails/adamant_platebody_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_platebody_(t).png rename to public/images/clue/medium-treasure-trails/adamant_platebody_(t).png diff --git a/public/images/clue/medium_treasure_trails/adamant_platelegs_(g).png b/public/images/clue/medium-treasure-trails/adamant_platelegs_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_platelegs_(g).png rename to public/images/clue/medium-treasure-trails/adamant_platelegs_(g).png diff --git a/public/images/clue/medium_treasure_trails/adamant_platelegs_(t).png b/public/images/clue/medium-treasure-trails/adamant_platelegs_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_platelegs_(t).png rename to public/images/clue/medium-treasure-trails/adamant_platelegs_(t).png diff --git a/public/images/clue/medium_treasure_trails/adamant_plateskirt_(g).png b/public/images/clue/medium-treasure-trails/adamant_plateskirt_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_plateskirt_(g).png rename to public/images/clue/medium-treasure-trails/adamant_plateskirt_(g).png diff --git a/public/images/clue/medium_treasure_trails/adamant_plateskirt_(t).png b/public/images/clue/medium-treasure-trails/adamant_plateskirt_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_plateskirt_(t).png rename to public/images/clue/medium-treasure-trails/adamant_plateskirt_(t).png diff --git a/public/images/clue/medium_treasure_trails/adamant_shield_(h1).png b/public/images/clue/medium-treasure-trails/adamant_shield_(h1).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_shield_(h1).png rename to public/images/clue/medium-treasure-trails/adamant_shield_(h1).png diff --git a/public/images/clue/medium_treasure_trails/adamant_shield_(h2).png b/public/images/clue/medium-treasure-trails/adamant_shield_(h2).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_shield_(h2).png rename to public/images/clue/medium-treasure-trails/adamant_shield_(h2).png diff --git a/public/images/clue/medium_treasure_trails/adamant_shield_(h3).png b/public/images/clue/medium-treasure-trails/adamant_shield_(h3).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_shield_(h3).png rename to public/images/clue/medium-treasure-trails/adamant_shield_(h3).png diff --git a/public/images/clue/medium_treasure_trails/adamant_shield_(h4).png b/public/images/clue/medium-treasure-trails/adamant_shield_(h4).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_shield_(h4).png rename to public/images/clue/medium-treasure-trails/adamant_shield_(h4).png diff --git a/public/images/clue/medium_treasure_trails/adamant_shield_(h5).png b/public/images/clue/medium-treasure-trails/adamant_shield_(h5).png similarity index 100% rename from public/images/clue/medium_treasure_trails/adamant_shield_(h5).png rename to public/images/clue/medium-treasure-trails/adamant_shield_(h5).png diff --git a/public/images/clue/medium_treasure_trails/ancient_cloak.png b/public/images/clue/medium-treasure-trails/ancient_cloak.png similarity index 100% rename from public/images/clue/medium_treasure_trails/ancient_cloak.png rename to public/images/clue/medium-treasure-trails/ancient_cloak.png diff --git a/public/images/clue/medium_treasure_trails/ancient_crozier.png b/public/images/clue/medium-treasure-trails/ancient_crozier.png similarity index 100% rename from public/images/clue/medium_treasure_trails/ancient_crozier.png rename to public/images/clue/medium-treasure-trails/ancient_crozier.png diff --git a/public/images/clue/medium_treasure_trails/ancient_mitre.png b/public/images/clue/medium-treasure-trails/ancient_mitre.png similarity index 100% rename from public/images/clue/medium_treasure_trails/ancient_mitre.png rename to public/images/clue/medium-treasure-trails/ancient_mitre.png diff --git a/public/images/clue/medium_treasure_trails/ancient_stole.png b/public/images/clue/medium-treasure-trails/ancient_stole.png similarity index 100% rename from public/images/clue/medium_treasure_trails/ancient_stole.png rename to public/images/clue/medium-treasure-trails/ancient_stole.png diff --git a/public/images/clue/medium_treasure_trails/arceuus_banner.png b/public/images/clue/medium-treasure-trails/arceuus_banner.png similarity index 100% rename from public/images/clue/medium_treasure_trails/arceuus_banner.png rename to public/images/clue/medium-treasure-trails/arceuus_banner.png diff --git a/public/images/clue/medium_treasure_trails/armadyl_cloak.png b/public/images/clue/medium-treasure-trails/armadyl_cloak.png similarity index 100% rename from public/images/clue/medium_treasure_trails/armadyl_cloak.png rename to public/images/clue/medium-treasure-trails/armadyl_cloak.png diff --git a/public/images/clue/medium_treasure_trails/armadyl_crozier.png b/public/images/clue/medium-treasure-trails/armadyl_crozier.png similarity index 100% rename from public/images/clue/medium_treasure_trails/armadyl_crozier.png rename to public/images/clue/medium-treasure-trails/armadyl_crozier.png diff --git a/public/images/clue/medium_treasure_trails/armadyl_mitre.png b/public/images/clue/medium-treasure-trails/armadyl_mitre.png similarity index 100% rename from public/images/clue/medium_treasure_trails/armadyl_mitre.png rename to public/images/clue/medium-treasure-trails/armadyl_mitre.png diff --git a/public/images/clue/medium_treasure_trails/armadyl_stole.png b/public/images/clue/medium-treasure-trails/armadyl_stole.png similarity index 100% rename from public/images/clue/medium_treasure_trails/armadyl_stole.png rename to public/images/clue/medium-treasure-trails/armadyl_stole.png diff --git a/public/images/clue/medium_treasure_trails/bandos_cloak.png b/public/images/clue/medium-treasure-trails/bandos_cloak.png similarity index 100% rename from public/images/clue/medium_treasure_trails/bandos_cloak.png rename to public/images/clue/medium-treasure-trails/bandos_cloak.png diff --git a/public/images/clue/medium_treasure_trails/bandos_crozier.png b/public/images/clue/medium-treasure-trails/bandos_crozier.png similarity index 100% rename from public/images/clue/medium_treasure_trails/bandos_crozier.png rename to public/images/clue/medium-treasure-trails/bandos_crozier.png diff --git a/public/images/clue/medium_treasure_trails/bandos_mitre.png b/public/images/clue/medium-treasure-trails/bandos_mitre.png similarity index 100% rename from public/images/clue/medium_treasure_trails/bandos_mitre.png rename to public/images/clue/medium-treasure-trails/bandos_mitre.png diff --git a/public/images/clue/medium_treasure_trails/bandos_stole.png b/public/images/clue/medium-treasure-trails/bandos_stole.png similarity index 100% rename from public/images/clue/medium_treasure_trails/bandos_stole.png rename to public/images/clue/medium-treasure-trails/bandos_stole.png diff --git a/public/images/clue/medium_treasure_trails/black_boater.png b/public/images/clue/medium-treasure-trails/black_boater.png similarity index 100% rename from public/images/clue/medium_treasure_trails/black_boater.png rename to public/images/clue/medium-treasure-trails/black_boater.png diff --git a/public/images/clue/medium_treasure_trails/black_elegant_legs.png b/public/images/clue/medium-treasure-trails/black_elegant_legs.png similarity index 100% rename from public/images/clue/medium_treasure_trails/black_elegant_legs.png rename to public/images/clue/medium-treasure-trails/black_elegant_legs.png diff --git a/public/images/clue/medium_treasure_trails/black_elegant_shirt.png b/public/images/clue/medium-treasure-trails/black_elegant_shirt.png similarity index 100% rename from public/images/clue/medium_treasure_trails/black_elegant_shirt.png rename to public/images/clue/medium-treasure-trails/black_elegant_shirt.png diff --git a/public/images/clue/medium_treasure_trails/black_headband.png b/public/images/clue/medium-treasure-trails/black_headband.png similarity index 100% rename from public/images/clue/medium_treasure_trails/black_headband.png rename to public/images/clue/medium-treasure-trails/black_headband.png diff --git a/public/images/clue/medium_treasure_trails/black_leprechaun_hat.png b/public/images/clue/medium-treasure-trails/black_leprechaun_hat.png similarity index 100% rename from public/images/clue/medium_treasure_trails/black_leprechaun_hat.png rename to public/images/clue/medium-treasure-trails/black_leprechaun_hat.png diff --git a/public/images/clue/medium_treasure_trails/black_unicorn_mask.png b/public/images/clue/medium-treasure-trails/black_unicorn_mask.png similarity index 100% rename from public/images/clue/medium_treasure_trails/black_unicorn_mask.png rename to public/images/clue/medium-treasure-trails/black_unicorn_mask.png diff --git a/public/images/clue/medium_treasure_trails/blue_boater.png b/public/images/clue/medium-treasure-trails/blue_boater.png similarity index 100% rename from public/images/clue/medium_treasure_trails/blue_boater.png rename to public/images/clue/medium-treasure-trails/blue_boater.png diff --git a/public/images/clue/medium_treasure_trails/blue_headband.png b/public/images/clue/medium-treasure-trails/blue_headband.png similarity index 100% rename from public/images/clue/medium_treasure_trails/blue_headband.png rename to public/images/clue/medium-treasure-trails/blue_headband.png diff --git a/public/images/clue/medium_treasure_trails/brown_headband.png b/public/images/clue/medium-treasure-trails/brown_headband.png similarity index 100% rename from public/images/clue/medium_treasure_trails/brown_headband.png rename to public/images/clue/medium-treasure-trails/brown_headband.png diff --git a/public/images/clue/medium_treasure_trails/cabbage_round_shield.png b/public/images/clue/medium-treasure-trails/cabbage_round_shield.png similarity index 100% rename from public/images/clue/medium_treasure_trails/cabbage_round_shield.png rename to public/images/clue/medium-treasure-trails/cabbage_round_shield.png diff --git a/public/images/clue/medium_treasure_trails/cat_mask.png b/public/images/clue/medium-treasure-trails/cat_mask.png similarity index 100% rename from public/images/clue/medium_treasure_trails/cat_mask.png rename to public/images/clue/medium-treasure-trails/cat_mask.png diff --git a/public/images/clue/medium_treasure_trails/climbing_boots_(g).png b/public/images/clue/medium-treasure-trails/climbing_boots_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/climbing_boots_(g).png rename to public/images/clue/medium-treasure-trails/climbing_boots_(g).png diff --git a/public/images/clue/medium_treasure_trails/crier_bell.png b/public/images/clue/medium-treasure-trails/crier_bell.png similarity index 100% rename from public/images/clue/medium_treasure_trails/crier_bell.png rename to public/images/clue/medium-treasure-trails/crier_bell.png diff --git a/public/images/clue/medium_treasure_trails/crier_coat.png b/public/images/clue/medium-treasure-trails/crier_coat.png similarity index 100% rename from public/images/clue/medium_treasure_trails/crier_coat.png rename to public/images/clue/medium-treasure-trails/crier_coat.png diff --git a/public/images/clue/medium_treasure_trails/crier_hat.png b/public/images/clue/medium-treasure-trails/crier_hat.png similarity index 100% rename from public/images/clue/medium_treasure_trails/crier_hat.png rename to public/images/clue/medium-treasure-trails/crier_hat.png diff --git a/public/images/clue/medium_treasure_trails/gnomish_firelighter.png b/public/images/clue/medium-treasure-trails/gnomish_firelighter.png similarity index 100% rename from public/images/clue/medium_treasure_trails/gnomish_firelighter.png rename to public/images/clue/medium-treasure-trails/gnomish_firelighter.png diff --git a/public/images/clue/medium_treasure_trails/gold_elegant_blouse.png b/public/images/clue/medium-treasure-trails/gold_elegant_blouse.png similarity index 100% rename from public/images/clue/medium_treasure_trails/gold_elegant_blouse.png rename to public/images/clue/medium-treasure-trails/gold_elegant_blouse.png diff --git a/public/images/clue/medium_treasure_trails/gold_elegant_legs.png b/public/images/clue/medium-treasure-trails/gold_elegant_legs.png similarity index 100% rename from public/images/clue/medium_treasure_trails/gold_elegant_legs.png rename to public/images/clue/medium-treasure-trails/gold_elegant_legs.png diff --git a/public/images/clue/medium_treasure_trails/gold_elegant_shirt.png b/public/images/clue/medium-treasure-trails/gold_elegant_shirt.png similarity index 100% rename from public/images/clue/medium_treasure_trails/gold_elegant_shirt.png rename to public/images/clue/medium-treasure-trails/gold_elegant_shirt.png diff --git a/public/images/clue/medium_treasure_trails/gold_elegant_skirt.png b/public/images/clue/medium-treasure-trails/gold_elegant_skirt.png similarity index 100% rename from public/images/clue/medium_treasure_trails/gold_elegant_skirt.png rename to public/images/clue/medium-treasure-trails/gold_elegant_skirt.png diff --git a/public/images/clue/medium_treasure_trails/gold_headband.png b/public/images/clue/medium-treasure-trails/gold_headband.png similarity index 100% rename from public/images/clue/medium_treasure_trails/gold_headband.png rename to public/images/clue/medium-treasure-trails/gold_headband.png diff --git a/public/images/clue/medium_treasure_trails/green_boater.png b/public/images/clue/medium-treasure-trails/green_boater.png similarity index 100% rename from public/images/clue/medium_treasure_trails/green_boater.png rename to public/images/clue/medium-treasure-trails/green_boater.png diff --git a/public/images/clue/medium_treasure_trails/green_headband.png b/public/images/clue/medium-treasure-trails/green_headband.png similarity index 100% rename from public/images/clue/medium_treasure_trails/green_headband.png rename to public/images/clue/medium-treasure-trails/green_headband.png diff --git a/public/images/clue/medium_treasure_trails/guthix_cloak.png b/public/images/clue/medium-treasure-trails/guthix_cloak.png similarity index 100% rename from public/images/clue/medium_treasure_trails/guthix_cloak.png rename to public/images/clue/medium-treasure-trails/guthix_cloak.png diff --git a/public/images/clue/medium_treasure_trails/guthix_mitre.png b/public/images/clue/medium-treasure-trails/guthix_mitre.png similarity index 100% rename from public/images/clue/medium_treasure_trails/guthix_mitre.png rename to public/images/clue/medium-treasure-trails/guthix_mitre.png diff --git a/public/images/clue/medium_treasure_trails/holy_sandals.png b/public/images/clue/medium-treasure-trails/holy_sandals.png similarity index 100% rename from public/images/clue/medium_treasure_trails/holy_sandals.png rename to public/images/clue/medium-treasure-trails/holy_sandals.png diff --git a/public/images/clue/medium_treasure_trails/hosidius_banner.png b/public/images/clue/medium-treasure-trails/hosidius_banner.png similarity index 100% rename from public/images/clue/medium_treasure_trails/hosidius_banner.png rename to public/images/clue/medium-treasure-trails/hosidius_banner.png diff --git a/public/images/clue/medium_treasure_trails/leprechaun_hat.png b/public/images/clue/medium-treasure-trails/leprechaun_hat.png similarity index 100% rename from public/images/clue/medium_treasure_trails/leprechaun_hat.png rename to public/images/clue/medium-treasure-trails/leprechaun_hat.png diff --git a/public/images/clue/medium_treasure_trails/lovakengj_banner.png b/public/images/clue/medium-treasure-trails/lovakengj_banner.png similarity index 100% rename from public/images/clue/medium_treasure_trails/lovakengj_banner.png rename to public/images/clue/medium-treasure-trails/lovakengj_banner.png diff --git a/public/images/clue/medium_treasure_trails/mithril_full_helm_(g).png b/public/images/clue/medium-treasure-trails/mithril_full_helm_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/mithril_full_helm_(g).png rename to public/images/clue/medium-treasure-trails/mithril_full_helm_(g).png diff --git a/public/images/clue/medium_treasure_trails/mithril_full_helm_(t).png b/public/images/clue/medium-treasure-trails/mithril_full_helm_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/mithril_full_helm_(t).png rename to public/images/clue/medium-treasure-trails/mithril_full_helm_(t).png diff --git a/public/images/clue/medium_treasure_trails/mithril_kiteshield_(g).png b/public/images/clue/medium-treasure-trails/mithril_kiteshield_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/mithril_kiteshield_(g).png rename to public/images/clue/medium-treasure-trails/mithril_kiteshield_(g).png diff --git a/public/images/clue/medium_treasure_trails/mithril_kiteshield_(t).png b/public/images/clue/medium-treasure-trails/mithril_kiteshield_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/mithril_kiteshield_(t).png rename to public/images/clue/medium-treasure-trails/mithril_kiteshield_(t).png diff --git a/public/images/clue/medium_treasure_trails/mithril_platebody_(g).png b/public/images/clue/medium-treasure-trails/mithril_platebody_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/mithril_platebody_(g).png rename to public/images/clue/medium-treasure-trails/mithril_platebody_(g).png diff --git a/public/images/clue/medium_treasure_trails/mithril_platebody_(t).png b/public/images/clue/medium-treasure-trails/mithril_platebody_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/mithril_platebody_(t).png rename to public/images/clue/medium-treasure-trails/mithril_platebody_(t).png diff --git a/public/images/clue/medium_treasure_trails/mithril_platelegs_(g).png b/public/images/clue/medium-treasure-trails/mithril_platelegs_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/mithril_platelegs_(g).png rename to public/images/clue/medium-treasure-trails/mithril_platelegs_(g).png diff --git a/public/images/clue/medium_treasure_trails/mithril_platelegs_(t).png b/public/images/clue/medium-treasure-trails/mithril_platelegs_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/mithril_platelegs_(t).png rename to public/images/clue/medium-treasure-trails/mithril_platelegs_(t).png diff --git a/public/images/clue/medium_treasure_trails/mithril_plateskirt_(g).png b/public/images/clue/medium-treasure-trails/mithril_plateskirt_(g).png similarity index 100% rename from public/images/clue/medium_treasure_trails/mithril_plateskirt_(g).png rename to public/images/clue/medium-treasure-trails/mithril_plateskirt_(g).png diff --git a/public/images/clue/medium_treasure_trails/mithril_plateskirt_(t).png b/public/images/clue/medium-treasure-trails/mithril_plateskirt_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/mithril_plateskirt_(t).png rename to public/images/clue/medium-treasure-trails/mithril_plateskirt_(t).png diff --git a/public/images/clue/medium_treasure_trails/orange_boater.png b/public/images/clue/medium-treasure-trails/orange_boater.png similarity index 100% rename from public/images/clue/medium_treasure_trails/orange_boater.png rename to public/images/clue/medium-treasure-trails/orange_boater.png diff --git a/public/images/clue/medium_treasure_trails/penguin_mask.png b/public/images/clue/medium-treasure-trails/penguin_mask.png similarity index 100% rename from public/images/clue/medium_treasure_trails/penguin_mask.png rename to public/images/clue/medium-treasure-trails/penguin_mask.png diff --git a/public/images/clue/medium_treasure_trails/pink_boater.png b/public/images/clue/medium-treasure-trails/pink_boater.png similarity index 100% rename from public/images/clue/medium_treasure_trails/pink_boater.png rename to public/images/clue/medium-treasure-trails/pink_boater.png diff --git a/public/images/clue/medium_treasure_trails/pink_elegant_blouse.png b/public/images/clue/medium-treasure-trails/pink_elegant_blouse.png similarity index 100% rename from public/images/clue/medium_treasure_trails/pink_elegant_blouse.png rename to public/images/clue/medium-treasure-trails/pink_elegant_blouse.png diff --git a/public/images/clue/medium_treasure_trails/pink_elegant_legs.png b/public/images/clue/medium-treasure-trails/pink_elegant_legs.png similarity index 100% rename from public/images/clue/medium_treasure_trails/pink_elegant_legs.png rename to public/images/clue/medium-treasure-trails/pink_elegant_legs.png diff --git a/public/images/clue/medium_treasure_trails/pink_elegant_shirt.png b/public/images/clue/medium-treasure-trails/pink_elegant_shirt.png similarity index 100% rename from public/images/clue/medium_treasure_trails/pink_elegant_shirt.png rename to public/images/clue/medium-treasure-trails/pink_elegant_shirt.png diff --git a/public/images/clue/medium_treasure_trails/pink_elegant_skirt.png b/public/images/clue/medium-treasure-trails/pink_elegant_skirt.png similarity index 100% rename from public/images/clue/medium_treasure_trails/pink_elegant_skirt.png rename to public/images/clue/medium-treasure-trails/pink_elegant_skirt.png diff --git a/public/images/clue/medium_treasure_trails/pink_headband.png b/public/images/clue/medium-treasure-trails/pink_headband.png similarity index 100% rename from public/images/clue/medium_treasure_trails/pink_headband.png rename to public/images/clue/medium-treasure-trails/pink_headband.png diff --git a/public/images/clue/medium_treasure_trails/piscarilius_banner.png b/public/images/clue/medium-treasure-trails/piscarilius_banner.png similarity index 100% rename from public/images/clue/medium_treasure_trails/piscarilius_banner.png rename to public/images/clue/medium-treasure-trails/piscarilius_banner.png diff --git a/public/images/clue/medium_treasure_trails/purple_boater.png b/public/images/clue/medium-treasure-trails/purple_boater.png similarity index 100% rename from public/images/clue/medium_treasure_trails/purple_boater.png rename to public/images/clue/medium-treasure-trails/purple_boater.png diff --git a/public/images/clue/medium_treasure_trails/purple_elegant_blouse.png b/public/images/clue/medium-treasure-trails/purple_elegant_blouse.png similarity index 100% rename from public/images/clue/medium_treasure_trails/purple_elegant_blouse.png rename to public/images/clue/medium-treasure-trails/purple_elegant_blouse.png diff --git a/public/images/clue/medium_treasure_trails/purple_elegant_legs.png b/public/images/clue/medium-treasure-trails/purple_elegant_legs.png similarity index 100% rename from public/images/clue/medium_treasure_trails/purple_elegant_legs.png rename to public/images/clue/medium-treasure-trails/purple_elegant_legs.png diff --git a/public/images/clue/medium_treasure_trails/purple_elegant_shirt.png b/public/images/clue/medium-treasure-trails/purple_elegant_shirt.png similarity index 100% rename from public/images/clue/medium_treasure_trails/purple_elegant_shirt.png rename to public/images/clue/medium-treasure-trails/purple_elegant_shirt.png diff --git a/public/images/clue/medium_treasure_trails/purple_elegant_skirt.png b/public/images/clue/medium-treasure-trails/purple_elegant_skirt.png similarity index 100% rename from public/images/clue/medium_treasure_trails/purple_elegant_skirt.png rename to public/images/clue/medium-treasure-trails/purple_elegant_skirt.png diff --git a/public/images/clue/medium_treasure_trails/ranger_boots.png b/public/images/clue/medium-treasure-trails/ranger_boots.png similarity index 100% rename from public/images/clue/medium_treasure_trails/ranger_boots.png rename to public/images/clue/medium-treasure-trails/ranger_boots.png diff --git a/public/images/clue/medium_treasure_trails/red_boater.png b/public/images/clue/medium-treasure-trails/red_boater.png similarity index 100% rename from public/images/clue/medium_treasure_trails/red_boater.png rename to public/images/clue/medium-treasure-trails/red_boater.png diff --git a/public/images/clue/medium_treasure_trails/red_headband.png b/public/images/clue/medium-treasure-trails/red_headband.png similarity index 100% rename from public/images/clue/medium_treasure_trails/red_headband.png rename to public/images/clue/medium-treasure-trails/red_headband.png diff --git a/public/images/clue/medium_treasure_trails/saradomin_cloak.png b/public/images/clue/medium-treasure-trails/saradomin_cloak.png similarity index 100% rename from public/images/clue/medium_treasure_trails/saradomin_cloak.png rename to public/images/clue/medium-treasure-trails/saradomin_cloak.png diff --git a/public/images/clue/medium_treasure_trails/saradomin_mitre.png b/public/images/clue/medium-treasure-trails/saradomin_mitre.png similarity index 100% rename from public/images/clue/medium_treasure_trails/saradomin_mitre.png rename to public/images/clue/medium-treasure-trails/saradomin_mitre.png diff --git a/public/images/clue/medium_treasure_trails/shayzien_banner.png b/public/images/clue/medium-treasure-trails/shayzien_banner.png similarity index 100% rename from public/images/clue/medium_treasure_trails/shayzien_banner.png rename to public/images/clue/medium-treasure-trails/shayzien_banner.png diff --git a/public/images/clue/medium_treasure_trails/spiked_manacles.png b/public/images/clue/medium-treasure-trails/spiked_manacles.png similarity index 100% rename from public/images/clue/medium_treasure_trails/spiked_manacles.png rename to public/images/clue/medium-treasure-trails/spiked_manacles.png diff --git a/public/images/clue/medium_treasure_trails/strength_amulet_(t).png b/public/images/clue/medium-treasure-trails/strength_amulet_(t).png similarity index 100% rename from public/images/clue/medium_treasure_trails/strength_amulet_(t).png rename to public/images/clue/medium-treasure-trails/strength_amulet_(t).png diff --git a/public/images/clue/medium_treasure_trails/white_boater.png b/public/images/clue/medium-treasure-trails/white_boater.png similarity index 100% rename from public/images/clue/medium_treasure_trails/white_boater.png rename to public/images/clue/medium-treasure-trails/white_boater.png diff --git a/public/images/clue/medium_treasure_trails/white_elegant_blouse.png b/public/images/clue/medium-treasure-trails/white_elegant_blouse.png similarity index 100% rename from public/images/clue/medium_treasure_trails/white_elegant_blouse.png rename to public/images/clue/medium-treasure-trails/white_elegant_blouse.png diff --git a/public/images/clue/medium_treasure_trails/white_elegant_skirt.png b/public/images/clue/medium-treasure-trails/white_elegant_skirt.png similarity index 100% rename from public/images/clue/medium_treasure_trails/white_elegant_skirt.png rename to public/images/clue/medium-treasure-trails/white_elegant_skirt.png diff --git a/public/images/clue/medium_treasure_trails/white_headband.png b/public/images/clue/medium-treasure-trails/white_headband.png similarity index 100% rename from public/images/clue/medium_treasure_trails/white_headband.png rename to public/images/clue/medium-treasure-trails/white_headband.png diff --git a/public/images/clue/medium_treasure_trails/white_unicorn_mask.png b/public/images/clue/medium-treasure-trails/white_unicorn_mask.png similarity index 100% rename from public/images/clue/medium_treasure_trails/white_unicorn_mask.png rename to public/images/clue/medium-treasure-trails/white_unicorn_mask.png diff --git a/public/images/clue/medium_treasure_trails/wizard_boots.png b/public/images/clue/medium-treasure-trails/wizard_boots.png similarity index 100% rename from public/images/clue/medium_treasure_trails/wizard_boots.png rename to public/images/clue/medium-treasure-trails/wizard_boots.png diff --git a/public/images/clue/medium_treasure_trails/wolf_cloak.png b/public/images/clue/medium-treasure-trails/wolf_cloak.png similarity index 100% rename from public/images/clue/medium_treasure_trails/wolf_cloak.png rename to public/images/clue/medium-treasure-trails/wolf_cloak.png diff --git a/public/images/clue/medium_treasure_trails/wolf_mask.png b/public/images/clue/medium-treasure-trails/wolf_mask.png similarity index 100% rename from public/images/clue/medium_treasure_trails/wolf_mask.png rename to public/images/clue/medium-treasure-trails/wolf_mask.png diff --git a/public/images/clue/medium_treasure_trails/yew_comp_bow.png b/public/images/clue/medium-treasure-trails/yew_comp_bow.png similarity index 100% rename from public/images/clue/medium_treasure_trails/yew_comp_bow.png rename to public/images/clue/medium-treasure-trails/yew_comp_bow.png diff --git a/public/images/clue/medium_treasure_trails/zamorak_cloak.png b/public/images/clue/medium-treasure-trails/zamorak_cloak.png similarity index 100% rename from public/images/clue/medium_treasure_trails/zamorak_cloak.png rename to public/images/clue/medium-treasure-trails/zamorak_cloak.png diff --git a/public/images/clue/medium_treasure_trails/zamorak_mitre.png b/public/images/clue/medium-treasure-trails/zamorak_mitre.png similarity index 100% rename from public/images/clue/medium_treasure_trails/zamorak_mitre.png rename to public/images/clue/medium-treasure-trails/zamorak_mitre.png diff --git a/public/images/raid/chambers-of-xeric-challenge-mode.png b/public/images/raid/chambers-of-xeric-challenge-mode.png new file mode 100644 index 00000000..167eb912 Binary files /dev/null and b/public/images/raid/chambers-of-xeric-challenge-mode.png differ diff --git a/public/images/raid/chambers-of-xeric.png b/public/images/raid/chambers-of-xeric.png new file mode 100644 index 00000000..4648486b Binary files /dev/null and b/public/images/raid/chambers-of-xeric.png differ diff --git a/public/images/raid/chambers-of-xeric/ancestral_hat.png b/public/images/raid/chambers-of-xeric/ancestral_hat.png new file mode 100644 index 00000000..f54569c6 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/ancestral_hat.png differ diff --git a/public/images/raid/chambers-of-xeric/ancestral_robe_bottom.png b/public/images/raid/chambers-of-xeric/ancestral_robe_bottom.png new file mode 100644 index 00000000..9bce85c8 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/ancestral_robe_bottom.png differ diff --git a/public/images/raid/chambers-of-xeric/ancestral_robe_top.png b/public/images/raid/chambers-of-xeric/ancestral_robe_top.png new file mode 100644 index 00000000..278cbf6a Binary files /dev/null and b/public/images/raid/chambers-of-xeric/ancestral_robe_top.png differ diff --git a/public/images/raid/chambers-of-xeric/arcane_prayer_scroll.png b/public/images/raid/chambers-of-xeric/arcane_prayer_scroll.png new file mode 100644 index 00000000..75f720c0 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/arcane_prayer_scroll.png differ diff --git a/public/images/raid/chambers-of-xeric/dark_relic.png b/public/images/raid/chambers-of-xeric/dark_relic.png new file mode 100644 index 00000000..e4562c01 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/dark_relic.png differ diff --git a/public/images/raid/chambers-of-xeric/dexterous_prayer_scroll.png b/public/images/raid/chambers-of-xeric/dexterous_prayer_scroll.png new file mode 100644 index 00000000..3c26e1f2 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/dexterous_prayer_scroll.png differ diff --git a/public/images/raid/chambers-of-xeric/dinhs_bulwark.png b/public/images/raid/chambers-of-xeric/dinhs_bulwark.png new file mode 100644 index 00000000..5c9425a5 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/dinhs_bulwark.png differ diff --git a/public/images/raid/chambers-of-xeric/dragon_claws.png b/public/images/raid/chambers-of-xeric/dragon_claws.png new file mode 100644 index 00000000..6c91dcee Binary files /dev/null and b/public/images/raid/chambers-of-xeric/dragon_claws.png differ diff --git a/public/images/raid/chambers-of-xeric/dragon_hunter_crossbow.png b/public/images/raid/chambers-of-xeric/dragon_hunter_crossbow.png new file mode 100644 index 00000000..4525fc36 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/dragon_hunter_crossbow.png differ diff --git a/public/images/raid/chambers-of-xeric/elder_maul.png b/public/images/raid/chambers-of-xeric/elder_maul.png new file mode 100644 index 00000000..13b5a6b6 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/elder_maul.png differ diff --git a/public/images/raid/chambers-of-xeric/kodai_insignia.png b/public/images/raid/chambers-of-xeric/kodai_insignia.png new file mode 100644 index 00000000..7f4bca60 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/kodai_insignia.png differ diff --git a/public/images/raid/chambers-of-xeric/metamorphic_dust.png b/public/images/raid/chambers-of-xeric/metamorphic_dust.png new file mode 100644 index 00000000..7cd118fa Binary files /dev/null and b/public/images/raid/chambers-of-xeric/metamorphic_dust.png differ diff --git a/public/images/raid/chambers-of-xeric/olmlet.png b/public/images/raid/chambers-of-xeric/olmlet.png new file mode 100644 index 00000000..4648486b Binary files /dev/null and b/public/images/raid/chambers-of-xeric/olmlet.png differ diff --git a/public/images/raid/chambers-of-xeric/onyx.png b/public/images/raid/chambers-of-xeric/onyx.png new file mode 100644 index 00000000..f44893c8 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/onyx.png differ diff --git a/public/images/raid/chambers-of-xeric/torn_prayer_scroll.png b/public/images/raid/chambers-of-xeric/torn_prayer_scroll.png new file mode 100644 index 00000000..8d1e9116 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/torn_prayer_scroll.png differ diff --git a/public/images/raid/chambers-of-xeric/twisted_ancestral_colour_kit.png b/public/images/raid/chambers-of-xeric/twisted_ancestral_colour_kit.png new file mode 100644 index 00000000..256fe153 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/twisted_ancestral_colour_kit.png differ diff --git a/public/images/raid/chambers-of-xeric/twisted_bow.png b/public/images/raid/chambers-of-xeric/twisted_bow.png new file mode 100644 index 00000000..f6ef9642 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/twisted_bow.png differ diff --git a/public/images/raid/chambers-of-xeric/twisted_buckler.png b/public/images/raid/chambers-of-xeric/twisted_buckler.png new file mode 100644 index 00000000..93ad7af7 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/twisted_buckler.png differ diff --git a/public/images/raid/chambers-of-xeric/xerics_champion.png b/public/images/raid/chambers-of-xeric/xerics_champion.png new file mode 100644 index 00000000..f5735cb2 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/xerics_champion.png differ diff --git a/public/images/raid/chambers-of-xeric/xerics_general.png b/public/images/raid/chambers-of-xeric/xerics_general.png new file mode 100644 index 00000000..5bec7f17 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/xerics_general.png differ diff --git a/public/images/raid/chambers-of-xeric/xerics_guard.png b/public/images/raid/chambers-of-xeric/xerics_guard.png new file mode 100644 index 00000000..b21f7747 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/xerics_guard.png differ diff --git a/public/images/raid/chambers-of-xeric/xerics_sentinel.png b/public/images/raid/chambers-of-xeric/xerics_sentinel.png new file mode 100644 index 00000000..6ee6e644 Binary files /dev/null and b/public/images/raid/chambers-of-xeric/xerics_sentinel.png differ diff --git a/public/images/raid/chambers-of-xeric/xerics_warrior.png b/public/images/raid/chambers-of-xeric/xerics_warrior.png new file mode 100644 index 00000000..bbc717dd Binary files /dev/null and b/public/images/raid/chambers-of-xeric/xerics_warrior.png differ diff --git a/public/images/raid/theatre-of-blood.png b/public/images/raid/theatre-of-blood.png new file mode 100644 index 00000000..10339bd0 Binary files /dev/null and b/public/images/raid/theatre-of-blood.png differ diff --git a/public/images/raid/theatre-of-blood/avernic_defender_hilt.png b/public/images/raid/theatre-of-blood/avernic_defender_hilt.png new file mode 100644 index 00000000..563bc658 Binary files /dev/null and b/public/images/raid/theatre-of-blood/avernic_defender_hilt.png differ diff --git a/public/images/raid/theatre-of-blood/ghrazi_rapier.png b/public/images/raid/theatre-of-blood/ghrazi_rapier.png new file mode 100644 index 00000000..b6401004 Binary files /dev/null and b/public/images/raid/theatre-of-blood/ghrazi_rapier.png differ diff --git a/public/images/raid/theatre-of-blood/justiciar_chestguard.png b/public/images/raid/theatre-of-blood/justiciar_chestguard.png new file mode 100644 index 00000000..71ce1c23 Binary files /dev/null and b/public/images/raid/theatre-of-blood/justiciar_chestguard.png differ diff --git a/public/images/raid/theatre-of-blood/justiciar_faceguard.png b/public/images/raid/theatre-of-blood/justiciar_faceguard.png new file mode 100644 index 00000000..70b058ea Binary files /dev/null and b/public/images/raid/theatre-of-blood/justiciar_faceguard.png differ diff --git a/public/images/raid/theatre-of-blood/justiciar_legguards.png b/public/images/raid/theatre-of-blood/justiciar_legguards.png new file mode 100644 index 00000000..569ecae7 Binary files /dev/null and b/public/images/raid/theatre-of-blood/justiciar_legguards.png differ diff --git a/public/images/raid/theatre-of-blood/lil_zik.png b/public/images/raid/theatre-of-blood/lil_zik.png new file mode 100644 index 00000000..10339bd0 Binary files /dev/null and b/public/images/raid/theatre-of-blood/lil_zik.png differ diff --git a/public/images/raid/theatre-of-blood/sanguinesti_staff_(uncharged).png b/public/images/raid/theatre-of-blood/sanguinesti_staff_(uncharged).png new file mode 100644 index 00000000..9be2cf1f Binary files /dev/null and b/public/images/raid/theatre-of-blood/sanguinesti_staff_(uncharged).png differ diff --git a/public/images/raid/theatre-of-blood/scythe_of_vitur_(uncharged).png b/public/images/raid/theatre-of-blood/scythe_of_vitur_(uncharged).png new file mode 100644 index 00000000..7706f5c0 Binary files /dev/null and b/public/images/raid/theatre-of-blood/scythe_of_vitur_(uncharged).png differ diff --git a/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_1.png b/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_1.png new file mode 100644 index 00000000..5a55b0f4 Binary files /dev/null and b/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_1.png differ diff --git a/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_2.png b/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_2.png new file mode 100644 index 00000000..8b4d8823 Binary files /dev/null and b/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_2.png differ diff --git a/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_3.png b/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_3.png new file mode 100644 index 00000000..1cc35f62 Binary files /dev/null and b/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_3.png differ diff --git a/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_4.png b/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_4.png new file mode 100644 index 00000000..c3ba7321 Binary files /dev/null and b/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_4.png differ diff --git a/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_5.png b/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_5.png new file mode 100644 index 00000000..54de6634 Binary files /dev/null and b/public/images/raid/theatre-of-blood/sinhaza_shroud_tier_5.png differ diff --git a/public/images/raid/theatre-of-blood/vial_of_blood.png b/public/images/raid/theatre-of-blood/vial_of_blood.png new file mode 100644 index 00000000..94096d50 Binary files /dev/null and b/public/images/raid/theatre-of-blood/vial_of_blood.png differ diff --git a/resources/js/app.js b/resources/js/app.js index b7c3e422..6a9804da 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -6,7 +6,7 @@ require('./bootstrap'); -window.Vue = require('vue'); +import Vue from 'vue' /** * The following block of code may be used to automatically register your @@ -27,22 +27,22 @@ Vue.use(require('advanced-laravel-vue-paginate')); Vue.use(require('vue-moment')); -Vue.component('announcementall', require('./components/Notification/AnnouncementAll.vue').default); -Vue.component('accountevent', require('./components/Notification/AccountEvent.vue').default); -Vue.component('broadcast', require('./components/Notification/Broadcast.vue').default); +Vue.component('announcementall', require('./components/notification/AnnouncementAll.vue').default); +Vue.component('accountevent', require('./components/notification/AccountEvent.vue').default); +Vue.component('broadcast', require('./components/notification/Broadcast.vue').default); +Vue.component('skillhiscore', require('./components/SkillHiscore.vue').default); // Fetch all skill hiscores +Vue.component('collectionhiscore', require('./components/CollectionHiscore.vue').default); // Fetch all collection hiscores -Vue.component('skillhiscore', require('./components/SkillHiscore.vue').default); -Vue.component('bosshiscore', require('./components/BossHiscore.vue').default); -Vue.component('npchiscore', require('./components/NpcHiscore.vue').default); -Vue.component('cluehiscore', require('./components/ClueHiscore.vue').default); -Vue.component('accounthiscore', require('./components/AccountHiscore.vue').default); -Vue.component('accountskillhiscore', require('./components/AccountSkillHiscore.vue').default); -Vue.component('accountbosshiscore', require('./components/AccountBossHiscore.vue').default); +Vue.component('accounthiscore', require('./components/AccountHiscore.vue').default); // Component to switch between account hiscores + +Vue.component('accountskillhiscore', require('./components/account/SkillHiscore.vue').default); // Fetch all account skill hiscores +Vue.component('accountbosshiscore', require('./components/account/BossHiscore.vue').default); // Fetch all account boss hiscores + +Vue.component('equipment', require('./components/account/Equipment.vue').default); +Vue.component('quests', require('./components/account/Quests.vue').default); +Vue.component('bank', require('./components/account/Bank.vue').default); -Vue.component('equipment', require('./components/Equipment.vue').default); -Vue.component('bank', require('./components/Bank.vue').default); -Vue.component('quests', require('./components/Quests.vue').default); Vue.component('onlinestatus', require('./components/OnlineStatus.vue').default); Vue.component( diff --git a/resources/js/components/AccountHiscore.vue b/resources/js/components/AccountHiscore.vue index f90bede3..813d9d5f 100644 --- a/resources/js/components/AccountHiscore.vue +++ b/resources/js/components/AccountHiscore.vue @@ -74,8 +74,8 @@ diff --git a/resources/js/components/BossHiscore.vue b/resources/js/components/CollectionHiscore.vue similarity index 80% rename from resources/js/components/BossHiscore.vue rename to resources/js/components/CollectionHiscore.vue index e2457971..eb7a8212 100644 --- a/resources/js/components/BossHiscore.vue +++ b/resources/js/components/CollectionHiscore.vue @@ -18,17 +18,17 @@
Rank | -Account | -Kill Count | -Collection Log | -Obtained | -
---|---|---|---|---|
{{ index + 1 }} | -{{ hiscore.account.username }} - | -{{ hiscore.kill_count }} | -- - - - | -
-
-
- {{ (hiscore.obtained !== null ? hiscore.obtained : 0) }} / {{ total }}
-
-
-
- {{ hiscore.obtained }} / {{ total }}
-
-
-
- {{ (hiscore.obtained !== null ? hiscore.obtained : 0) }} / {{ total }}
-
-
- |
-