From 685a3d9071c778f6ae077d0c19919d76d5314a2f Mon Sep 17 00:00:00 2001 From: Fouton Date: Sat, 12 Oct 2019 08:50:05 -0400 Subject: [PATCH 01/29] Glitched Logic Update (#719) - Added BunnyRevive() for ease of logic reading/typing - Bunny Revive is removed from MG logic - upper: added pearl replacements to enter, as well as hammer replacement by clipping up via EDWDM - middle: added dungeon revive to mirror clip entry without pearl, added oneframe clip with pearl/yba/dungeon revive bootclip with pearl or yba - lower: added pearl/yba for 1frame, also spinspeed from EDWDM as setup for mirrorwrap entry - removed lamp requirement to trinexx if lower access used - added 1frame & superspeed as hera main access - added pearl alternates for access - added mire uw clip + old man saved + spinspeed/bootclip/oneframe to hera with vanilla small key or key available in keyshuffle as MAIN - added pearl alternates for front half access - added ow bunny revive as pearl replacement, added dungeon revive requirement to underworld 1frame - added pearl replacements for access as well as clipping requirements when needed to account for them - added waterwalk/bunny revive options to lift rock, bunny revive as pearl replacement for mirrorwrap setup - removed burn requirement to ice palace boss for glitch + enemizer purposes - added pearl alternate for non 1frame entry, removed EDWDM access from clipping entry, added spinspeed entry (with both sword and hookshot) added dungeon revival to 1frame - added 1frame as desert access - added superspeed, 1frame, and mirror from mire as desert boss access - added waterwalk to Capacity Fairy access - added OWYBA as a pearl replacement, added waterwalk from NW DW for Lake Hylia Item - added superspeed, oneframe access, as well as yba/bunny revive replacements for pearl to Kings Tomb - added oneframe access, mirrorwrap access, correct spinspeed access, and yba/bunny revive as alternate pearl to Magic Bat - added superspeed, oneframe access, as well as yba/bunny revive replacements for pearl to Graveyard - added waterwalk & OW 1frame to zora - added superspeed & OW 1frame (with waterwalk) to zora ledge - added 1frame access, bootclip+linskstate options, spinspeed+pearl+edwdm access to mimic cave - added 1frame, owyba, mirrorwrap to floating island - added mirrorwrap & superspeed as east DM accesses - added superspeed as West DM Access - added waterwalk & OW 1frame to zora - added superspeed & OW 1frame (with waterwalk) to zora ledge - added superspeed, oneframe access, as well as yba/bunny revive replacements for pearl to Kings Tomb - added oneframe access, mirrorwrap access, correct spinspeed access, and yba/bunny revive as alternate pearl to Magic Bat - added superspeed, oneframe access, as well as yba/bunny revive replacements for pearl to Graveyard - added waterwalk to Capacity Fairy access - added OWYBA as a pearl replacement, added waterwalk from NW DW for Lake Hylia Item - added superspeed as West DM Access - added 1frame access, bootclip+linskstate options, spinspeed+pearl+edwdm access to mimic cave - added 1frame, owyba, mirrorwrap to floating island - added mirrorwrap & superspeed as east DM accesses - added owYBA + clipping or 2 bottles as pearl alternate for all doors - added mirror req or 5+ health and !cantTakeDamage as superbunny reqs for mire shed - added 1frame access, bunnyrevive & clip from South DW as mire area access - added oneframe access, pearl bootclip access, mirrorclip to pyramid access (bootclip or spinspeed) mirrorwrap & bunnyrevive access, NW DW with pearl & qirnjump or bunny revive access - added pearl alternates, and 1frame or bootclipping to potion shop & catfish - added pearl alternates to pod area hints - added pearl alternates, YBA + 2 bottles or YBA and pearl alternate to hammer, added bootclip/oneframe mirror clip access to pyramid fairy - added mirror clip or wrap access, bunny revive as flipper replacement from NE DW, bootclip access and spinspeed access (with pearl) - added pearl or alternate requirement to hammerhouse & bombable hut & bumper cave - added pearl alternates to cshape & chestgame - added pearl or alternates, mirrorwrap access, or spinspeed+(fake)flips to hammer pegs - added pearl alternates, oywba with (1frame/bootclip) & (pearl/2 bottles) for blacksmith access - added same hammer pegs access to purple chest (minus hammer, and mirrorwrap doesnt need pearl or equiv) - added spinspeed (fake)flips with pearl/bunny revive as access, replaced dark rocks with NW DW access - added pearl & alternate reqs to all hype cave checks and digging game - added mirrorwrap, or all pearl & alternate reqs to stumpy - added pearl and alternates, as well as all alternate swimming methods to shopping mall entrances - added mirrorclip or mirrorwrap, added yba as pearl replacement if bootclipping, as access - added yba as pearl alternate with 1frame or bootclip to superbunny cave and hookshot cave - moved access to access portion (was in locations before due to circular reference that I believe is gone? nothing references DW West DM anymore from what I could tell when searching through code) - added OWYBA access to both caves as a replacement for pearl, with convoluted spike cave logic to still require the appropriate ways to get the chest unharmed if ohko is on - note: left double YBA out from return access due to overly complicated spike cave logic - added oneframe access, pearl bootclip access, mirrorclip to pyramid access (bootclip or spinspeed) mirrorwrap & bunnyrevive access, NW DW with pearl & qirnjump or bunny revive access - added pearl alternates, and 1frame or bootclipping to potion shop & catfish - added pearl alternates to pod area hints - added pearl alternates, YBA + 2 bottles or YBA and pearl alternate to hammer, added bootclip/oneframe mirror clip access to pyramid fairy - added mirror clip or wrap access, bunny revive as flipper replacement from NE DW, bootclip access and spinspeed access (with pearl) - added pearl or alternate requirement to hammerhouse & bombable hut & bumper cave - added pearl alternates to cshape & chestgame - added pearl or alternates, mirrorwrap access, or spinspeed+(fake)flips to hammer pegs - added pearl alternates, oywba with (1frame/bootclip) & (pearl/2 bottles) for blacksmith access - added same hammer pegs access to purple chest (minus hammer, and mirrorwrap doesnt need pearl or equiv) - added oneframe access, pearl bootclip access, mirrorclip to pyramid access (bootclip or spinspeed) mirrorwrap & bunnyrevive access, NW DW with pearl & qirnjump or bunny revive access - added pearl alternates, and 1frame or bootclipping to potion shop & catfish - added pearl alternates to pod area hints - added pearl alternates, YBA + 2 bottles or YBA and pearl alternate to hammer, added bootclip/oneframe mirror clip access to pyramid fairy - added oneframe access, pearl bootclip access, mirrorclip to pyramid access (bootclip or spinspeed) mirrorwrap & bunnyrevive access, NW DW with pearl & qirnjump or bunny revive access - added pearl alternates, and 1frame or bootclipping to potion shop & catfish - added pearl alternates to pod area hints - added pearl alternates, YBA + 2 bottles or YBA and pearl alternate to hammer, added bootclip/oneframe mirror clip access to pyramid fairy - added oneframe access, pearl bootclip access, mirrorclip to pyramid access (bootclip or spinspeed) mirrorwrap & bunnyrevive access, NW DW with pearl & qirnjump or bunny revive access - added pearl alternates, and 1frame or bootclipping to potion shop & catfish - added pearl alternates to pod area hints - added pearl alternates, YBA + 2 bottles or YBA and pearl alternate to hammer, added bootclip/oneframe mirror clip access to pyramid fairy - added owYBA + clipping or 2 bottles as pearl alternate for all doors - added mirror req or 5+ health and !cantTakeDamage as superbunny reqs for mire shed - added 1frame access, bunnyrevive & clip, mirrorwrap from South DW as mire area access * v.31.0.4 - added waterwalk to Capacity Fairy access - added OWYBA as a pearl replacement, added waterwalk from NW DW for Lake Hylia Item - added superspeed, oneframe access, as well as yba/bunny revive replacements for pearl to Kings Tomb - added oneframe access, mirrorwrap access, correct spinspeed access, and yba/bunny revive as alternate pearl to Magic Bat - added superspeed, oneframe access, as well as yba/bunny revive replacements for pearl to Graveyard - added waterwalk & OW 1frame to zora - added superspeed & OW 1frame (with waterwalk) to zora ledge - added 1frame access, bootclip+linskstate options, spinspeed+pearl+edwdm access to mimic cave - added 1frame, owyba, mirrorwrap to floating island - added mirrorwrap & superspeed & mire+hammer as east DM access - added pearl replacements for access as well as clipping requirements when needed to account for them - added waterwalk/bunny revive options to lift rock, bunny revive as pearl replacement for mirrorwrap setup - removed burn requirement to ice palace boss for glitch + enemizer purposes - added waterwalk/bunny revive options to lift rock, bunny revive as pearl replacement for mirrorwrap setup - removed burn requirement to ice palace boss for glitch + enemizer purposes - Bunny Revival and Bunny Surfing are removed from logic. Bunny Revival is considered not fun, so it'll be left as a customizer toggle, and Bunny Surfing never has an impact on logic with starting boots or 1framing, so its only relevant in customizer as well. - added oneframe access, pearl bootclip access, mirrorclip to pyramid access (bootclip or spinspeed) mirrorwrap & bunnyrevive access, NW DW with pearl & qirnjump or bunny revive access - added pearl alternates, and 1frame or bootclipping to potion shop & catfish - added pearl alternates to pod area hints - added lots of different access to pyramid fairy (2 yba method specifically not coded in cuz it triples the code length. this will basically only be a problem in logics where only OWYBAs are turned on and basically nothing else. just learn another glitch please cuz im not coding it in) - added owYBA + clipping or bunnyrevival +mirror shenanigans or 2 bottles as pearl alternate for all doors - added mirror req or 5+ health and !cantTakeDamage as superbunny reqs for mire shed - added 1frame access, bunnyrevive & clip from South DW as mire area access - added waterwalk & OW 1frame to zora - added superspeed & OW 1frame (with waterwalk) to zora ledge - added oneframe access, pearl bootclip access, mirrorclip to pyramid access (bootclip or spinspeed) mirrorwrap & bunnyrevive access, NW DW with pearl & qirnjump or bunny revive access - added pearl alternates, and 1frame or bootclipping to potion shop & catfish - added pearl alternates to pod area hints - added lots of different access to pyramid fairy (2 yba method specifically not coded in cuz it triples the code length. this will basically only be a problem in logics where only OWYBAs are turned on and basically nothing else. just learn another glitch please cuz im not coding it in) - added oneframe access, pearl bootclip access, mirrorclip to pyramid access (bootclip or spinspeed) mirrorwrap & bunnyrevive access, NW DW with pearl & qirnjump or bunny revive access - added pearl alternates, and 1frame or bootclipping to potion shop & catfish - added pearl alternates to pod area hints - added lots of different access to pyramid fairy (2 yba method specifically not coded in cuz it triples the code length. this will basically only be a problem in logics where only OWYBAs are turned on and basically nothing else. just learn another glitch please cuz im not coding it in) - upper: added pearl replacements to enter, as well as hammer replacement by clipping up via EDWDM - middle: added dungeon revive to mirror clip entry without pearl, added oneframe clip with pearl/yba/dungeon revive bootclip with pearl or yba - lower: added pearl/yba for 1frame, also spinspeed from EDWDM as setup for mirrorwrap entry - removed lamp requirement to trinexx if lower access used - added waterwalk/bunny revive options to lift rock, bunny revive as pearl replacement for mirrorwrap setup - removed burn requirement to ice palace boss for glitch + enemizer purposes - upper: added pearl replacements to enter, as well as hammer replacement by clipping up via EDWDM - middle: added dungeon revive to mirror clip entry without pearl, added oneframe clip with pearl/yba/dungeon revive bootclip with pearl or yba - lower: added pearl/yba for 1frame, also spinspeed from EDWDM as setup for mirrorwrap entry - removed lamp requirement to trinexx if lower access used - upper: added pearl replacements to enter, as well as hammer replacement by clipping up via EDWDM - middle: added dungeon revive to mirror clip entry without pearl, added oneframe clip with pearl/yba/dungeon revive bootclip with pearl or yba - lower: added pearl/yba for 1frame, also spinspeed from EDWDM as setup for mirrorwrap entry - added mire uw clip + old man saved + spinspeed/bootclip/oneframe to hera with vanilla small key or key available in keyshuffle as MAIN access (Note: Based on current swamp logic, theres no harm in this being a thing. When you first enter from mire you are generally expected to spend keys and replace them properly towards the front and thus have access to all without hurting mire smallkey count anyways) - added OWYBA access to both caves as a replacement for pearl, with convoluted spike cave logic to still require the appropriate ways to get the chest unharmed if ohko is on - note: left double YBA out from return access due to overly complicated spike cave logic - added mire uw clip + old man saved + spinspeed/bootclip/oneframe to hera with vanilla small key or key available in keyshuffle as MAIN - upper: added pearl replacements to enter, as well as hammer replacement by clipping up via EDWDM - middle: added dungeon revive to mirror clip entry without pearl, added oneframe clip with pearl/yba/dungeon revive bootclip with pearl or yba - lower: added pearl/yba for 1frame, also spinspeed from EDWDM as setup for mirrorwrap entry - removed lamp requirement to trinexx if lower access used - added superspeed, oneframe access, as well as yba/bunny revive replacements for pearl to Kings Tomb - added oneframe access, mirrorwrap access, correct spinspeed access, and yba/bunny revive as alternate pearl to Magic Bat - added superspeed, oneframe access, as well as yba/bunny revive replacements for pearl to Graveyard - added waterwalk & OW 1frame to zora - added superspeed & OW 1frame (with waterwalk) to zora ledge --- .../Standard/DarkWorld/DeathMountain/East.php | 58 +++++--- .../Standard/DarkWorld/DeathMountain/West.php | 24 ++- app/Region/Standard/DarkWorld/Mire.php | 44 ++++-- app/Region/Standard/DarkWorld/NorthEast.php | 138 +++++++++++------- app/Region/Standard/DarkWorld/NorthWest.php | 93 ++++++++---- app/Region/Standard/DarkWorld/South.php | 93 ++++++++++-- app/Region/Standard/DesertPalace.php | 12 +- app/Region/Standard/GanonsTower.php | 15 +- app/Region/Standard/IcePalace.php | 21 +-- .../LightWorld/DeathMountain/East.php | 36 +++-- .../LightWorld/DeathMountain/West.php | 9 +- app/Region/Standard/LightWorld/NorthEast.php | 37 +++-- app/Region/Standard/LightWorld/NorthWest.php | 50 ++++--- app/Region/Standard/LightWorld/South.php | 41 +++--- app/Region/Standard/MiseryMire.php | 14 +- app/Region/Standard/PalaceOfDarkness.php | 7 +- app/Region/Standard/SkullWoods.php | 4 +- app/Region/Standard/SwampPalace.php | 18 ++- app/Region/Standard/ThievesTown.php | 4 +- app/Region/Standard/TowerOfHera.php | 4 +- app/Region/Standard/TurtleRock.php | 51 ++++--- app/Support/ItemCollection.php | 10 ++ config/logic.php | 3 - 23 files changed, 528 insertions(+), 258 deletions(-) diff --git a/app/Region/Standard/DarkWorld/DeathMountain/East.php b/app/Region/Standard/DarkWorld/DeathMountain/East.php index 7ac731e73..e67e3cec3 100644 --- a/app/Region/Standard/DarkWorld/DeathMountain/East.php +++ b/app/Region/Standard/DarkWorld/DeathMountain/East.php @@ -56,44 +56,58 @@ public function __construct(World $world) public function initalize() { $this->locations["Superbunny Cave - Top"]->setRequirements(function ($locations, $items) { - return $this->world->config('canSuperBunny', false) || $items->has('MoonPearl'); + return $this->world->config('canSuperBunny', false) || $items->has('MoonPearl') + || (($this->world->config('canOWYBA', false) && $items->hasBottle()) + && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || $this->world->config('canOneFrameClipOW', false))); }); - + $this->locations["Superbunny Cave - Bottom"]->setRequirements(function ($locations, $items) { - return $this->world->config('canSuperBunny', false) || $items->has('MoonPearl'); + return $this->world->config('canSuperBunny', false) || $items->has('MoonPearl') + || (($this->world->config('canOWYBA', false) && $items->hasBottle()) + && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || $this->world->config('canOneFrameClipOW', false))); }); - + $this->locations["Hookshot Cave - Top Right"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') - && $items->has('Hookshot') - && ($items->canLiftRocks() || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))); + return $items->has('Hookshot') + && (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasBottle())) + && ($items->canLiftRocks() || $this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->locations["Hookshot Cave - Top Left"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') - && $items->has('Hookshot') - && ($items->canLiftRocks() || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))); + return $items->has('Hookshot') + && (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasBottle())) + && ($items->canLiftRocks() || $this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->locations["Hookshot Cave - Bottom Left"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') - && $items->has('Hookshot') - && ($items->canLiftRocks() || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))); + return $items->has('Hookshot') + && (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasBottle())) + && ($items->canLiftRocks() || $this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->locations["Hookshot Cave - Bottom Right"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') - && ($items->has('Hookshot') || ($this->world->config('itemPlacement') !== 'basic' && $items->has('PegasusBoots'))) - && ($items->canLiftRocks() || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))); + return ($items->has('Hookshot') || ($this->world->config('itemPlacement') !== 'basic' && $items->has('PegasusBoots'))) + && (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasBottle())) + && ($items->canLiftRocks() || $this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && (($items->canLiftDarkRocks() && $this->world->getRegion('East Death Mountain')->canEnter($locations, $items)) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots') - && ($items->has('MoonPearl') || $items->has('Hammer'))) - || $this->world->config('canOneFrameClipOW', false)); + && ($items->has('MoonPearl') || $items->has('Hammer') + || ($this->world->config('canOWYBA', false) && $items->hasBottle()))) + || $this->world->config('canOneFrameClipOW', false) + || ($this->world->getRegion('West Death Mountain')->canEnter($locations, $items) + && ($this->world->config('canMirrorClip', false) || $this->world->config('canMirrorWrap', false)) + && $items->has('MagicMirror'))); }; return $this; diff --git a/app/Region/Standard/DarkWorld/DeathMountain/West.php b/app/Region/Standard/DarkWorld/DeathMountain/West.php index 6850698d8..c9b48b45d 100644 --- a/app/Region/Standard/DarkWorld/DeathMountain/West.php +++ b/app/Region/Standard/DarkWorld/DeathMountain/West.php @@ -46,17 +46,27 @@ public function __construct(World $world) public function initalize() { $this->shops["Dark Death Mountain Fairy"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') - && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items); + return $this->world->getRegion('West Death Mountain')->canEnter($locations, $items) + && $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle() + && (($items->has('PegasusBoots') && $this->world->config('canBootsClip', false)) + || $this->world->config('canOneFrameClipOW', false))); }); - + $this->locations["Spike Cave"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') && $items->has('Hammer') && $items->canLiftRocks() + return $this->world->getRegion('West Death Mountain')->canEnter($locations, $items) + && ($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle() + && (($items->has('PegasusBoots') && $this->world->config('canBootsClip', false)) + || $this->world->config('canOneFrameClipOW', false)) + && (($items->has('Cape') && $items->canExtendMagic(3)) + || ((!$this->world->config('region.cantTakeDamage', false) || $items->canExtendMagic(3)) + && $items->has('CaneOfByrna'))))) + && $items->has('Hammer') && $items->canLiftRocks() && (($items->canExtendMagic() && $items->has('Cape')) - || ((!$this->world->config('region.cantTakeDamage', false) || $items->canExtendMagic()) && $items->has('CaneOfByrna'))) - && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items); + || ((!$this->world->config('region.cantTakeDamage', false) || $items->canExtendMagic()) && $items->has('CaneOfByrna'))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda'); }; diff --git a/app/Region/Standard/DarkWorld/Mire.php b/app/Region/Standard/DarkWorld/Mire.php index 40d8279ed..fa3605e89 100644 --- a/app/Region/Standard/DarkWorld/Mire.php +++ b/app/Region/Standard/DarkWorld/Mire.php @@ -48,25 +48,49 @@ public function __construct(World $world) public function initalize() { $this->shops["Dark Desert Fairy"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') || $this->world->config('canSuperBunny', false); + return $items->has('MoonPearl') + || (($this->world->config('canOWYBA', false) && $items->hasABottle()) + && ($this->world->config('canOneFrameClipOW', false) || $items->hasBottle(2) + || ($items->has('MagicMirror') && $items->has('BugCatchingNet') && $this->world->config('canBunnyRevive', false)) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->shops["Dark Desert Hint"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') || $this->world->config('canSuperBunny', false); + return $items->has('MoonPearl') + || (($this->world->config('canOWYBA', false) && $items->hasABottle()) + && ($this->world->config('canOneFrameClipOW', false) || $items->hasBottle(2) + || ($items->has('MagicMirror') && $items->has('BugCatchingNet') && $this->world->config('canBunnyRevive', false)) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->locations["Mire Shed - Left"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') || $this->world->config('canSuperBunny', false); + return $items->has('MoonPearl') + || (($this->world->config('canOWYBA', false) && $items->hasABottle()) + && ($this->world->config('canOneFrameClipOW', false) || $items->hasBottle(2) + || ($items->has('MagicMirror') && $items->has('BugCatchingNet') && $this->world->config('canBunnyRevive', false)) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))) + || ($this->world->config('canSuperBunny', false) + && ($items->has('MagicMirror') || ($items->hasHealth(5) && !$this->world->config('region.cantTakeDamage', false)))); }); - + $this->locations["Mire Shed - Right"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') || $this->world->config('canSuperBunny', false); + return $items->has('MoonPearl') + || (($this->world->config('canOWYBA', false) && $items->hasABottle()) + && ($this->world->config('canOneFrameClipOW', false) || $items->hasBottle(2) + || ($items->has('MagicMirror') && $items->has('BugCatchingNet') && $this->world->config('canBunnyRevive', false)) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))) + || ($this->world->config('canSuperBunny', false) + && ($items->has('MagicMirror') || ($items->hasHealth(5) && !$this->world->config('region.cantTakeDamage', false)))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') - && (($items->canLiftDarkRocks() && ($items->canFly($this->world) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))) - || ($items->has('MoonPearl') && ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + && (($items->canLiftDarkRocks() && ($items->canFly($this->world) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))) + || $this->world->config('canOneFrameClipOW', false) + || (((($items->has('MoonPearl') || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + && ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))) + || ($this->world->config('canMirrorWrap', false) && $items->has('MagicMirror'))) && $this->world->getRegion('South Dark World')->canEnter($locations, $items)) || ($this->world->config('canOWYBA', false) && $items->hasABottle())); }; diff --git a/app/Region/Standard/DarkWorld/NorthEast.php b/app/Region/Standard/DarkWorld/NorthEast.php index fecff2ffd..70a3f29f2 100644 --- a/app/Region/Standard/DarkWorld/NorthEast.php +++ b/app/Region/Standard/DarkWorld/NorthEast.php @@ -72,82 +72,114 @@ public function __construct(World $world) public function initalize() { $this->shops["Dark World Potion Shop"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') - && ($items->canLiftRocks() || $items->has('Hammer') || $items->has('Flippers')); + return ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()) + || (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) + && ($this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || $items->has('Hammer') || $items->has('Flippers') || $items->canLiftRocks())); }); - + // @TODO: do we want to allow super bunny item shopping $this->shops["East Dark World Hint"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl'); + return $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->shops["Palace of Darkness Hint"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl'); + return $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Catfish"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') && ($items->canLiftRocks() - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))); + return (($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()) + || $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) + && ($this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || $items->canLiftRocks()); }); - + $this->locations["Pyramid Fairy - Sword"]->setRequirements(function ($locations, $items) { return $items->hasSword() - && (($items->has('Crystal5') && $items->has('Crystal6') && $items->has('MoonPearl') - && $this->world->getRegion('South Dark World')->canEnter($locations, $items) - && ($items->has('Hammer') - || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) - || (($this->world->config('canSuperSpeed', false) && $this->world->config('canMirrorClip', false) - && $items->has('MagicMirror') && $items->canSpinSpeed()) - && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items))); + && (($items->has('Crystal5') && $items->has('Crystal6') + && $this->world->getRegion('South Dark World')->canEnter($locations, $items) + && (($items->has('MoonPearl') && $items->has('Hammer')) + || ($this->world->config('canOWYBA', false) && $items->hasBottle()) + || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) + || ($this->world->config('canMirrorClip', false) && $items->has('MagicMirror') + && (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || $this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))))); }); - + $this->locations["Pyramid Fairy - Bow"]->setRequirements(function ($locations, $items) { return $items->canShootArrows() - && (($items->has('Crystal5') && $items->has('Crystal6') && $items->has('MoonPearl') - && $this->world->getRegion('South Dark World')->canEnter($locations, $items) - && ($items->has('Hammer') - || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) - || (($this->world->config('canSuperSpeed', false) && $this->world->config('canMirrorClip', false) - && $items->has('MagicMirror') && $items->canSpinSpeed()) - && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items))); + && (($items->has('Crystal5') && $items->has('Crystal6') + && $this->world->getRegion('South Dark World')->canEnter($locations, $items) + && (($items->has('MoonPearl') && $items->has('Hammer')) + || ($this->world->config('canOWYBA', false) && $items->hasBottle()) + || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) + || ($this->world->config('canMirrorClip', false) && $items->has('MagicMirror') + && (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || $this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))))); }); - - + + if ($this->world->config('region.swordsInPool', true)) { $this->locations["Pyramid Fairy - Left"]->setRequirements(function ($locations, $items) { - return ($items->has('Crystal5') && $items->has('Crystal6') && $items->has('MoonPearl') - && $this->world->getRegion('South Dark World')->canEnter($locations, $items) - && ($items->has('Hammer') - || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) - || (($this->world->config('canSuperSpeed', false) && $this->world->config('canMirrorClip', false) - && $items->has('MagicMirror') && $items->canSpinSpeed()) - && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)); + return ($items->has('Crystal5') && $items->has('Crystal6') + && $this->world->getRegion('South Dark World')->canEnter($locations, $items) + && (($items->has('MoonPearl') && $items->has('Hammer')) + || ($this->world->config('canOWYBA', false) && $items->hasBottle()) + || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) + || ($this->world->config('canMirrorClip', false) && $items->has('MagicMirror') + && (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || $this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->locations["Pyramid Fairy - Right"]->setRequirements(function ($locations, $items) { - return ($items->has('Crystal5') && $items->has('Crystal6') && $items->has('MoonPearl') - && $this->world->getRegion('South Dark World')->canEnter($locations, $items) - && ($items->has('Hammer') - || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) - || (($this->world->config('canSuperSpeed', false) && $this->world->config('canMirrorClip', false) - && $items->has('MagicMirror') && $items->canSpinSpeed()) - && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)); + return ($items->has('Crystal5') && $items->has('Crystal6') + && $this->world->getRegion('South Dark World')->canEnter($locations, $items) + && (($items->has('MoonPearl') && $items->has('Hammer')) + || ($this->world->config('canOWYBA', false) && $items->hasBottle()) + || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) + || ($this->world->config('canMirrorClip', false) && $items->has('MagicMirror') + && (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || $this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); } - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && (($this->world->config('canOWYBA', false) && $items->hasABottle()) - || ($items->has('DefeatAgahnim') - || ($items->has('Hammer') && $items->canLiftRocks() && $items->has('MoonPearl')) - || ($items->canLiftDarkRocks() - && ($items->has('Flippers') || ( - (($this->world->config('canBootsClip', false) && $this->world->config('canFakeFlipper', false)) - || $this->world->config('canWaterWalk', false)) && $items->has('PegasusBoots'))) - && $items->has('MoonPearl')) - || (($this->world->config('canSuperSpeed', false) && $this->world->config('canMirrorClip', false) - && $items->has('MagicMirror') && $items->canSpinSpeed()) - && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)))); + || $this->world->config('canOneFrameClipOW', false) + || ($items->has('MoonPearl') && ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))) + || ($items->has('MagicMirror') && $this->world->config('canMirrorClip', false) + && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items) + && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || ($items->has('MoonPearl') && $this->world->config('canFakeFlipper', false)))) + || $items->has('DefeatAgahnim') + || ($items->has('MagicMirror') && $this->world->config('canMirrorWrap', false) + && $this->world->config('canBunnyRevive', false) && $items->canBunnyRevive() + && (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || $this->world->config('canMirrorClip', false)) + && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)) + || ($items->has('Hammer') && $items->canLiftRocks() && $items->has('MoonPearl')) + || (($items->canLiftDarkRocks() || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || ($items->has('MagicMirror') && $this->world->config('canMirrorClip', false))) + && $items->has('MoonPearl') + && ($items->has('Hammer') || $items->has('Flippers') + || ($items->has('MagicMirror') && $this->world->config('canMirrorWrap', false) && $items->canLiftRocks()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()) + || ($this->world->config('canWaterWalk', false) && $items->has('PegasusBoots')) + || ($this->world->config('canFakeFlipper', false) && !$this->world->config('region.cantTakeDamage', false))))); }; $this->prize_location->setRequirements(function ($locations, $items) { diff --git a/app/Region/Standard/DarkWorld/NorthWest.php b/app/Region/Standard/DarkWorld/NorthWest.php index 6487c7666..0e66722e2 100644 --- a/app/Region/Standard/DarkWorld/NorthWest.php +++ b/app/Region/Standard/DarkWorld/NorthWest.php @@ -70,59 +70,98 @@ public function __construct(World $world) public function initalize() { $this->shops["Dark World Outcasts Shop"]->setRequirements(function ($locations, $items) { - return $items->has('Hammer'); + return $items->has('Hammer') && ($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->locations["Brewery"]->setRequirements(function ($locations, $items) { return $items->canBombThings() && ($items->has('MoonPearl') - || ($this->world->config('canOWYBA', false) && $items->hasABottle())); + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->locations["C-Shaped House"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') || $this->world->config('canSuperBunny', false); + return $items->has('MoonPearl') || $this->world->config('canSuperBunny', false) + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Chest Game"]->setRequirements(function ($locations, $items) { - return $items->has('MoonPearl') || $this->world->config('canSuperBunny', false); + return $items->has('MoonPearl') || $this->world->config('canSuperBunny', false) + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Hammer Pegs"]->setRequirements(function ($locations, $items) { - return $items->has('Hammer') + return $items->has('Hammer') && ($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) && ($items->canLiftDarkRocks() - || ($this->world->config('canFakeFlipper', false) + || ($items->has('MagicMirror') && $this->world->config('canMirrorWrap', false)) + || (($this->world->config('canFakeFlipper', false) || $items->has('Flippers')) && ($this->world->config('canOneFrameClipOW', false) - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))))); + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed())))); }); - + $this->locations["Bumper Cave"]->setRequirements(function ($locations, $items) { - return (($this->world->config('itemPlacement') !== 'basic' || $items->has('Hookshot')) - && $items->canLiftRocks() && $items->has('Cape')) - || $this->world->config('canOneFrameClipOW', false) - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')); + return $this->world->config('canOneFrameClipOW', false) + || (($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || (($this->world->config('itemPlacement') !== 'basic' || $items->has('Hookshot')) + && $items->canLiftRocks() && $items->has('Cape')))); }); - + $this->locations["Blacksmith"]->setRequirements(function ($locations, $items) { return ($this->world->config('itemPlacement') !== 'basic' || $items->has('MagicMirror')) - && $items->canLiftDarkRocks(); + && ((($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + && $items->canLiftDarkRocks()) + || (($this->world->config('canOWYBA', false) && $items->hasBottle()) + && ($this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots') + && ($items->has('MoonPearl') || $items->hasBottle(2)))))); }); - + $this->locations["Purple Chest"]->setRequirements(function ($locations, $items) { return $locations["Blacksmith"]->canAccess($items) - && ($items->canLiftDarkRocks() - || $this->world->config('canFakeFlipper', false)); + && (($items->has('MagicMirror') && $this->world->config('canMirrorWrap', false)) + || (($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + && ($items->canLiftDarkRocks() + || (($this->world->config('canFakeFlipper', false) || $items->has('Flippers')) + && ($this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed())))))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && ($this->world->config('canOneFrameClipOW', false) - || (($items->has('MoonPearl') - || ($this->world->config('canOWYBA', false) && $items->hasABottle())) + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->getRegion('West Death Mountain')->canEnter($locations, $items) && $items->has('MagicMirror') + && ($this->world->config('canMirrorClip', false) + || ($this->world->config('canMirrorWrap', false) + && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()))))) + || ($this->world->config('canBunnySurf', false) && $this->world->config('canMirrorWrap', false) && $items->has('MagicMirror') + && $items->has('Flippers') && $items->has('DefeatAgahnim')) + || ($items->has('MoonPearl') && (($this->world->getRegion('North East Dark World')->canEnter($locations, $items) - && ($items->has('Hookshot') && ($items->has('Flippers') || $items->canLiftRocks() || $items->has('Hammer')))) + && (($items->has('Hookshot') || ($this->world->config('canMirrorWrap', false) && $items->has('MagicMirror'))) + && ($items->canLiftRocks() || $items->has('Hammer') + || ($items->has('Flippers') + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()))))) || ($items->has('Hammer') && $items->canLiftRocks()) - || $items->canLiftDarkRocks()))); + || $items->canLiftDarkRocks() + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed())))); }; - return $this; } } diff --git a/app/Region/Standard/DarkWorld/South.php b/app/Region/Standard/DarkWorld/South.php index 8d48407cf..c6d2bd457 100644 --- a/app/Region/Standard/DarkWorld/South.php +++ b/app/Region/Standard/DarkWorld/South.php @@ -62,30 +62,97 @@ public function __construct(World $world) */ public function initalize() { + $this->locations["Hype Cave - Top"]->setRequirements(function ($locations, $items) { + return $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); + }); + + $this->locations["Hype Cave - Middle Right"]->setRequirements(function ($locations, $items) { + return $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); + }); + + $this->locations["Hype Cave - Middle Left"]->setRequirements(function ($locations, $items) { + return $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); + }); + + $this->locations["Hype Cave - Bottom"]->setRequirements(function ($locations, $items) { + return $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); + }); + + $this->locations["Hype Cave - NPC"]->setRequirements(function ($locations, $items) { + return $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); + }); + + $this->locations["Stumpy"]->setRequirements(function ($locations, $items) { + return $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()) + || ($items->has('MagicMirror') && $this->world->config('canMirrorWrap', false)); + }); + + $this->locations["Digging Game"]->setRequirements(function ($locations, $items) { + return $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); + }); + $this->shops["Bonk Fairy (Dark)"]->setRequirements(function ($locations, $items) { - return $items->has('PegasusBoots'); + return $items->has('PegasusBoots') + && ($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->shops["Dark Lake Hylia Ledge Fairy"]->setRequirements(function ($locations, $items) { - return $items->has('Flippers') && $items->canBombThings(); + return ($items->canBombThings() || ($items->has('PegasusBoots') && $this->world->config('canBootsClip', false))) + && ($items->has('Flippers') + || ($this->world->getRegion('North West Dark World')->canEnter($locations, $items) + && $this->world->config('canFakeFlipper', false) && (!$this->world->config('region.cantTakeDamage', false))) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + && ($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->shops["Dark Lake Hylia Ledge Hint"]->setRequirements(function ($locations, $items) { - return $items->has('Flippers'); + return ($items->has('Flippers') + || ($this->world->getRegion('North West Dark World')->canEnter($locations, $items) + && $this->world->config('canFakeFlipper', false) && (!$this->world->config('region.cantTakeDamage', false))) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + && ($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->shops["Dark Lake Hylia Ledge Spike Cave"]->setRequirements(function ($locations, $items) { - return $items->has('Flippers') && $items->canLiftRocks(); + return $items->canLiftRocks() + && ($items->has('Flippers') + || ($this->world->getRegion('North West Dark World')->canEnter($locations, $items) + && $this->world->config('canFakeFlipper', false) && (!$this->world->config('region.cantTakeDamage', false))) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + && ($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && (($this->world->config('canOWYBA', false) && $items->hasABottle()) - || ($items->has('MoonPearl') - && (($this->world->getRegion('North East Dark World')->canEnter($locations, $items) && ($items->has('Hammer') - || ($items->has('Hookshot') && ($items->has('Flippers') || $items->canLiftRocks())))) - || ($items->has('Hammer') && $items->canLiftRocks()) - || $items->canLiftDarkRocks()))); + || (($items->has('MoonPearl') || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + && ($this->world->getRegion('North East Dark World')->canEnter($locations, $items) + && ($items->has('Hammer') + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed() + && ($this->world->config('canFakeFlipper', false) || $items->has('Flippers')))))) + || $this->world->getRegion('North West Dark World')->canEnter($locations, $items)); }; return $this; diff --git a/app/Region/Standard/DesertPalace.php b/app/Region/Standard/DesertPalace.php index ae526a5c6..3b9d20711 100644 --- a/app/Region/Standard/DesertPalace.php +++ b/app/Region/Standard/DesertPalace.php @@ -90,11 +90,13 @@ public function initalize() $this->can_complete = function ($locations, $items) { return $this->locations["Desert Palace - Boss"]->canAccess($items); }; - $this->locations["Desert Palace - Boss"]->setRequirements(function ($locations, $items) { return $this->canEnter($locations, $items) && ($items->canLiftRocks() - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || $this->world->config('canOneFrameClipOW', false) + || ($items->has('MagicMirror') && $this->world->getRegion('Mire')->canEnter($locations, $items))) && $items->canLightTorches() && $items->has('BigKeyP2') && $items->has('KeyP2') && $this->boss->canBeat($items, $locations) @@ -108,19 +110,17 @@ public function initalize() ) { return false; } - return !in_array($item, [Item::get('KeyP2', $this->world), Item::get('BigKeyP2', $this->world)]); })->setAlwaysAllow(function ($item, $items) { return $this->world->config('region.bossNormalLocation', true) && ($item == Item::get('CompassP2', $this->world) || $item == Item::get('MapP2', $this->world)); }); - $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && ($items->has('BookOfMudora') || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) - || ($items->has('MagicMirror') && ($this->world->config('canOWYBA', false) && $items->hasABottle())) - || ($items->has('MagicMirror') && $items->canLiftDarkRocks() && $items->canFly($this->world))); + || $this->world->config('canOneFrameClipOW', false) + || ($items->has('MagicMirror') && $this->world->getRegion('Mire')->canEnter($locations, $items))); }; $this->prize_location->setRequirements($this->can_complete); diff --git a/app/Region/Standard/GanonsTower.php b/app/Region/Standard/GanonsTower.php index d1d8548c6..7c282b0a5 100644 --- a/app/Region/Standard/GanonsTower.php +++ b/app/Region/Standard/GanonsTower.php @@ -396,17 +396,22 @@ public function initalize() return $items->has('RescueZelda') && ($this->world->config('itemPlacement') !== 'basic' || (($this->world->config('mode.weapons') === 'swordless' || $items->hasSword(2)) && $items->hasHealth(12) && ($items->hasBottle(2) || $items->hasArmor()))) - && (($items->has('MoonPearl') - && ((($items->has('Crystal1') + && ((($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasBottle())) + && (((($items->has('Crystal1') + $items->has('Crystal2') + $items->has('Crystal3') + $items->has('Crystal4') + $items->has('Crystal5') + $items->has('Crystal6') + $items->has('Crystal7')) >= $this->world->config('crystals.tower', 7)) - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))) - || $this->world->config('canOneFrameClipOW', false)) - && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items); + && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items)) + || ((($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($this->world->config('canSuperSpeed', false) && $items->has('PegasusBoots') + && $items->has('Hookshot') && $items->hasSword())) + && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)))) + || ($this->world->config('canOneFrameClipOW', false) + && ($this->world->config('canDungeonRevive', false) || $items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasBottle())))); }; return $this; diff --git a/app/Region/Standard/IcePalace.php b/app/Region/Standard/IcePalace.php index 1f6c983f2..80c54472b 100644 --- a/app/Region/Standard/IcePalace.php +++ b/app/Region/Standard/IcePalace.php @@ -100,10 +100,10 @@ public function initalize() $this->can_complete = function ($locations, $items) { return $this->locations["Ice Palace - Boss"]->canAccess($items); }; - + $this->locations["Ice Palace - Boss"]->setRequirements(function ($locations, $items) { return $this->canEnter($locations, $items) - && $items->has('Hammer') && $items->canMeltThings($this->world) && $items->canLiftRocks() + && $items->has('Hammer') && $items->canLiftRocks() && $this->boss->canBeat($items, $locations) && $items->has('BigKeyD5') && ( ($this->world->config('itemPlacement') !== 'basic' && ($items->has('CaneOfSomaria') && $items->has('KeyD5') @@ -119,26 +119,29 @@ public function initalize() ) { return false; } - return true; })->setAlwaysAllow(function ($item, $items) { return $this->world->config('region.bossNormalLocation', true) && ($item == Item::get('CompassD5', $this->world) || $item == Item::get('MapD5', $this->world)); }); - - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && ($this->world->config('itemPlacement') !== 'basic' || (($this->world->config('mode.weapons') === 'swordless' || $items->hasSword(2)) && $items->hasHealth(12) && ($items->hasBottle(2) || $items->hasArmor()))) && ($items->canMeltThings($this->world) || $this->world->config('canOneFrameClipUW', false)) && ((($items->has('MoonPearl') || $this->world->config('canDungeonRevive', false)) - && ($items->has('Flippers') || $this->world->config('canFakeFlipper', false)) + && ($items->has('Flippers') || $this->world->config('canFakeFlipper', false) + || ($this->world->config('canWaterWalk', false) && $items->has('PegasusBoots')) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) && $items->canLiftDarkRocks()) || ($this->world->config('canMirrorWrap', false) && $items->has('MagicMirror') - && ($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) - && ($this->world->config('canOneFrameClipOW', false) - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))) + && ((($items->has('MoonPearl') + || ($items->hasABottle() && $this->world->config('canOWYBA', false)) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()))) + || $this->world->config('canOneFrameClipOW', false)) && $this->world->getRegion('South Dark World')->canEnter($locations, $items))); }; diff --git a/app/Region/Standard/LightWorld/DeathMountain/East.php b/app/Region/Standard/LightWorld/DeathMountain/East.php index 554137f91..ae92719d8 100644 --- a/app/Region/Standard/LightWorld/DeathMountain/East.php +++ b/app/Region/Standard/LightWorld/DeathMountain/East.php @@ -64,33 +64,39 @@ public function initalize() $this->shops["Light World Death Mountain Shop"]->setRequirements(function ($locations, $items) { return $items->canBombThings(); }); - + $this->locations["Mimic Cave"]->setRequirements(function ($locations, $items) { return $items->has('Hammer') && $items->has('MagicMirror') - && (($this->world->config('canMirrorClip', false) - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots') && $items->has('MoonPearl') - && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items))) || ($items->has('KeyD7', 2) - && $this->world->getRegion('Turtle Rock')->canEnter($locations, $items))); + && ($this->world->config('canMirrorClip', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots') + && ($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->has('Bottle')))) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed() && $items->has('MoonPearl') + && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items)) + || $this->world->config('canOneFrameClipOW', false) + || ($items->has('KeyD7', 2) && $this->world->getRegion('Turtle Rock')->canEnter($locations, $items))); }); - + $this->locations["Floating Island"]->setRequirements(function ($locations, $items) { return ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) - || ($items->has('MagicMirror') && $items->has('MoonPearl') - && $items->canBombThings() - && $items->canLiftRocks() + || ($this->world->config('canOWYBA', false) && $items->has('Bottle')) + || $this->world->config('canOneFrameClipOW', false) + || ($items->has('MagicMirror') + && (($items->has('MoonPearl') && $items->canBombThings() && $items->canLiftRocks()) + || $this->world->config('canMirrorWrap', false)) && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items)); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') - && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items) && ($this->world->config('canOneFrameClipOW', false) - || ($this->world->config('canMirrorClip', false) && $items->has('MagicMirror')) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) - || ($items->has('Hammer') && $items->has('MagicMirror')) - || $items->has('Hookshot')); + || ($this->world->config('capSuperSpeed', false) && $items->canSpinSpeed()) + || (((($this->world->config('canMirrorClip', false) || $this->world->config('canMirrorWrap', false)) + && $items->has('MagicMirror')) || $items->has('Hookshot')) + && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)) + || ($items->has('Hammer') && $this->world->getRegion('Tower of Hera')->canEnter($locations, $items))); }; - return $this; + return $this; } } diff --git a/app/Region/Standard/LightWorld/DeathMountain/West.php b/app/Region/Standard/LightWorld/DeathMountain/West.php index 90ae0bc3f..63bc81790 100644 --- a/app/Region/Standard/LightWorld/DeathMountain/West.php +++ b/app/Region/Standard/LightWorld/DeathMountain/West.php @@ -46,28 +46,29 @@ public function initalize() $this->locations["Old Man"]->setRequirements(function ($locations, $items) { return $items->has('Lamp', $this->world->config('item.require.Lamp', 1)); }); - + $this->locations["Ether Tablet"]->setRequirements(function ($locations, $items) { return $items->has('BookOfMudora') && ($items->hasSword(2) || ($this->world->config('mode.weapons') == 'swordless' && $items->has('Hammer'))) && $this->world->getRegion('Tower of Hera')->canEnter($locations, $items); }); - + $this->locations["Spectacle Rock"]->setRequirements(function ($locations, $items) { return $items->has('MagicMirror') || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || $this->world->config('canOneFrameClipOW', false); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && ($items->canFly($this->world) || $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) || ($items->canLiftRocks() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1)))); }; - return $this; + return $this; } } diff --git a/app/Region/Standard/LightWorld/NorthEast.php b/app/Region/Standard/LightWorld/NorthEast.php index 7442cbe0b..a09ddcb26 100644 --- a/app/Region/Standard/LightWorld/NorthEast.php +++ b/app/Region/Standard/LightWorld/NorthEast.php @@ -59,40 +59,45 @@ public function initalize() $this->locations["Sahasrahla"]->setRequirements(function ($locations, $items) { return $items->has('PendantOfCourage'); }); - + $this->locations["King Zora"]->setRequirements(function ($locations, $items) { return $this->world->config('canFakeFlipper', false) - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || (($this->world->config('canWaterWalk', false) || $this->world->config('canBootsClip', false)) + && $items->has('PegasusBoots')) + || $this->world->config('canOneFrameClipOW', false) || $items->canLiftRocks() || $items->has('Flippers'); }); - + $this->locations["Potion Shop"]->setRequirements(function ($locations, $items) { return $items->has('Mushroom'); }); - + $this->locations["Zora's Ledge"]->setRequirements(function ($locations, $items) { return $items->has('Flippers') || ($items->has('PegasusBoots') && ($this->world->config('canWaterWalk', false) - && ($this->world->config('canFakeFlipper', false) || $this->world->config('canBootsClip', false)))); + && ($this->world->config('canFakeFlipper', false) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || $this->world->config('canBootsClip', false) + || $this->world->config('canOneFrameClipOW', false)))); }); - + $this->locations["Waterfall Fairy - Left"]->setRequirements(function ($locations, $items) { - return ($this->world->config('canFakeFlipper', false) && $items->has('MoonPearl')) - || ($this->world->config('canWaterWalk', false) && $items->has('PegasusBoots')) - || $items->has('Flippers'); + return $items->has('Flippers') + || ($this->world->config('canWaterWalk', false) && ($items->has('PegasusBoots') + || ($items->has('MoonPearl') && $this->world->config('canFakeFlipper', false)))); }); - + $this->locations["Waterfall Fairy - Right"]->setRequirements(function ($locations, $items) { - return ($this->world->config('canFakeFlipper', false) && $items->has('MoonPearl')) - || ($this->world->config('canWaterWalk', false) && $items->has('PegasusBoots')) - || $items->has('Flippers'); + return $items->has('Flippers') + || ($this->world->config('canWaterWalk', false) && ($items->has('PegasusBoots') + || ($items->has('MoonPearl') && $this->world->config('canFakeFlipper', false)))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda'); }; - - return $this; + + return $this; } } diff --git a/app/Region/Standard/LightWorld/NorthWest.php b/app/Region/Standard/LightWorld/NorthWest.php index 479b432b6..917464457 100644 --- a/app/Region/Standard/LightWorld/NorthWest.php +++ b/app/Region/Standard/LightWorld/NorthWest.php @@ -82,48 +82,62 @@ public function initalize() $this->shops["Bomb Hut"]->setRequirements(function ($locations, $items) { return $items->canBombThings(); }); - + $this->locations["Master Sword Pedestal"]->setRequirements(function ($locations, $items) { return ($this->world->config('itemPlacement') !== 'basic' || $items->has('BookOfMudora')) && $items->has('PendantOfPower') && $items->has('PendantOfWisdom') && $items->has('PendantOfCourage'); }); - + $this->locations["King's Tomb"]->setRequirements(function ($locations, $items) { - return $items->has('PegasusBoots') && ($this->world->config('canBootsClip', false) - || ($items->canLiftDarkRocks() - || ($items->has('MagicMirror') && $items->has('MoonPearl') - && $this->world->getRegion('North West Dark World')->canEnter($locations, $items)))); + return $items->has('PegasusBoots') + && ($this->world->config('canBootsClip', false) + || $items->canLiftDarkRocks() + || $this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || ($items->has('MagicMirror') && $this->world->getRegion('North West Dark World')->canEnter($locations, $items) + && ($items->has('MoonPearl') || ($items->hasABottle() && $this->world->config('canOWYBA', false)) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())))); }); - + $this->locations["Pegasus Rocks"]->setRequirements(function ($locations, $items) { return $items->has('PegasusBoots'); }); - + $this->locations["Magic Bat"]->setRequirements(function ($locations, $items) { return $items->has('Powder') && ($items->has('Hammer') - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) - || ($this->world->getLocation('Hammer Pegs')->canAccess($items) && $items->has('MagicMirror')) - || ($items->has('MoonPearl') && $items->has('MagicMirror') && $items->canLiftDarkRocks() - && $this->world->getRegion('North West Dark World')->canEnter($locations, $items))); + || ((($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || $this->world->config('canOneFrameClipOW', false)) + && ($items->has('Flippers') || $this->world->config('canFakeFlippers', false))) + || ($items->has('MagicMirror') + && (($this->world->config('canMirrorWrap', false) && $this->world->getRegion('North West Dark World')->canEnter($locations, $items)) + || (($items->has('MoonPearl') || ($items->hasABottle() && $this->world->config('canOWYBA', false)) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + && (($items->canLiftDarkRocks() && $this->world->getRegion('North West Dark World')->canEnter($locations, $items)) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed() + && ($items->has('Flippers') || $this->world->config('canFakeFlippers', false)) + && $this->world->getRegion('North East Dark World')->canEnter($locations, $items))))))); }); - + $this->locations["Sick Kid"]->setRequirements(function ($locations, $items) { return $items->hasABottle(); }); - + $this->locations["Lumberjack Tree"]->setRequirements(function ($locations, $items) { return $items->has('DefeatAgahnim') && $items->has('PegasusBoots'); }); - + $this->locations["Graveyard Ledge"]->setRequirements(function ($locations, $items) { return ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) - || ($items->has('MagicMirror') && $items->has('MoonPearl') - && $this->world->getRegion('North West Dark World')->canEnter($locations, $items)); + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || $this->world->config('canOneFrameClipOW', false) + || ($items->has('MagicMirror') && $this->world->getRegion('North West Dark World')->canEnter($locations, $items) + && ($items->has('MoonPearl') || ($items->hasABottle() && $this->world->config('canOWYBA', false)) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda'); }; diff --git a/app/Region/Standard/LightWorld/South.php b/app/Region/Standard/LightWorld/South.php index 5a5276cca..f235781f3 100644 --- a/app/Region/Standard/LightWorld/South.php +++ b/app/Region/Standard/LightWorld/South.php @@ -86,32 +86,33 @@ public function initalize() $this->shops["20 Rupee Cave"]->setRequirements(function ($locations, $items) { return $items->canLiftRocks(); }); - + $this->shops["50 Rupee Cave"]->setRequirements(function ($locations, $items) { return $items->canLiftRocks(); }); - + $this->shops["Bonk Fairy (Light)"]->setRequirements(function ($locations, $items) { return $items->has('PegasusBoots'); }); - + $this->shops["Light Hype Fairy"]->setRequirements(function ($locations, $items) { return $items->canBombThings(); }); - + $this->shops["Capacity Upgrade"]->setRequirements(function ($locations, $items) { - return $this->world->config('canFakeFlipper', false) || $items->has('Flippers'); + return ($this->world->config('canWaterWalk', false) && $items->has('PegasusBoots')) + || $this->world->config('canFakeFlipper', false) || $items->has('Flippers'); }); - + $this->locations["Aginah's Cave"]->setRequirements(function ($locations, $items) { return $items->canBombThings(); }); - + $this->locations["Hobo"]->setRequirements(function ($locations, $items) { return ($this->world->config('canWaterWalk', false) && $items->has('PegasusBoots')) || $this->world->config('canFakeFlipper', false) || $items->has('Flippers'); }); - + $this->locations["Bombos Tablet"]->setRequirements(function ($locations, $items) { return $items->has('BookOfMudora') && ($items->hasSword(2) || ($this->world->config('mode.weapons') == 'swordless' && $items->has('Hammer'))) @@ -119,42 +120,44 @@ public function initalize() || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || ($items->has('MagicMirror') && $this->world->getRegion('South Dark World')->canEnter($locations, $items))); }); - + $this->locations["Cave 45"]->setRequirements(function ($locations, $items) { return $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || ($items->has('MagicMirror') && $this->world->getRegion('South Dark World')->canEnter($locations, $items)); }); - + $this->locations["Checkerboard Cave"]->setRequirements(function ($locations, $items) { return $items->canLiftRocks() && ($this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || ($items->has('MagicMirror') && $this->world->getRegion('Mire')->canEnter($locations, $items))); }); - + $this->locations["Library"]->setRequirements(function ($locations, $items) { return $items->has('PegasusBoots'); }); - + $this->locations["Desert Ledge"]->setRequirements(function ($locations, $items) { return $this->world->getRegion('Desert Palace')->canEnter($locations, $items); }); - + $this->locations["Lake Hylia Island"]->setRequirements(function ($locations, $items) { return $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($items->has('MagicMirror') && $this->world->config('canWaterWalk', false) && $items->has('PegasusBoots') + && ($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) + && $this->world->getRegion('North West Dark World')->canEnter($locations, $items)) || ($items->has('Flippers') && $items->has('MagicMirror') - && ((($this->world->config('canBunnySurf', false) || $items->has('MoonPearl')) - && $this->world->getRegion('North East Dark World')->canEnter($locations, $items)) - || ($this->world->getRegion('South Dark World')->canEnter($locations, $items) - && $items->has('MoonPearl')))); + && ($this->world->config('canBunnySurf', false) + || $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) + && $this->world->getRegion('North East Dark World')->canEnter($locations, $items)); }); - + $this->locations["Flute Spot"]->setRequirements(function ($locations, $items) { return $items->has('Shovel'); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda'); }; diff --git a/app/Region/Standard/MiseryMire.php b/app/Region/Standard/MiseryMire.php index 164821fbe..559cc1e71 100644 --- a/app/Region/Standard/MiseryMire.php +++ b/app/Region/Standard/MiseryMire.php @@ -132,8 +132,18 @@ public function initalize() || ($locations["Misery Mire Medallion"]->hasItem(Item::get('Ether', $this->world)) && $items->has('Ether')) || ($locations["Misery Mire Medallion"]->hasItem(Item::get('Quake', $this->world)) && $items->has('Quake'))) && ($this->world->config('mode.weapons') == 'swordless' || $items->hasSword())) - && $items->has('MoonPearl') && ( - ($this->world->config('itemPlacement') !== 'basic' && $items->has('PegasusBoots')) + && ($items->has('MoonPearl') + || ($items->hasABottle() + && (($items->has('BugCatchingNet') && $this->world->config('canBunnyRevive', false) + && (($items->canLiftDarkRocks() && ($items->canFly($this->world) || + ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))) + || ($this->world->config('canOWYBA', false) && $items->has('MagicMirror')) + || $this->world->config('canOneFrameClipOW', false))) + || ($this->world->config('canOWYBA', false) + && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || $this->world->config('canOneFrameClipOW', false) + || $items->hasBottle(2)))))) + && (($this->world->config('itemPlacement') !== 'basic' && $items->has('PegasusBoots')) || $items->has('Hookshot')) && $items->canKillMostThings(8) && $this->world->getRegion('Mire')->canEnter($locations, $items); diff --git a/app/Region/Standard/PalaceOfDarkness.php b/app/Region/Standard/PalaceOfDarkness.php index 4f9e51ea5..dd097c36d 100644 --- a/app/Region/Standard/PalaceOfDarkness.php +++ b/app/Region/Standard/PalaceOfDarkness.php @@ -176,9 +176,12 @@ public function initalize() return $items->has('RescueZelda') && ($this->world->config('itemPlacement') !== 'basic' || (($this->world->config('mode.weapons') === 'swordless' || $items->hasSword()) && $items->hasHealth(7) && $items->hasBottle())) - && ((($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) + && ((($items->has('MoonPearl') + || (($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canSpinSpeed()))) && $this->world->getRegion('North East Dark World')->canEnter($locations, $items)) - || ($this->world->config('canOneFrameClipUW', false) && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items))); + || ($this->world->config('canOneFrameClipUW', false) && $this->world->config('canDungeonRevive', false) + && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items))); }; $this->prize_location->setRequirements($this->can_complete); diff --git a/app/Region/Standard/SkullWoods.php b/app/Region/Standard/SkullWoods.php index a224a9f1f..b8a0b6426 100644 --- a/app/Region/Standard/SkullWoods.php +++ b/app/Region/Standard/SkullWoods.php @@ -148,7 +148,9 @@ public function initalize() return $items->has('RescueZelda') && ($this->world->config('itemPlacement') !== 'basic' || (($this->world->config('mode.weapons') === 'swordless' || $items->hasSword()) && $items->hasHealth(7) && $items->hasBottle())) - && ($this->world->config('canDungeonRevive') || $items->has('MoonPearl')) + && ($this->world->config('canDungeonRevive') || $items->has('MoonPearl') + || (($items->hasABottle() && $this->world->config('canOWYBA', false)) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()))) && $this->world->getRegion('North West Dark World')->canEnter($locations, $items); }; diff --git a/app/Region/Standard/SwampPalace.php b/app/Region/Standard/SwampPalace.php index 09cb8ecf3..c4a28a2fa 100644 --- a/app/Region/Standard/SwampPalace.php +++ b/app/Region/Standard/SwampPalace.php @@ -71,17 +71,25 @@ public function __construct(World $world) */ public function initalize() { - $main = function ($locations, $items) { - return $items->has('MoonPearl') && $items->has('MagicMirror') && $items->has('Flippers') - && $this->world->getRegion('South Dark World')->canEnter($locations, $items); - }; - $mire = function ($locations, $items) { return $this->world->config('canOneFrameClipUW', false) && $items->has('KeyD6', 3) && $this->world->getRegion('Misery Mire')->canEnter($locations, $items); }; + $main = function ($locations, $items) { + return $items->has('MoonPearl') && $items->has('Flippers') + && $this->world->getRegion('South Dark World')->canEnter($locations, $items) + && ($items->has('MagicMirror') + || (($this->world->config('canOneFrameClipUW', false) + && $items->has('KeyD6', 3) && $this->world->getRegion('Misery Mire')->canEnter($locations, $items)) + && $locations["Old Man"]->canAccess($items) + && (!$this->world->config('region.wildKeys', false) || $items->has('KeyD2')) + && (($items->has('PegasusBoots') && $this->world->config('canBootsClip', false)) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || $this->world->config('canOneFrameClipOW', false)))); + }; + $this->locations["Swamp Palace - Entrance"]->setFillRules(function ($item, $locations, $items) { return $this->world->config('region.wildKeys', false) || $item == Item::get('KeyD2', $this->world); }); diff --git a/app/Region/Standard/ThievesTown.php b/app/Region/Standard/ThievesTown.php index 0d7a60319..413ed1f68 100644 --- a/app/Region/Standard/ThievesTown.php +++ b/app/Region/Standard/ThievesTown.php @@ -117,7 +117,9 @@ public function initalize() return $items->has('RescueZelda') && ($this->world->config('itemPlacement') !== 'basic' || (($this->world->config('mode.weapons') === 'swordless' || $items->hasSword()) && $items->hasHealth(7) && $items->hasBottle())) - && ($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) + && ($items->has('MoonPearl') + || ($items->hasABottle() && $this->world->config('canOWYBA', false)) + || ($this->world->config('canBunnyRevive', false) && $items->canSpinSpeed())) && $this->world->getRegion('North West Dark World')->canEnter($locations, $items); }; diff --git a/app/Region/Standard/TowerOfHera.php b/app/Region/Standard/TowerOfHera.php index f0b861dfa..b16cf6c30 100644 --- a/app/Region/Standard/TowerOfHera.php +++ b/app/Region/Standard/TowerOfHera.php @@ -100,7 +100,9 @@ public function canPlaceBoss(Boss $boss, string $level = 'top'): bool public function initalize() { $main = function ($locations, $items) { - return ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + return (($items->has('PegasusBoots') && $this->world->config('canBootsClip', false)) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed())) + || $this->world->config('canOneFrameClipOW', false) || (($items->has('MagicMirror') || ($items->has('Hookshot') && $items->has('Hammer'))) && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)); }; diff --git a/app/Region/Standard/TurtleRock.php b/app/Region/Standard/TurtleRock.php index 82ea66ef6..454d4f836 100644 --- a/app/Region/Standard/TurtleRock.php +++ b/app/Region/Standard/TurtleRock.php @@ -84,35 +84,43 @@ public function __construct(World $world) public function initalize() { $upper = function ($locations, $items) { - return ((($locations["Turtle Rock Medallion"]->hasItem(Item::get('Bombos', $this->world)) && $items->has('Bombos')) - || ($locations["Turtle Rock Medallion"]->hasItem(Item::get('Ether', $this->world)) && $items->has('Ether')) - || ($locations["Turtle Rock Medallion"]->hasItem(Item::get('Quake', $this->world)) && $items->has('Quake'))) - && ($this->world->config('mode.weapons') == 'swordless' || $items->hasSword())) - && $items->has('MoonPearl') + return (($locations["Turtle Rock Medallion"]->hasItem(Item::get('Bombos', $this->world)) && $items->has('Bombos')) + || ($locations["Turtle Rock Medallion"]->hasItem(Item::get('Ether', $this->world)) && $items->has('Ether')) + || ($locations["Turtle Rock Medallion"]->hasItem(Item::get('Quake', $this->world)) && $items->has('Quake'))) + && ($this->world->config('mode.weapons') == 'swordless' || $items->hasSword()) + && ($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle() + && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || $this->world->config('canOneFrameClipOW', false)))) && $items->has('CaneOfSomaria') - && (($items->has('Hammer') - && ($items->canLiftDarkRocks() || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))) + && (($items->has('Hammer') && $items->canLiftDarkRocks() && $this->world->getRegion('East Death Mountain')->canEnter($locations, $items)) || (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) - && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items))); + || $this->world->config('canOneFrameClipOW', false))); }; - + $middle = function ($locations, $items) { - return (($this->world->config('canMirrorClip', false) && $items->has('MagicMirror')) - || (($this->world->config('canSuperSpeed', false) && $items->has('MoonPearl') && $items->canSpinSpeed()) - || ($this->world->config('canOneFrameClipOW', false) && $this->world->config('canOWYBA', false) && $items->hasABottle()))) + return ((($this->world->config('canMirrorClip', false) && $items->has('MagicMirror')) + && ($items->has('MoonPearl') || $this->world->config('canDungeonRevive', false))) + || (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + && (($this->world->config('canOWYBA', false) && $items->hasABottle()) || $items->has('MoonPearl'))) + || ($this->world->config('canSuperSpeed', false) && $items->has('MoonPearl') && $items->canSpinSpeed()) + || ($this->world->config('canOneFrameClipOW', false) && ($this->world->config('canDungeonRevive', false) + || $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())))) && ($items->has('PegasusBoots') || $items->has('CaneOfSomaria') || $items->has('Hookshot') || !$this->world->config('region.cantTakeDamage', false) && ($items->has('Cape') || $items->has('CaneOfByrna'))) && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items); }; - + $lower = function ($locations, $items) { return $this->world->config('canMirrorWrap', false) && $items->has('MagicMirror') && ($items->has('MoonPearl') - || ($this->world->config('canOWYBA', false) && $items->hasABottle() && $this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))) - && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || $this->world->config('canOneFrameClipOW', false)) - && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items); + || ($this->world->config('canOWYBA', false) && $items->hasABottle())) + && (((($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || $this->world->config('canOneFrameClipOW', false)) + && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)) + || (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items))); }; $this->locations["Turtle Rock - Chain Chomps"]->setRequirements(function ($locations, $items) use ($upper, $middle, $lower) { @@ -216,11 +224,17 @@ public function initalize() return $this->locations["Turtle Rock - Boss"]->canAccess($items); }; - // @todo lamp isn't necessary if one can enter lower $this->locations["Turtle Rock - Boss"]->setRequirements(function ($locations, $items) { return $this->canEnter($locations, $items) && $items->has('KeyD7', 4) - && $items->has('Lamp', $this->world->config('item.require.Lamp', 1)) + && (($this->world->config('canMirrorWrap', false) && $items->has('MagicMirror') + && ($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle())) + && (((($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || $this->world->config('canOneFrameClipOW', false)) + && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)) + || (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items)))) + || $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) && $items->has('BigKeyD7') && $items->has('CaneOfSomaria') && $this->boss->canBeat($items, $locations) && (!$this->world->config('region.wildCompasses', false) || $items->has('CompassD7') || $this->locations["Turtle Rock - Boss"]->hasItem(Item::get('CompassD7', $this->world))) @@ -233,7 +247,6 @@ public function initalize() ) { return false; } - return true; })->setAlwaysAllow(function ($item, $items) { return $this->world->config('region.bossNormalLocation', true) diff --git a/app/Support/ItemCollection.php b/app/Support/ItemCollection.php index cadba0b37..428257e75 100644 --- a/app/Support/ItemCollection.php +++ b/app/Support/ItemCollection.php @@ -433,6 +433,16 @@ public function canSpinSpeed() return $this->has('PegasusBoots') && ($this->hasSword() || $this->has('Hookshot')); } + + /** + * Requirements for water (bunny) revival + * + * @return bool + */ + public function canBunnyRevive() + { + return $this->hasABottle() && $this->has('BugCatchingNet'); + } /** * Requirements for lobbing arrows at things diff --git a/config/logic.php b/config/logic.php index a123275fa..0afcdc88f 100644 --- a/config/logic.php +++ b/config/logic.php @@ -9,7 +9,6 @@ 'canBootsClip' => true, 'canMirrorClip' => true, 'canWaterWalk' => true, - 'canBunnySurf' => true, 'canMirrorWrap' => true, 'canDungeonRevive' => true, ], @@ -20,8 +19,6 @@ 'canBootsClip' => true, 'canMirrorClip' => true, 'canWaterWalk' => true, - 'canBunnySurf' => true, - 'canBunnyRevive' => true, 'canMirrorWrap' => true, 'canDungeonRevive' => true, 'canOWYBA' => true, From a0a144b122b270f19aca39f9d9236d6c31660e13 Mon Sep 17 00:00:00 2001 From: compiling <8335770+compiling@users.noreply.github.com> Date: Sat, 12 Oct 2019 23:54:12 +1100 Subject: [PATCH 02/29] Logic Fixes (#720) * Fix Kholdstare logic for swordless & hammerless Bombos/Firerod kill. * Fix Windows line endings when parsing text options. * Allow entering inverted Ganon's Tower with less than 7 crystals. * Fix PoD keysanity softlock. * Make sure PoD keys can't be placed in dark maze. * Fix Pedestal Goal, Vanilla Swords combination: don't replace Triforce with a sword. --- app/Boss.php | 2 +- app/Randomizer.php | 42 ++++++++++++------------ app/Region/Inverted/GanonsTower.php | 14 ++++---- app/Region/Standard/PalaceOfDarkness.php | 24 +++++++++----- app/Services/HintService.php | 7 ++-- 5 files changed, 48 insertions(+), 41 deletions(-) diff --git a/app/Boss.php b/app/Boss.php index ae93b5ee7..4f9e6ddf0 100644 --- a/app/Boss.php +++ b/app/Boss.php @@ -109,7 +109,7 @@ public static function all(World $world): BossCollection || ($items->has('Bombos') && ($world->config('mode.weapons') === 'swordless' || $items->hasSword()) && $items->canExtendMagic(2) && $items->has('FireRod'))) && $items->canMeltThings($world) && ($items->has('Hammer') || $items->hasSword() || ($items->canExtendMagic(3) && $items->has('FireRod')) - || ($items->canExtendMagic(2) && $items->has('FireRod') && $items->has('Bombos'))); + || ($items->canExtendMagic(2) && $items->has('FireRod') && $items->has('Bombos') && $world->config('mode.weapons') === 'swordless')); }), new static("Vitreous", "Vitreous", function ($locations, $items) use ($world) { return ($world->config('itemPlacement') !== 'basic' || $items->hasSword(2) || $items->canShootArrows()) diff --git a/app/Randomizer.php b/app/Randomizer.php index 73886a704..d00909031 100644 --- a/app/Randomizer.php +++ b/app/Randomizer.php @@ -235,9 +235,15 @@ public function prepareWorld(World $world): void $uncle_sword = Item::get('UncleSword', $world)->setTarget(array_pop($nice_items_swords)); $world->getLocation("Link's Uncle")->setItem($uncle_sword); - foreach (["Pyramid Fairy - Left", "Blacksmith", "Master Sword Pedestal"] as $location) { + foreach (["Pyramid Fairy - Left", "Blacksmith"] as $location) { $world->getLocation($location)->setItem(array_pop($nice_items_swords)); } + if (!$world->getLocation("Master Sword Pedestal")->hasItem(Item::get('Triforce', $world))) { + $world->getLocation($location)->setItem(array_pop($nice_items_swords)); + } else { + array_pop($nice_items_swords); + array_push($trash_items, Item::get('TwentyRupees', $world)); + } } else { // put uncle sword back if (count($nice_items_swords)) { @@ -828,6 +834,15 @@ public function randomizeCredits(World $world) return $this; } + + function getTextArray(string $file) + { + return array_filter(explode( + "\n-\n", + (string) preg_replace('/^-\n/', '', + (string) preg_replace('/\r\n/', "\n", (string) file_get_contents(base_path($file)))) + )); + } /** * Set all texts for this randomization @@ -840,26 +855,11 @@ public function setTexts(World $world) { $strings = cache()->rememberForever('strings', function () { return [ - 'uncle' => array_filter(explode( - "\n-\n", - (string) preg_replace('/^-\n/', '', (string) file_get_contents(base_path('strings/uncle.txt'))) - )), - 'tavern_man' => array_filter(explode( - "\n-\n", - (string) preg_replace('/^-\n/', '', (string) file_get_contents(base_path('strings/tavern_man.txt'))) - )), - 'blind' => array_filter(explode( - "\n-\n", - (string) preg_replace('/^-\n/', '', (string) file_get_contents(base_path('strings/blind.txt'))) - )), - 'ganon_1' => array_filter(explode( - "\n-\n", - (string) preg_replace('/^-\n/', '', (string) file_get_contents(base_path('strings/ganon_1.txt'))) - )), - 'triforce' => array_filter(explode( - "\n-\n", - (string) preg_replace('/^-\n/', '', (string) file_get_contents(base_path('strings/triforce.txt'))) - )), + 'uncle' => $this->getTextArray('strings/uncle.txt'), + 'tavern_man' => $this->getTextArray('strings/tavern_man.txt'), + 'blind' => $this->getTextArray('strings/blind.txt'), + 'ganon_1' => $this->getTextArray('strings/ganon_1.txt'), + 'triforce' => $this->getTextArray('strings/triforce.txt'), ]; }); diff --git a/app/Region/Inverted/GanonsTower.php b/app/Region/Inverted/GanonsTower.php index 251e15616..3b8de1709 100644 --- a/app/Region/Inverted/GanonsTower.php +++ b/app/Region/Inverted/GanonsTower.php @@ -26,13 +26,13 @@ public function initalize() $this->can_enter = function ($locations, $items) { return ($this->world->config('canDungeonRevive', false) || $items->has('MoonPearl')) - && $items->has('Crystal1') - && $items->has('Crystal2') - && $items->has('Crystal3') - && $items->has('Crystal4') - && $items->has('Crystal5') - && $items->has('Crystal6') - && $items->has('Crystal7') + && (($items->has('Crystal1') + + $items->has('Crystal2') + + $items->has('Crystal3') + + $items->has('Crystal4') + + $items->has('Crystal5') + + $items->has('Crystal6') + + $items->has('Crystal7')) >= $this->world->config('crystals.tower', 7)) && $this->world->getRegion('North East Light World')->canEnter($locations, $items); }; diff --git a/app/Region/Standard/PalaceOfDarkness.php b/app/Region/Standard/PalaceOfDarkness.php index dd097c36d..b174d5385 100644 --- a/app/Region/Standard/PalaceOfDarkness.php +++ b/app/Region/Standard/PalaceOfDarkness.php @@ -84,7 +84,7 @@ public function initalize() return $items->has('KeyD1'); } - return (($items->has('Hammer') && $items->canShootArrows() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) ? $items->has('KeyD1', 6) : $items->has('KeyD1', 5)); + return ((($items->has('Hammer') && $items->canShootArrows() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) || $this->world->config('region.wildKeys', false)) ? $items->has('KeyD1', 6) : $items->has('KeyD1', 5)); })->setAlwaysAllow(function ($item, $items) { return $this->world->config('accessibility') !== 'locations' && $item == Item::get('KeyD1', $this->world) && $items->has('KeyD1', 5); })->setFillRules(function ($item, $locations, $items) { @@ -98,19 +98,21 @@ public function initalize() $this->locations["Palace of Darkness - Big Chest"]->setRequirements(function ($locations, $items) { return $items->has('Lamp', $this->world->config('item.require.Lamp', 1)) && $items->has('BigKeyD1') - && (($items->has('Hammer') && $items->canShootArrows()) ? $items->has('KeyD1', 6) : $items->has('KeyD1', 5)); + && ((($items->has('Hammer') && $items->canShootArrows()) || $this->world->config('region.wildKeys', false)) ? $items->has('KeyD1', 6) : $items->has('KeyD1', 5)); + })->setFillRules(function ($item, $locations, $items) { + return $item != Item::get('KeyD1', $this->world); }); $this->locations["Palace of Darkness - Compass Chest"]->setRequirements(function ($locations, $items) { - return ($items->has('Hammer') && $items->canShootArrows() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) ? $items->has('KeyD1', 4) : $items->has('KeyD1', 3); + return (($items->has('Hammer') && $items->canShootArrows() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) || $this->world->config('region.wildKeys', false)) ? $items->has('KeyD1', 4) : $items->has('KeyD1', 3); }); $this->locations["Palace of Darkness - Harmless Hellway"]->setRequirements(function ($locations, $items) { if ($locations["Palace of Darkness - Harmless Hellway"]->hasItem(Item::get('KeyD1', $this->world))) { - return ($items->has('Hammer') && $items->canShootArrows() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) ? $items->has('KeyD1', 4) : $items->has('KeyD1', 3); + return (($items->has('Hammer') && $items->canShootArrows() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) || $this->world->config('region.wildKeys', false)) ? $items->has('KeyD1', 4) : $items->has('KeyD1', 3); } - return (($items->has('Hammer') && $items->canShootArrows() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) ? $items->has('KeyD1', 6) : $items->has('KeyD1', 5)); + return ((($items->has('Hammer') && $items->canShootArrows() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) || $this->world->config('region.wildKeys', false)) ? $items->has('KeyD1', 6) : $items->has('KeyD1', 5)); })->setAlwaysAllow(function ($item, $items) { return $this->world->config('accessibility') !== 'locations' && $item == Item::get('KeyD1', $this->world) && $items->has('KeyD1', 5); })->setFillRules(function ($item, $locations, $items) { @@ -125,13 +127,13 @@ public function initalize() $this->locations["Palace of Darkness - Dark Basement - Left"]->setRequirements(function ($locations, $items) { return ($items->has('Lamp', $this->world->config('item.require.Lamp', 1)) || ($this->world->config('itemPlacement') === 'advanced' && $items->has('FireRod'))) - && (($items->has('Hammer') && $items->canShootArrows()) ? $items->has('KeyD1', 4) : $items->has('KeyD1', 3)); + && ((($items->has('Hammer') && $items->canShootArrows() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) || $this->world->config('region.wildKeys', false)) ? $items->has('KeyD1', 4) : $items->has('KeyD1', 3)); }); $this->locations["Palace of Darkness - Dark Basement - Right"]->setRequirements(function ($locations, $items) { return ($items->has('Lamp', $this->world->config('item.require.Lamp', 1)) || ($this->world->config('itemPlacement') === 'advanced' && $items->has('FireRod'))) - && (($items->has('Hammer') && $items->canShootArrows()) ? $items->has('KeyD1', 4) : $items->has('KeyD1', 3)); + && ((($items->has('Hammer') && $items->canShootArrows() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1))) || $this->world->config('region.wildKeys', false)) ? $items->has('KeyD1', 4) : $items->has('KeyD1', 3)); }); $this->locations["Palace of Darkness - Map Chest"]->setRequirements(function ($locations, $items) { @@ -139,11 +141,15 @@ public function initalize() }); $this->locations["Palace of Darkness - Dark Maze - Top"]->setRequirements(function ($locations, $items) { - return $items->has('Lamp', $this->world->config('item.require.Lamp', 1)) && (($items->has('Hammer') && $items->canShootArrows()) ? $items->has('KeyD1', 6) : $items->has('KeyD1', 5)); + return $items->has('Lamp', $this->world->config('item.require.Lamp', 1)) && ((($items->has('Hammer') && $items->canShootArrows()) || $this->world->config('region.wildKeys', false)) ? $items->has('KeyD1', 6) : $items->has('KeyD1', 5)); + })->setFillRules(function ($item, $locations, $items) { + return $item != Item::get('KeyD1', $this->world); }); $this->locations["Palace of Darkness - Dark Maze - Bottom"]->setRequirements(function ($locations, $items) { - return $items->has('Lamp', $this->world->config('item.require.Lamp', 1)) && (($items->has('Hammer') && $items->canShootArrows()) ? $items->has('KeyD1', 6) : $items->has('KeyD1', 5)); + return $items->has('Lamp', $this->world->config('item.require.Lamp', 1)) && ((($items->has('Hammer') && $items->canShootArrows()) || $this->world->config('region.wildKeys', false)) ? $items->has('KeyD1', 6) : $items->has('KeyD1', 5)); + })->setFillRules(function ($item, $locations, $items) { + return $item != Item::get('KeyD1', $this->world); }); $this->can_complete = function ($locations, $items) { diff --git a/app/Services/HintService.php b/app/Services/HintService.php index d32e732f4..1abd96f6d 100644 --- a/app/Services/HintService.php +++ b/app/Services/HintService.php @@ -32,9 +32,10 @@ public function __construct(array $worlds, array $advancement_items) $this->advancement_items = $advancement_items; $this->joke_hints = cache()->rememberForever('joke_hints', function () { return array_filter(explode( - "\n-\n", - (string) preg_replace('/^-\n/', '', (string) file_get_contents(base_path('strings/hint.txt'))) - )); + "\n-\n", + (string) preg_replace('/^-\n/', '', + (string) preg_replace('/\r\n/', "\n", (string) file_get_contents(base_path('strings/hint.txt')))) + )); }); } From 7bb16cdf3186f42dbedfd9eb66119cc59b8acb40 Mon Sep 17 00:00:00 2001 From: sporchia Date: Sat, 12 Oct 2019 09:20:31 -0400 Subject: [PATCH 03/29] fix BG disable on older permalinks --- resources/js/rom.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/resources/js/rom.js b/resources/js/rom.js index 41d81dddb..f0b6177d7 100644 --- a/resources/js/rom.js +++ b/resources/js/rom.js @@ -150,7 +150,14 @@ var ROM = (function(blob, loaded_callback, error_callback) { this.setMusicVolume = (enable) => { return new Promise(resolve => { - this.write(0x18021A, !enable ? 0x01 : 0x00); + if (this.build > '2019-08-01') { + this.write(0x18021A, !enable ? 0x01 : 0x00); + } else { + this.write(0x0CFE18, !enable ? 0x00 : 0x70); + this.write(0x0CFEC1, !enable ? 0x00 : 0xC0); + this.write(0x0D0000, !enable ? [0x00, 0x00] : [0xDA, 0x58]); + this.write(0x0D00E7, !enable ? [0xC4, 0x58] : [0xDA, 0x58]); + } resolve(this); }); From b199187ba92795c06d4c1ae7f0c1b49699e1b53c Mon Sep 17 00:00:00 2001 From: sporchia Date: Sat, 12 Oct 2019 09:20:52 -0400 Subject: [PATCH 04/29] allow inverted flight to NE DW --- app/Region/Inverted/DarkWorld/NorthEast.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/Region/Inverted/DarkWorld/NorthEast.php b/app/Region/Inverted/DarkWorld/NorthEast.php index 580cd4ff7..9ffd18df9 100644 --- a/app/Region/Inverted/DarkWorld/NorthEast.php +++ b/app/Region/Inverted/DarkWorld/NorthEast.php @@ -66,6 +66,7 @@ public function initalize() $this->can_enter = function ($locations, $items) { return $items->has('Hammer') + || ($items->canLiftRocks() && $items->canFly($this->world)) || $items->has('Flippers') || ($items->has('MagicMirror') && $this->world->getRegion('North East Light World')->canEnter($locations, $items)); }; From d6db7fc51b2cfcba621669c19304348db23a26d8 Mon Sep 17 00:00:00 2001 From: sporchia Date: Sat, 12 Oct 2019 09:50:05 -0400 Subject: [PATCH 05/29] style fixes unit test fixes --- .../Standard/DarkWorld/DeathMountain/East.php | 14 ++--- .../Standard/DarkWorld/DeathMountain/West.php | 10 ++-- app/Region/Standard/DarkWorld/Mire.php | 10 ++-- app/Region/Standard/DarkWorld/NorthEast.php | 60 +++++++++---------- app/Region/Standard/DarkWorld/NorthWest.php | 38 ++++++------ app/Region/Standard/DarkWorld/South.php | 38 ++++++------ app/Region/Standard/DesertPalace.php | 2 + app/Region/Standard/GanonsTower.php | 2 +- app/Region/Standard/IcePalace.php | 6 +- .../LightWorld/DeathMountain/East.php | 12 ++-- .../LightWorld/DeathMountain/West.php | 8 +-- app/Region/Standard/LightWorld/NorthEast.php | 18 +++--- app/Region/Standard/LightWorld/NorthWest.php | 20 +++---- app/Region/Standard/LightWorld/South.php | 30 +++++----- app/Region/Standard/MiseryMire.php | 9 ++- app/Region/Standard/SkullWoods.php | 2 +- app/Region/Standard/SwampPalace.php | 10 ++-- app/Region/Standard/TowerOfHera.php | 2 +- app/Region/Standard/TurtleRock.php | 10 ++-- app/Support/ItemCollection.php | 4 +- .../MajorGlitches/DarkWorld/NorthEastTest.php | 12 +--- tests/MajorGlitches/DesertPalaceTest.php | 5 +- tests/MajorGlitches/LightWorldTest.php | 14 +---- tests/MajorGlitches/TowerOfHeraTest.php | 22 +------ .../OverworldGlitches/DarkWorld/SouthTest.php | 2 +- tests/OverworldGlitches/TurtleRockTest.php | 1 - 26 files changed, 161 insertions(+), 200 deletions(-) diff --git a/app/Region/Standard/DarkWorld/DeathMountain/East.php b/app/Region/Standard/DarkWorld/DeathMountain/East.php index e67e3cec3..29fabf665 100644 --- a/app/Region/Standard/DarkWorld/DeathMountain/East.php +++ b/app/Region/Standard/DarkWorld/DeathMountain/East.php @@ -61,42 +61,42 @@ public function initalize() && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || $this->world->config('canOneFrameClipOW', false))); }); - + $this->locations["Superbunny Cave - Bottom"]->setRequirements(function ($locations, $items) { return $this->world->config('canSuperBunny', false) || $items->has('MoonPearl') || (($this->world->config('canOWYBA', false) && $items->hasBottle()) && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || $this->world->config('canOneFrameClipOW', false))); }); - + $this->locations["Hookshot Cave - Top Right"]->setRequirements(function ($locations, $items) { return $items->has('Hookshot') && (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasBottle())) && ($items->canLiftRocks() || $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->locations["Hookshot Cave - Top Left"]->setRequirements(function ($locations, $items) { return $items->has('Hookshot') && (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasBottle())) && ($items->canLiftRocks() || $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->locations["Hookshot Cave - Bottom Left"]->setRequirements(function ($locations, $items) { return $items->has('Hookshot') && (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasBottle())) && ($items->canLiftRocks() || $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->locations["Hookshot Cave - Bottom Right"]->setRequirements(function ($locations, $items) { return ($items->has('Hookshot') || ($this->world->config('itemPlacement') !== 'basic' && $items->has('PegasusBoots'))) && (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasBottle())) && ($items->canLiftRocks() || $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && (($items->canLiftDarkRocks() @@ -105,7 +105,7 @@ public function initalize() && ($items->has('MoonPearl') || $items->has('Hammer') || ($this->world->config('canOWYBA', false) && $items->hasBottle()))) || $this->world->config('canOneFrameClipOW', false) - || ($this->world->getRegion('West Death Mountain')->canEnter($locations, $items) + || ($this->world->getRegion('West Death Mountain')->canEnter($locations, $items) && ($this->world->config('canMirrorClip', false) || $this->world->config('canMirrorWrap', false)) && $items->has('MagicMirror'))); }; diff --git a/app/Region/Standard/DarkWorld/DeathMountain/West.php b/app/Region/Standard/DarkWorld/DeathMountain/West.php index c9b48b45d..e5b84c3e4 100644 --- a/app/Region/Standard/DarkWorld/DeathMountain/West.php +++ b/app/Region/Standard/DarkWorld/DeathMountain/West.php @@ -50,23 +50,23 @@ public function initalize() && $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle() && (($items->has('PegasusBoots') && $this->world->config('canBootsClip', false)) - || $this->world->config('canOneFrameClipOW', false))); + || $this->world->config('canOneFrameClipOW', false))); }); - + $this->locations["Spike Cave"]->setRequirements(function ($locations, $items) { return $this->world->getRegion('West Death Mountain')->canEnter($locations, $items) && ($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle() && (($items->has('PegasusBoots') && $this->world->config('canBootsClip', false)) - || $this->world->config('canOneFrameClipOW', false)) - && (($items->has('Cape') && $items->canExtendMagic(3)) + || $this->world->config('canOneFrameClipOW', false)) + && (($items->has('Cape') && $items->canExtendMagic(3)) || ((!$this->world->config('region.cantTakeDamage', false) || $items->canExtendMagic(3)) && $items->has('CaneOfByrna'))))) && $items->has('Hammer') && $items->canLiftRocks() && (($items->canExtendMagic() && $items->has('Cape')) || ((!$this->world->config('region.cantTakeDamage', false) || $items->canExtendMagic()) && $items->has('CaneOfByrna'))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda'); }; diff --git a/app/Region/Standard/DarkWorld/Mire.php b/app/Region/Standard/DarkWorld/Mire.php index fa3605e89..b54ece3fc 100644 --- a/app/Region/Standard/DarkWorld/Mire.php +++ b/app/Region/Standard/DarkWorld/Mire.php @@ -54,7 +54,7 @@ public function initalize() || ($items->has('MagicMirror') && $items->has('BugCatchingNet') && $this->world->config('canBunnyRevive', false)) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->shops["Dark Desert Hint"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || (($this->world->config('canOWYBA', false) && $items->hasABottle()) @@ -62,7 +62,7 @@ public function initalize() || ($items->has('MagicMirror') && $items->has('BugCatchingNet') && $this->world->config('canBunnyRevive', false)) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->locations["Mire Shed - Left"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || (($this->world->config('canOWYBA', false) && $items->hasABottle()) @@ -72,7 +72,7 @@ public function initalize() || ($this->world->config('canSuperBunny', false) && ($items->has('MagicMirror') || ($items->hasHealth(5) && !$this->world->config('region.cantTakeDamage', false)))); }); - + $this->locations["Mire Shed - Right"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || (($this->world->config('canOWYBA', false) && $items->hasABottle()) @@ -82,11 +82,11 @@ public function initalize() || ($this->world->config('canSuperBunny', false) && ($items->has('MagicMirror') || ($items->hasHealth(5) && !$this->world->config('region.cantTakeDamage', false)))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && (($items->canLiftDarkRocks() && ($items->canFly($this->world) - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))) || $this->world->config('canOneFrameClipOW', false) || (((($items->has('MoonPearl') || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) && ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))) diff --git a/app/Region/Standard/DarkWorld/NorthEast.php b/app/Region/Standard/DarkWorld/NorthEast.php index 70a3f29f2..a684d5781 100644 --- a/app/Region/Standard/DarkWorld/NorthEast.php +++ b/app/Region/Standard/DarkWorld/NorthEast.php @@ -75,84 +75,84 @@ public function initalize() return ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()) || (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) && ($this->world->config('canOneFrameClipOW', false) - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) - || $items->has('Hammer') || $items->has('Flippers') || $items->canLiftRocks())); + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || $items->has('Hammer') || $items->has('Flippers') || $items->canLiftRocks())); }); - + // @TODO: do we want to allow super bunny item shopping $this->shops["East Dark World Hint"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->shops["Palace of Darkness Hint"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Catfish"]->setRequirements(function ($locations, $items) { return (($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()) - || $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) + || $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) && ($this->world->config('canOneFrameClipOW', false) - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) - || $items->canLiftRocks()); + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || $items->canLiftRocks()); }); - + $this->locations["Pyramid Fairy - Sword"]->setRequirements(function ($locations, $items) { return $items->hasSword() && (($items->has('Crystal5') && $items->has('Crystal6') - && $this->world->getRegion('South Dark World')->canEnter($locations, $items) - && (($items->has('MoonPearl') && $items->has('Hammer')) - || ($this->world->config('canOWYBA', false) && $items->hasBottle()) - || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) + && $this->world->getRegion('South Dark World')->canEnter($locations, $items) + && (($items->has('MoonPearl') && $items->has('Hammer')) + || ($this->world->config('canOWYBA', false) && $items->hasBottle()) + || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) || ($this->world->config('canMirrorClip', false) && $items->has('MagicMirror') && (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) || $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))))); }); - + $this->locations["Pyramid Fairy - Bow"]->setRequirements(function ($locations, $items) { return $items->canShootArrows() && (($items->has('Crystal5') && $items->has('Crystal6') - && $this->world->getRegion('South Dark World')->canEnter($locations, $items) - && (($items->has('MoonPearl') && $items->has('Hammer')) - || ($this->world->config('canOWYBA', false) && $items->hasBottle()) - || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) + && $this->world->getRegion('South Dark World')->canEnter($locations, $items) + && (($items->has('MoonPearl') && $items->has('Hammer')) + || ($this->world->config('canOWYBA', false) && $items->hasBottle()) + || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) || ($this->world->config('canMirrorClip', false) && $items->has('MagicMirror') && (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) || $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots'))))); }); - - + + if ($this->world->config('region.swordsInPool', true)) { $this->locations["Pyramid Fairy - Left"]->setRequirements(function ($locations, $items) { return ($items->has('Crystal5') && $items->has('Crystal6') - && $this->world->getRegion('South Dark World')->canEnter($locations, $items) - && (($items->has('MoonPearl') && $items->has('Hammer')) - || ($this->world->config('canOWYBA', false) && $items->hasBottle()) - || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) + && $this->world->getRegion('South Dark World')->canEnter($locations, $items) + && (($items->has('MoonPearl') && $items->has('Hammer')) + || ($this->world->config('canOWYBA', false) && $items->hasBottle()) + || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) || ($this->world->config('canMirrorClip', false) && $items->has('MagicMirror') && (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) || $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); - + $this->locations["Pyramid Fairy - Right"]->setRequirements(function ($locations, $items) { return ($items->has('Crystal5') && $items->has('Crystal6') - && $this->world->getRegion('South Dark World')->canEnter($locations, $items) - && (($items->has('MoonPearl') && $items->has('Hammer')) - || ($this->world->config('canOWYBA', false) && $items->hasBottle()) - || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) + && $this->world->getRegion('South Dark World')->canEnter($locations, $items) + && (($items->has('MoonPearl') && $items->has('Hammer')) + || ($this->world->config('canOWYBA', false) && $items->hasBottle()) + || ($items->has('MagicMirror') && $items->has('DefeatAgahnim')))) || ($this->world->config('canMirrorClip', false) && $items->has('MagicMirror') && (($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) || $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))); }); } - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && (($this->world->config('canOWYBA', false) && $items->hasABottle()) diff --git a/app/Region/Standard/DarkWorld/NorthWest.php b/app/Region/Standard/DarkWorld/NorthWest.php index 0e66722e2..666cfee7e 100644 --- a/app/Region/Standard/DarkWorld/NorthWest.php +++ b/app/Region/Standard/DarkWorld/NorthWest.php @@ -74,29 +74,29 @@ public function initalize() || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->locations["Brewery"]->setRequirements(function ($locations, $items) { return $items->canBombThings() && ($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->locations["C-Shaped House"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || $this->world->config('canSuperBunny', false) || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Chest Game"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || $this->world->config('canSuperBunny', false) || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Hammer Pegs"]->setRequirements(function ($locations, $items) { return $items->has('Hammer') && ($items->has('MoonPearl') - || ($this->world->config('canOWYBA', false) && $items->hasABottle()) - || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) && ($items->canLiftDarkRocks() || ($items->has('MagicMirror') && $this->world->config('canMirrorWrap', false)) || (($this->world->config('canFakeFlipper', false) || $items->has('Flippers')) @@ -104,7 +104,7 @@ public function initalize() || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed())))); }); - + $this->locations["Bumper Cave"]->setRequirements(function ($locations, $items) { return $this->world->config('canOneFrameClipOW', false) || (($items->has('MoonPearl') @@ -114,41 +114,41 @@ public function initalize() || (($this->world->config('itemPlacement') !== 'basic' || $items->has('Hookshot')) && $items->canLiftRocks() && $items->has('Cape')))); }); - + $this->locations["Blacksmith"]->setRequirements(function ($locations, $items) { return ($this->world->config('itemPlacement') !== 'basic' || $items->has('MagicMirror')) && ((($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) && $items->canLiftDarkRocks()) - || (($this->world->config('canOWYBA', false) && $items->hasBottle()) - && ($this->world->config('canOneFrameClipOW', false) - || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots') - && ($items->has('MoonPearl') || $items->hasBottle(2)))))); + || (($this->world->config('canOWYBA', false) && $items->hasBottle()) + && ($this->world->config('canOneFrameClipOW', false) + || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots') + && ($items->has('MoonPearl') || $items->hasBottle(2)))))); }); - + $this->locations["Purple Chest"]->setRequirements(function ($locations, $items) { return $locations["Blacksmith"]->canAccess($items) && (($items->has('MagicMirror') && $this->world->config('canMirrorWrap', false)) || (($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) - && ($items->canLiftDarkRocks() + && ($items->canLiftDarkRocks() || (($this->world->config('canFakeFlipper', false) || $items->has('Flippers')) && ($this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed())))))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && ($this->world->config('canOneFrameClipOW', false) || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->getRegion('West Death Mountain')->canEnter($locations, $items) && $items->has('MagicMirror') - && ($this->world->config('canMirrorClip', false) - || ($this->world->config('canMirrorWrap', false) - && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) - || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()))))) + && ($this->world->config('canMirrorClip', false) + || ($this->world->config('canMirrorWrap', false) + && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()))))) || ($this->world->config('canBunnySurf', false) && $this->world->config('canMirrorWrap', false) && $items->has('MagicMirror') && $items->has('Flippers') && $items->has('DefeatAgahnim')) || ($items->has('MoonPearl') diff --git a/app/Region/Standard/DarkWorld/South.php b/app/Region/Standard/DarkWorld/South.php index c6d2bd457..af0832083 100644 --- a/app/Region/Standard/DarkWorld/South.php +++ b/app/Region/Standard/DarkWorld/South.php @@ -67,53 +67,53 @@ public function initalize() || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Hype Cave - Middle Right"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Hype Cave - Middle Left"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Hype Cave - Bottom"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Hype Cave - NPC"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->locations["Stumpy"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()) || ($items->has('MagicMirror') && $this->world->config('canMirrorWrap', false)); }); - + $this->locations["Digging Game"]->setRequirements(function ($locations, $items) { return $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()); }); - + $this->shops["Bonk Fairy (Dark)"]->setRequirements(function ($locations, $items) { return $items->has('PegasusBoots') - && ($items->has('MoonPearl') - || ($this->world->config('canOWYBA', false) && $items->hasABottle()) - || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); + && ($items->has('MoonPearl') + || ($this->world->config('canOWYBA', false) && $items->hasABottle()) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->shops["Dark Lake Hylia Ledge Fairy"]->setRequirements(function ($locations, $items) { - return ($items->canBombThings() || ($items->has('PegasusBoots') && $this->world->config('canBootsClip', false))) + return ($items->canBombThings() || ($items->has('PegasusBoots') && $this->world->config('canBootsClip', false))) && ($items->has('Flippers') || ($this->world->getRegion('North West Dark World')->canEnter($locations, $items) && $this->world->config('canFakeFlipper', false) && (!$this->world->config('region.cantTakeDamage', false))) @@ -122,19 +122,19 @@ public function initalize() || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->shops["Dark Lake Hylia Ledge Hint"]->setRequirements(function ($locations, $items) { return ($items->has('Flippers') - || ($this->world->getRegion('North West Dark World')->canEnter($locations, $items) - && $this->world->config('canFakeFlipper', false) && (!$this->world->config('region.cantTakeDamage', false))) - || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) + || ($this->world->getRegion('North West Dark World')->canEnter($locations, $items) + && $this->world->config('canFakeFlipper', false) && (!$this->world->config('region.cantTakeDamage', false))) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) && ($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->shops["Dark Lake Hylia Ledge Spike Cave"]->setRequirements(function ($locations, $items) { - return $items->canLiftRocks() + return $items->canLiftRocks() && ($items->has('Flippers') || ($this->world->getRegion('North West Dark World')->canEnter($locations, $items) && $this->world->config('canFakeFlipper', false) && (!$this->world->config('region.cantTakeDamage', false))) @@ -143,7 +143,7 @@ public function initalize() || ($this->world->config('canOWYBA', false) && $items->hasABottle()) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && (($this->world->config('canOWYBA', false) && $items->hasABottle()) diff --git a/app/Region/Standard/DesertPalace.php b/app/Region/Standard/DesertPalace.php index 3b9d20711..1f4c537e5 100644 --- a/app/Region/Standard/DesertPalace.php +++ b/app/Region/Standard/DesertPalace.php @@ -90,6 +90,7 @@ public function initalize() $this->can_complete = function ($locations, $items) { return $this->locations["Desert Palace - Boss"]->canAccess($items); }; + $this->locations["Desert Palace - Boss"]->setRequirements(function ($locations, $items) { return $this->canEnter($locations, $items) && ($items->canLiftRocks() @@ -115,6 +116,7 @@ public function initalize() return $this->world->config('region.bossNormalLocation', true) && ($item == Item::get('CompassP2', $this->world) || $item == Item::get('MapP2', $this->world)); }); + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && ($items->has('BookOfMudora') diff --git a/app/Region/Standard/GanonsTower.php b/app/Region/Standard/GanonsTower.php index 7c282b0a5..15e82a193 100644 --- a/app/Region/Standard/GanonsTower.php +++ b/app/Region/Standard/GanonsTower.php @@ -406,7 +406,7 @@ public function initalize() + $items->has('Crystal7')) >= $this->world->config('crystals.tower', 7)) && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items)) || ((($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) - || ($this->world->config('canSuperSpeed', false) && $items->has('PegasusBoots') + || ($this->world->config('canSuperSpeed', false) && $items->has('PegasusBoots') && $items->has('Hookshot') && $items->hasSword())) && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)))) || ($this->world->config('canOneFrameClipOW', false) diff --git a/app/Region/Standard/IcePalace.php b/app/Region/Standard/IcePalace.php index 80c54472b..99c04ef8b 100644 --- a/app/Region/Standard/IcePalace.php +++ b/app/Region/Standard/IcePalace.php @@ -100,7 +100,7 @@ public function initalize() $this->can_complete = function ($locations, $items) { return $this->locations["Ice Palace - Boss"]->canAccess($items); }; - + $this->locations["Ice Palace - Boss"]->setRequirements(function ($locations, $items) { return $this->canEnter($locations, $items) && $items->has('Hammer') && $items->canLiftRocks() @@ -124,14 +124,14 @@ public function initalize() return $this->world->config('region.bossNormalLocation', true) && ($item == Item::get('CompassD5', $this->world) || $item == Item::get('MapD5', $this->world)); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && ($this->world->config('itemPlacement') !== 'basic' || (($this->world->config('mode.weapons') === 'swordless' || $items->hasSword(2)) && $items->hasHealth(12) && ($items->hasBottle(2) || $items->hasArmor()))) && ($items->canMeltThings($this->world) || $this->world->config('canOneFrameClipUW', false)) && ((($items->has('MoonPearl') || $this->world->config('canDungeonRevive', false)) - && ($items->has('Flippers') || $this->world->config('canFakeFlipper', false) + && ($items->has('Flippers') || $this->world->config('canFakeFlipper', false) || ($this->world->config('canWaterWalk', false) && $items->has('PegasusBoots')) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())) && $items->canLiftDarkRocks()) diff --git a/app/Region/Standard/LightWorld/DeathMountain/East.php b/app/Region/Standard/LightWorld/DeathMountain/East.php index ae92719d8..f4a15210f 100644 --- a/app/Region/Standard/LightWorld/DeathMountain/East.php +++ b/app/Region/Standard/LightWorld/DeathMountain/East.php @@ -64,7 +64,7 @@ public function initalize() $this->shops["Light World Death Mountain Shop"]->setRequirements(function ($locations, $items) { return $items->canBombThings(); }); - + $this->locations["Mimic Cave"]->setRequirements(function ($locations, $items) { return $items->has('Hammer') && $items->has('MagicMirror') && ($this->world->config('canMirrorClip', false) @@ -75,17 +75,17 @@ public function initalize() || $this->world->config('canOneFrameClipOW', false) || ($items->has('KeyD7', 2) && $this->world->getRegion('Turtle Rock')->canEnter($locations, $items))); }); - + $this->locations["Floating Island"]->setRequirements(function ($locations, $items) { return ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || ($this->world->config('canOWYBA', false) && $items->has('Bottle')) || $this->world->config('canOneFrameClipOW', false) || ($items->has('MagicMirror') - && (($items->has('MoonPearl') && $items->canBombThings() && $items->canLiftRocks()) + && (($items->has('MoonPearl') && $items->canBombThings() && $items->canLiftRocks()) || $this->world->config('canMirrorWrap', false)) && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items)); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && ($this->world->config('canOneFrameClipOW', false) @@ -93,10 +93,10 @@ public function initalize() || ($this->world->config('capSuperSpeed', false) && $items->canSpinSpeed()) || (((($this->world->config('canMirrorClip', false) || $this->world->config('canMirrorWrap', false)) && $items->has('MagicMirror')) || $items->has('Hookshot')) - && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)) + && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)) || ($items->has('Hammer') && $this->world->getRegion('Tower of Hera')->canEnter($locations, $items))); }; - return $this; + return $this; } } diff --git a/app/Region/Standard/LightWorld/DeathMountain/West.php b/app/Region/Standard/LightWorld/DeathMountain/West.php index 63bc81790..9bf19c306 100644 --- a/app/Region/Standard/LightWorld/DeathMountain/West.php +++ b/app/Region/Standard/LightWorld/DeathMountain/West.php @@ -46,19 +46,19 @@ public function initalize() $this->locations["Old Man"]->setRequirements(function ($locations, $items) { return $items->has('Lamp', $this->world->config('item.require.Lamp', 1)); }); - + $this->locations["Ether Tablet"]->setRequirements(function ($locations, $items) { return $items->has('BookOfMudora') && ($items->hasSword(2) || ($this->world->config('mode.weapons') == 'swordless' && $items->has('Hammer'))) && $this->world->getRegion('Tower of Hera')->canEnter($locations, $items); }); - + $this->locations["Spectacle Rock"]->setRequirements(function ($locations, $items) { return $items->has('MagicMirror') || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || $this->world->config('canOneFrameClipOW', false); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda') && ($items->canFly($this->world) @@ -69,6 +69,6 @@ public function initalize() || ($items->canLiftRocks() && $items->has('Lamp', $this->world->config('item.require.Lamp', 1)))); }; - return $this; + return $this; } } diff --git a/app/Region/Standard/LightWorld/NorthEast.php b/app/Region/Standard/LightWorld/NorthEast.php index a09ddcb26..0f8a237a8 100644 --- a/app/Region/Standard/LightWorld/NorthEast.php +++ b/app/Region/Standard/LightWorld/NorthEast.php @@ -59,19 +59,19 @@ public function initalize() $this->locations["Sahasrahla"]->setRequirements(function ($locations, $items) { return $items->has('PendantOfCourage'); }); - + $this->locations["King Zora"]->setRequirements(function ($locations, $items) { return $this->world->config('canFakeFlipper', false) || (($this->world->config('canWaterWalk', false) || $this->world->config('canBootsClip', false)) - && $items->has('PegasusBoots')) + && $items->has('PegasusBoots')) || $this->world->config('canOneFrameClipOW', false) || $items->canLiftRocks() || $items->has('Flippers'); }); - + $this->locations["Potion Shop"]->setRequirements(function ($locations, $items) { return $items->has('Mushroom'); }); - + $this->locations["Zora's Ledge"]->setRequirements(function ($locations, $items) { return $items->has('Flippers') || ($items->has('PegasusBoots') @@ -81,23 +81,23 @@ public function initalize() || $this->world->config('canBootsClip', false) || $this->world->config('canOneFrameClipOW', false)))); }); - + $this->locations["Waterfall Fairy - Left"]->setRequirements(function ($locations, $items) { return $items->has('Flippers') || ($this->world->config('canWaterWalk', false) && ($items->has('PegasusBoots') || ($items->has('MoonPearl') && $this->world->config('canFakeFlipper', false)))); }); - + $this->locations["Waterfall Fairy - Right"]->setRequirements(function ($locations, $items) { return $items->has('Flippers') || ($this->world->config('canWaterWalk', false) && ($items->has('PegasusBoots') || ($items->has('MoonPearl') && $this->world->config('canFakeFlipper', false)))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda'); }; - - return $this; + + return $this; } } diff --git a/app/Region/Standard/LightWorld/NorthWest.php b/app/Region/Standard/LightWorld/NorthWest.php index 917464457..754edbd12 100644 --- a/app/Region/Standard/LightWorld/NorthWest.php +++ b/app/Region/Standard/LightWorld/NorthWest.php @@ -82,14 +82,14 @@ public function initalize() $this->shops["Bomb Hut"]->setRequirements(function ($locations, $items) { return $items->canBombThings(); }); - + $this->locations["Master Sword Pedestal"]->setRequirements(function ($locations, $items) { return ($this->world->config('itemPlacement') !== 'basic' || $items->has('BookOfMudora')) && $items->has('PendantOfPower') && $items->has('PendantOfWisdom') && $items->has('PendantOfCourage'); }); - + $this->locations["King's Tomb"]->setRequirements(function ($locations, $items) { return $items->has('PegasusBoots') && ($this->world->config('canBootsClip', false) @@ -100,11 +100,11 @@ public function initalize() && ($items->has('MoonPearl') || ($items->hasABottle() && $this->world->config('canOWYBA', false)) || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive())))); }); - + $this->locations["Pegasus Rocks"]->setRequirements(function ($locations, $items) { return $items->has('PegasusBoots'); }); - + $this->locations["Magic Bat"]->setRequirements(function ($locations, $items) { return $items->has('Powder') && ($items->has('Hammer') @@ -120,24 +120,24 @@ public function initalize() && ($items->has('Flippers') || $this->world->config('canFakeFlippers', false)) && $this->world->getRegion('North East Dark World')->canEnter($locations, $items))))))); }); - + $this->locations["Sick Kid"]->setRequirements(function ($locations, $items) { return $items->hasABottle(); }); - + $this->locations["Lumberjack Tree"]->setRequirements(function ($locations, $items) { return $items->has('DefeatAgahnim') && $items->has('PegasusBoots'); }); - + $this->locations["Graveyard Ledge"]->setRequirements(function ($locations, $items) { return ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) || $this->world->config('canOneFrameClipOW', false) || ($items->has('MagicMirror') && $this->world->getRegion('North West Dark World')->canEnter($locations, $items) - && ($items->has('MoonPearl') || ($items->hasABottle() && $this->world->config('canOWYBA', false)) - || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()))); + && ($items->has('MoonPearl') || ($items->hasABottle() && $this->world->config('canOWYBA', false)) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()))); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda'); }; diff --git a/app/Region/Standard/LightWorld/South.php b/app/Region/Standard/LightWorld/South.php index f235781f3..9d64bec79 100644 --- a/app/Region/Standard/LightWorld/South.php +++ b/app/Region/Standard/LightWorld/South.php @@ -86,33 +86,33 @@ public function initalize() $this->shops["20 Rupee Cave"]->setRequirements(function ($locations, $items) { return $items->canLiftRocks(); }); - + $this->shops["50 Rupee Cave"]->setRequirements(function ($locations, $items) { return $items->canLiftRocks(); }); - + $this->shops["Bonk Fairy (Light)"]->setRequirements(function ($locations, $items) { return $items->has('PegasusBoots'); }); - + $this->shops["Light Hype Fairy"]->setRequirements(function ($locations, $items) { return $items->canBombThings(); }); - + $this->shops["Capacity Upgrade"]->setRequirements(function ($locations, $items) { return ($this->world->config('canWaterWalk', false) && $items->has('PegasusBoots')) || $this->world->config('canFakeFlipper', false) || $items->has('Flippers'); }); - + $this->locations["Aginah's Cave"]->setRequirements(function ($locations, $items) { return $items->canBombThings(); }); - + $this->locations["Hobo"]->setRequirements(function ($locations, $items) { return ($this->world->config('canWaterWalk', false) && $items->has('PegasusBoots')) || $this->world->config('canFakeFlipper', false) || $items->has('Flippers'); }); - + $this->locations["Bombos Tablet"]->setRequirements(function ($locations, $items) { return $items->has('BookOfMudora') && ($items->hasSword(2) || ($this->world->config('mode.weapons') == 'swordless' && $items->has('Hammer'))) @@ -120,28 +120,28 @@ public function initalize() || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || ($items->has('MagicMirror') && $this->world->getRegion('South Dark World')->canEnter($locations, $items))); }); - + $this->locations["Cave 45"]->setRequirements(function ($locations, $items) { return $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || ($items->has('MagicMirror') && $this->world->getRegion('South Dark World')->canEnter($locations, $items)); }); - + $this->locations["Checkerboard Cave"]->setRequirements(function ($locations, $items) { return $items->canLiftRocks() && ($this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || ($items->has('MagicMirror') && $this->world->getRegion('Mire')->canEnter($locations, $items))); }); - + $this->locations["Library"]->setRequirements(function ($locations, $items) { return $items->has('PegasusBoots'); }); - + $this->locations["Desert Ledge"]->setRequirements(function ($locations, $items) { return $this->world->getRegion('Desert Palace')->canEnter($locations, $items); }); - + $this->locations["Lake Hylia Island"]->setRequirements(function ($locations, $items) { return $this->world->config('canOneFrameClipOW', false) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) @@ -149,15 +149,15 @@ public function initalize() && ($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) && $this->world->getRegion('North West Dark World')->canEnter($locations, $items)) || ($items->has('Flippers') && $items->has('MagicMirror') - && ($this->world->config('canBunnySurf', false) + && ($this->world->config('canBunnySurf', false) || $items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle())) && $this->world->getRegion('North East Dark World')->canEnter($locations, $items)); }); - + $this->locations["Flute Spot"]->setRequirements(function ($locations, $items) { return $items->has('Shovel'); }); - + $this->can_enter = function ($locations, $items) { return $items->has('RescueZelda'); }; diff --git a/app/Region/Standard/MiseryMire.php b/app/Region/Standard/MiseryMire.php index 559cc1e71..345c91e25 100644 --- a/app/Region/Standard/MiseryMire.php +++ b/app/Region/Standard/MiseryMire.php @@ -135,12 +135,11 @@ public function initalize() && ($items->has('MoonPearl') || ($items->hasABottle() && (($items->has('BugCatchingNet') && $this->world->config('canBunnyRevive', false) - && (($items->canLiftDarkRocks() && ($items->canFly($this->world) || - ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))) - || ($this->world->config('canOWYBA', false) && $items->has('MagicMirror')) - || $this->world->config('canOneFrameClipOW', false))) + && (($items->canLiftDarkRocks() && ($items->canFly($this->world) || ($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')))) + || ($this->world->config('canOWYBA', false) && $items->has('MagicMirror')) + || $this->world->config('canOneFrameClipOW', false))) || ($this->world->config('canOWYBA', false) - && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) + && (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || $this->world->config('canOneFrameClipOW', false) || $items->hasBottle(2)))))) && (($this->world->config('itemPlacement') !== 'basic' && $items->has('PegasusBoots')) diff --git a/app/Region/Standard/SkullWoods.php b/app/Region/Standard/SkullWoods.php index b8a0b6426..7e0b8ecf8 100644 --- a/app/Region/Standard/SkullWoods.php +++ b/app/Region/Standard/SkullWoods.php @@ -150,7 +150,7 @@ public function initalize() || (($this->world->config('mode.weapons') === 'swordless' || $items->hasSword()) && $items->hasHealth(7) && $items->hasBottle())) && ($this->world->config('canDungeonRevive') || $items->has('MoonPearl') || (($items->hasABottle() && $this->world->config('canOWYBA', false)) - || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()))) + || ($this->world->config('canBunnyRevive', false) && $items->canBunnyRevive()))) && $this->world->getRegion('North West Dark World')->canEnter($locations, $items); }; diff --git a/app/Region/Standard/SwampPalace.php b/app/Region/Standard/SwampPalace.php index c4a28a2fa..d1a94a80c 100644 --- a/app/Region/Standard/SwampPalace.php +++ b/app/Region/Standard/SwampPalace.php @@ -84,12 +84,12 @@ public function initalize() || (($this->world->config('canOneFrameClipUW', false) && $items->has('KeyD6', 3) && $this->world->getRegion('Misery Mire')->canEnter($locations, $items)) && $locations["Old Man"]->canAccess($items) - && (!$this->world->config('region.wildKeys', false) || $items->has('KeyD2')) - && (($items->has('PegasusBoots') && $this->world->config('canBootsClip', false)) - || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) - || $this->world->config('canOneFrameClipOW', false)))); + && (!$this->world->config('region.wildKeys', false) || $items->has('KeyD2')) + && (($items->has('PegasusBoots') && $this->world->config('canBootsClip', false)) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed()) + || $this->world->config('canOneFrameClipOW', false)))); }; - + $this->locations["Swamp Palace - Entrance"]->setFillRules(function ($item, $locations, $items) { return $this->world->config('region.wildKeys', false) || $item == Item::get('KeyD2', $this->world); }); diff --git a/app/Region/Standard/TowerOfHera.php b/app/Region/Standard/TowerOfHera.php index b16cf6c30..3f252e2b8 100644 --- a/app/Region/Standard/TowerOfHera.php +++ b/app/Region/Standard/TowerOfHera.php @@ -101,7 +101,7 @@ public function initalize() { $main = function ($locations, $items) { return (($items->has('PegasusBoots') && $this->world->config('canBootsClip', false)) - || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed())) + || ($this->world->config('canSuperSpeed', false) && $items->canSpinSpeed())) || $this->world->config('canOneFrameClipOW', false) || (($items->has('MagicMirror') || ($items->has('Hookshot') && $items->has('Hammer'))) && $this->world->getRegion('West Death Mountain')->canEnter($locations, $items)); diff --git a/app/Region/Standard/TurtleRock.php b/app/Region/Standard/TurtleRock.php index 454d4f836..160f9173b 100644 --- a/app/Region/Standard/TurtleRock.php +++ b/app/Region/Standard/TurtleRock.php @@ -85,8 +85,8 @@ public function initalize() { $upper = function ($locations, $items) { return (($locations["Turtle Rock Medallion"]->hasItem(Item::get('Bombos', $this->world)) && $items->has('Bombos')) - || ($locations["Turtle Rock Medallion"]->hasItem(Item::get('Ether', $this->world)) && $items->has('Ether')) - || ($locations["Turtle Rock Medallion"]->hasItem(Item::get('Quake', $this->world)) && $items->has('Quake'))) + || ($locations["Turtle Rock Medallion"]->hasItem(Item::get('Ether', $this->world)) && $items->has('Ether')) + || ($locations["Turtle Rock Medallion"]->hasItem(Item::get('Quake', $this->world)) && $items->has('Quake'))) && ($this->world->config('mode.weapons') == 'swordless' || $items->hasSword()) && ($items->has('MoonPearl') || ($this->world->config('canOWYBA', false) && $items->hasABottle() @@ -98,10 +98,10 @@ public function initalize() || (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) || $this->world->config('canOneFrameClipOW', false))); }; - + $middle = function ($locations, $items) { return ((($this->world->config('canMirrorClip', false) && $items->has('MagicMirror')) - && ($items->has('MoonPearl') || $this->world->config('canDungeonRevive', false))) + && ($items->has('MoonPearl') || $this->world->config('canDungeonRevive', false))) || (($this->world->config('canBootsClip', false) && $items->has('PegasusBoots')) && (($this->world->config('canOWYBA', false) && $items->hasABottle()) || $items->has('MoonPearl'))) || ($this->world->config('canSuperSpeed', false) && $items->has('MoonPearl') && $items->canSpinSpeed()) @@ -112,7 +112,7 @@ public function initalize() && ($items->has('Cape') || $items->has('CaneOfByrna'))) && $this->world->getRegion('East Dark World Death Mountain')->canEnter($locations, $items); }; - + $lower = function ($locations, $items) { return $this->world->config('canMirrorWrap', false) && $items->has('MagicMirror') && ($items->has('MoonPearl') diff --git a/app/Support/ItemCollection.php b/app/Support/ItemCollection.php index 428257e75..cc0c039e4 100644 --- a/app/Support/ItemCollection.php +++ b/app/Support/ItemCollection.php @@ -433,13 +433,13 @@ public function canSpinSpeed() return $this->has('PegasusBoots') && ($this->hasSword() || $this->has('Hookshot')); } - + /** * Requirements for water (bunny) revival * * @return bool */ - public function canBunnyRevive() + public function canBunnyRevive(): bool { return $this->hasABottle() && $this->has('BugCatchingNet'); } diff --git a/tests/MajorGlitches/DarkWorld/NorthEastTest.php b/tests/MajorGlitches/DarkWorld/NorthEastTest.php index e6731c262..f1ad135e7 100644 --- a/tests/MajorGlitches/DarkWorld/NorthEastTest.php +++ b/tests/MajorGlitches/DarkWorld/NorthEastTest.php @@ -40,12 +40,6 @@ public function testLocation(string $location, bool $access, array $items, array } $this->addCollected($items); - //if ($access) { - // print_r(array_map(function($i) { - // return $i->getName(); - // }, $this->collected->values())); - // die; - //} $this->assertEquals($access, $this->world->getLocation($location) ->canAccess($this->collected)); @@ -62,11 +56,7 @@ public function accessPool() ["Catfish", true, ['MoonPearl', 'PowerGlove', 'Hammer']], ["Catfish", true, ['MoonPearl', 'TitansMitt', 'Flippers']], - ["Pyramid", false, []], - ["Pyramid", true, ['DefeatAgahnim']], - ["Pyramid", true, ['MoonPearl', 'ProgressiveGlove', 'Hammer']], - ["Pyramid", true, ['MoonPearl', 'PowerGlove', 'Hammer']], - ["Pyramid", true, ['MoonPearl', 'TitansMitt', 'Flippers']], + ["Pyramid", true, []], ["Pyramid Fairy - Sword", false, []], ["Pyramid Fairy - Sword", false, [], ['AnySword']], diff --git a/tests/MajorGlitches/DesertPalaceTest.php b/tests/MajorGlitches/DesertPalaceTest.php index d28f75ff9..73fe0b414 100644 --- a/tests/MajorGlitches/DesertPalaceTest.php +++ b/tests/MajorGlitches/DesertPalaceTest.php @@ -110,10 +110,7 @@ public function testLocation(string $location, bool $access, array $items, array public function accessPool() { return [ - ["Desert Palace - Map Chest", false, []], - ["Desert Palace - Map Chest", true, ['BookOfMudora']], - ["Desert Palace - Map Chest", true, ['Flute', 'MagicMirror', 'ProgressiveGlove', 'ProgressiveGlove']], - ["Desert Palace - Map Chest", true, ['Flute', 'MagicMirror', 'TitansMitt']], + ["Desert Palace - Map Chest", true, []], ["Desert Palace - Big Chest", false, []], ["Desert Palace - Big Chest", true, ['BookOfMudora', 'BigKeyP2']], diff --git a/tests/MajorGlitches/LightWorldTest.php b/tests/MajorGlitches/LightWorldTest.php index 404490d51..a73d3e72d 100644 --- a/tests/MajorGlitches/LightWorldTest.php +++ b/tests/MajorGlitches/LightWorldTest.php @@ -186,14 +186,7 @@ public function accessPool() ["Cave 45", true, []], - ["Graveyard Ledge", false, []], - ["Graveyard Ledge", true, ['MoonPearl', 'MagicMirror', 'ProgressiveGlove', 'ProgressiveGlove']], - ["Graveyard Ledge", true, ['MoonPearl', 'MagicMirror', 'TitansMitt']], - ["Graveyard Ledge", true, ['MoonPearl', 'MagicMirror', 'ProgressiveGlove', 'Hammer']], - ["Graveyard Ledge", true, ['MoonPearl', 'MagicMirror', 'PowerGlove', 'Hammer']], - ["Graveyard Ledge", true, ['MoonPearl', 'MagicMirror', 'DefeatAgahnim', 'Hammer', 'Hookshot']], - ["Graveyard Ledge", true, ['MoonPearl', 'MagicMirror', 'DefeatAgahnim', 'ProgressiveGlove', 'Hookshot']], - ["Graveyard Ledge", true, ['MoonPearl', 'MagicMirror', 'DefeatAgahnim', 'Flippers', 'Hookshot']], + ["Graveyard Ledge", true, []], ["Checkerboard Cave", false, []], ["Checkerboard Cave", false, [], ['Gloves']], @@ -214,10 +207,7 @@ public function accessPool() ["Maze Race", true, []], - ["Desert Ledge", false, []], - ["Desert Ledge", true, ['BookOfMudora']], - ["Desert Ledge", true, ['Flute', 'MagicMirror', 'ProgressiveGlove', 'ProgressiveGlove']], - ["Desert Ledge", true, ['Flute', 'MagicMirror', 'TitansMitt']], + ["Desert Ledge", true, []], ["Lake Hylia Island", true, []], diff --git a/tests/MajorGlitches/TowerOfHeraTest.php b/tests/MajorGlitches/TowerOfHeraTest.php index ebb876b68..f3a51f39f 100644 --- a/tests/MajorGlitches/TowerOfHeraTest.php +++ b/tests/MajorGlitches/TowerOfHeraTest.php @@ -102,25 +102,9 @@ public function accessPool() ["Tower of Hera - Big Key Chest", true, ['FireRod', 'Flute', 'MagicMirror', 'KeyP3']], ["Tower of Hera - Big Key Chest", true, ['FireRod', 'Flute', 'Hookshot', 'Hammer', 'KeyP3']], - ["Tower of Hera - Basement Cage", false, []], - ["Tower of Hera - Basement Cage", true, ['Flute', 'MagicMirror']], - ["Tower of Hera - Basement Cage", true, ['ProgressiveGlove', 'Lamp', 'MagicMirror']], - ["Tower of Hera - Basement Cage", true, ['PowerGlove', 'Lamp', 'MagicMirror']], - ["Tower of Hera - Basement Cage", true, ['TitansMitt', 'Lamp', 'MagicMirror']], - ["Tower of Hera - Basement Cage", true, ['Flute', 'Hookshot', 'Hammer']], - ["Tower of Hera - Basement Cage", true, ['ProgressiveGlove', 'Lamp', 'Hookshot', 'Hammer']], - ["Tower of Hera - Basement Cage", true, ['PowerGlove', 'Lamp', 'Hookshot', 'Hammer']], - ["Tower of Hera - Basement Cage", true, ['TitansMitt', 'Lamp', 'Hookshot', 'Hammer']], - - ["Tower of Hera - Map Chest", false, []], - ["Tower of Hera - Map Chest", true, ['Flute', 'MagicMirror']], - ["Tower of Hera - Map Chest", true, ['ProgressiveGlove', 'Lamp', 'MagicMirror']], - ["Tower of Hera - Map Chest", true, ['PowerGlove', 'Lamp', 'MagicMirror']], - ["Tower of Hera - Map Chest", true, ['TitansMitt', 'Lamp', 'MagicMirror']], - ["Tower of Hera - Map Chest", true, ['Flute', 'Hookshot', 'Hammer']], - ["Tower of Hera - Map Chest", true, ['ProgressiveGlove', 'Lamp', 'Hookshot', 'Hammer']], - ["Tower of Hera - Map Chest", true, ['PowerGlove', 'Lamp', 'Hookshot', 'Hammer']], - ["Tower of Hera - Map Chest", true, ['TitansMitt', 'Lamp', 'Hookshot', 'Hammer']], + ["Tower of Hera - Basement Cage", true, []], + + ["Tower of Hera - Map Chest", true, []], ["Tower of Hera - Compass Chest", false, []], ["Tower of Hera - Compass Chest", true, ['Flute', 'MagicMirror', 'BigKeyP3']], diff --git a/tests/OverworldGlitches/DarkWorld/SouthTest.php b/tests/OverworldGlitches/DarkWorld/SouthTest.php index be2a78acc..6e5b3794b 100644 --- a/tests/OverworldGlitches/DarkWorld/SouthTest.php +++ b/tests/OverworldGlitches/DarkWorld/SouthTest.php @@ -104,7 +104,7 @@ public function accessPool() ["Hype Cave - NPC", true, ['MoonPearl', 'DefeatAgahnim', 'Flippers', 'Hookshot']], ["Stumpy", false, []], - ["Stumpy", false, [], ['MoonPearl']], + ["Stumpy", true, ['MagicMirror', 'PegasusBoots']], ["Stumpy", true, ['MoonPearl', 'DefeatAgahnim', 'Hammer']], ["Stumpy", true, ['MoonPearl', 'ProgressiveGlove', 'ProgressiveGlove']], ["Stumpy", true, ['MoonPearl', 'TitansMitt']], diff --git a/tests/OverworldGlitches/TurtleRockTest.php b/tests/OverworldGlitches/TurtleRockTest.php index c70213897..3439500fe 100644 --- a/tests/OverworldGlitches/TurtleRockTest.php +++ b/tests/OverworldGlitches/TurtleRockTest.php @@ -254,7 +254,6 @@ public function accessPool() ["Turtle Rock - Boss", false, [], ['CaneOfSomaria']], ["Turtle Rock - Boss", false, [], ['IceRod']], ["Turtle Rock - Boss", false, [], ['FireRod']], - ["Turtle Rock - Boss", false, [], ['Lamp']], ["Turtle Rock - Boss", false, [], ['BigKeyD7']], ["Turtle Rock - Boss", true, ['IceRod', 'FireRod', 'Lamp', 'MagicMirror', 'MoonPearl', 'TitansMitt', 'Hammer', 'Quake', 'UncleSword', 'CaneOfSomaria', 'KeyD7', 'KeyD7', 'KeyD7', 'KeyD7', 'BigKeyD7']], ["Turtle Rock - Boss", true, ['IceRod', 'FireRod', 'Lamp', 'MagicMirror', 'MoonPearl', 'TitansMitt', 'Hammer', 'Quake', 'ProgressiveSword', 'CaneOfSomaria', 'KeyD7', 'KeyD7', 'KeyD7', 'KeyD7', 'BigKeyD7']], From df0cf24148e5e857f9f49d91181e8e963c0d6eff Mon Sep 17 00:00:00 2001 From: sporchia Date: Sat, 12 Oct 2019 11:06:23 -0400 Subject: [PATCH 06/29] updates * uncle bow credit * beginner hints --- app/Location/Npc/Uncle.php | 1 + config/alttp.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/Location/Npc/Uncle.php b/app/Location/Npc/Uncle.php index a0a927933..0332491d8 100644 --- a/app/Location/Npc/Uncle.php +++ b/app/Location/Npc/Uncle.php @@ -122,6 +122,7 @@ private function getItemCreditsText() case 'Bow': case 'BowAndArrows': case 'BowAndSilverArrows': + case 'ProgressiveBow': return "your uncle, robin hood"; case 'Boomerang': case 'RedBoomerang': diff --git a/config/alttp.php b/config/alttp.php index 068ac8939..6aeac298b 100644 --- a/config/alttp.php +++ b/config/alttp.php @@ -54,7 +54,7 @@ 'entrance_shuffle' => 'none', 'boss_shuffle' => 'none', 'enemy_shuffle' => 'none', - 'hints' => 'on', + 'hints' => 'off', 'weapons' => 'assured', 'item_pool' => 'normal', 'item_functionality' => 'normal', From bbbb1711039f794a869b483bd86ff5ec7fbc35c4 Mon Sep 17 00:00:00 2001 From: sporchia Date: Sat, 12 Oct 2019 11:24:37 -0400 Subject: [PATCH 07/29] dependecy updates --- composer.json | 2 +- composer.lock | 544 +++++------- package-lock.json | 2019 +++++++++++++++++++++------------------------ package.json | 34 +- 4 files changed, 1161 insertions(+), 1438 deletions(-) diff --git a/composer.json b/composer.json index 69449fbd8..26253fe99 100644 --- a/composer.json +++ b/composer.json @@ -37,7 +37,7 @@ "mockery/mockery": "^1.2", "mohammedmanssour/form-request-tester": "dev-master", "nunomaduro/collision": "^3.0", - "nunomaduro/larastan": "^0.3.16", + "nunomaduro/larastan": "^0.4.1", "nunomaduro/phpinsights": "^1.3", "phpunit/phpunit": "^8.1", "symfony/css-selector": "^4.2", diff --git a/composer.lock b/composer.lock index bfdc439ed..2a7a8d7a5 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "69784b2753034458f3aca947126cbe3d", + "content-hash": "ce9188ad1d4ff27455dee8bedbf2c4ab", "packages": [ { "name": "aws/aws-sdk-php", - "version": "3.112.7", + "version": "3.112.20", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "5167704e39f4e139152906b3d962aa15692bff07" + "reference": "c84de8adf2b014124b0058013805caf2ae384137" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/5167704e39f4e139152906b3d962aa15692bff07", - "reference": "5167704e39f4e139152906b3d962aa15692bff07", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/c84de8adf2b014124b0058013805caf2ae384137", + "reference": "c84de8adf2b014124b0058013805caf2ae384137", "shasum": "" }, "require": { @@ -87,7 +87,7 @@ "s3", "sdk" ], - "time": "2019-09-24T18:13:32+00:00" + "time": "2019-10-11T18:14:55+00:00" }, { "name": "cakephp/chronos", @@ -1566,16 +1566,16 @@ }, { "name": "laravel/horizon", - "version": "v3.3.2", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/laravel/horizon.git", - "reference": "692d3649a9c1bd13a3340ecc10036c1d3b55155b" + "reference": "6279319c0cc35aa9a87490f58ac59e4ca78d4112" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/horizon/zipball/692d3649a9c1bd13a3340ecc10036c1d3b55155b", - "reference": "692d3649a9c1bd13a3340ecc10036c1d3b55155b", + "url": "https://api.github.com/repos/laravel/horizon/zipball/6279319c0cc35aa9a87490f58ac59e4ca78d4112", + "reference": "6279319c0cc35aa9a87490f58ac59e4ca78d4112", "shasum": "" }, "require": { @@ -1631,20 +1631,20 @@ "laravel", "queue" ], - "time": "2019-08-27T14:30:05+00:00" + "time": "2019-10-08T16:18:52+00:00" }, { "name": "laravel/passport", - "version": "v7.5.0", + "version": "v7.5.1", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "663e720a6d15e8ec70bf5309f774439a110efc89" + "reference": "d63cdd672c3d65b3c35b73d0ef13a9dbfcb71c08" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/663e720a6d15e8ec70bf5309f774439a110efc89", - "reference": "663e720a6d15e8ec70bf5309f774439a110efc89", + "url": "https://api.github.com/repos/laravel/passport/zipball/d63cdd672c3d65b3c35b73d0ef13a9dbfcb71c08", + "reference": "d63cdd672c3d65b3c35b73d0ef13a9dbfcb71c08", "shasum": "" }, "require": { @@ -1702,7 +1702,7 @@ "oauth", "passport" ], - "time": "2019-09-24T20:59:35+00:00" + "time": "2019-10-08T16:45:24+00:00" }, { "name": "laravel/tinker", @@ -1878,9 +1878,9 @@ "authors": [ { "name": "Colin O'Dell", - "role": "Lead Developer", "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com" + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" } ], "description": "PHP Markdown parser based on the CommonMark spec", @@ -1944,16 +1944,16 @@ }, { "name": "league/flysystem", - "version": "1.0.55", + "version": "1.0.56", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "33c91155537c6dc899eacdc54a13ac6303f156e6" + "reference": "90e3f83cb10ef6b058d70f95267030e7a6236518" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/33c91155537c6dc899eacdc54a13ac6303f156e6", - "reference": "33c91155537c6dc899eacdc54a13ac6303f156e6", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/90e3f83cb10ef6b058d70f95267030e7a6236518", + "reference": "90e3f83cb10ef6b058d70f95267030e7a6236518", "shasum": "" }, "require": { @@ -2024,7 +2024,7 @@ "sftp", "storage" ], - "time": "2019-08-24T11:17:19+00:00" + "time": "2019-10-12T13:05:59+00:00" }, { "name": "league/flysystem-aws-s3-v3", @@ -2199,16 +2199,16 @@ }, { "name": "martinlindhe/laravel-vue-i18n-generator", - "version": "0.1.40", + "version": "0.1.41", "source": { "type": "git", "url": "https://github.com/martinlindhe/laravel-vue-i18n-generator.git", - "reference": "0da6b5b7782bf0a79e47f6c02d39115550638e1e" + "reference": "dec5e101afa6077d35a96ba55969173ecdf27107" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/martinlindhe/laravel-vue-i18n-generator/zipball/0da6b5b7782bf0a79e47f6c02d39115550638e1e", - "reference": "0da6b5b7782bf0a79e47f6c02d39115550638e1e", + "url": "https://api.github.com/repos/martinlindhe/laravel-vue-i18n-generator/zipball/dec5e101afa6077d35a96ba55969173ecdf27107", + "reference": "dec5e101afa6077d35a96ba55969173ecdf27107", "shasum": "" }, "require": { @@ -2248,7 +2248,7 @@ "laravel", "vue-i18n" ], - "time": "2019-09-03T16:59:43+00:00" + "time": "2019-10-08T17:12:03+00:00" }, { "name": "monolog/monolog", @@ -2385,16 +2385,16 @@ }, { "name": "nesbot/carbon", - "version": "2.24.0", + "version": "2.25.1", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "934459c5ac0658bc765ad1e53512c7c77adcac29" + "reference": "d59c6cea9c4a3547bb6c0dfec451319abdaa4fb1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/934459c5ac0658bc765ad1e53512c7c77adcac29", - "reference": "934459c5ac0658bc765ad1e53512c7c77adcac29", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d59c6cea9c4a3547bb6c0dfec451319abdaa4fb1", + "reference": "d59c6cea9c4a3547bb6c0dfec451319abdaa4fb1", "shasum": "" }, "require": { @@ -2441,14 +2441,14 @@ "homepage": "http://github.com/kylekatarnls" } ], - "description": "A API extension for DateTime that supports 281 different languages.", + "description": "An API extension for DateTime that supports 281 different languages.", "homepage": "http://carbon.nesbot.com", "keywords": [ "date", "datetime", "time" ], - "time": "2019-08-31T16:37:55+00:00" + "time": "2019-10-05T15:52:23+00:00" }, { "name": "nikic/php-parser", @@ -3845,16 +3845,16 @@ }, { "name": "sentry/sentry", - "version": "2.2.1", + "version": "2.2.2", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-php.git", - "reference": "5896f9f0a00a7525797764ba42091dfbde22a746" + "reference": "217c9e550eb3e06bbe48a4da4031223e1aab76f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/5896f9f0a00a7525797764ba42091dfbde22a746", - "reference": "5896f9f0a00a7525797764ba42091dfbde22a746", + "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/217c9e550eb3e06bbe48a4da4031223e1aab76f0", + "reference": "217c9e550eb3e06bbe48a4da4031223e1aab76f0", "shasum": "" }, "require": { @@ -3923,20 +3923,20 @@ "logging", "sentry" ], - "time": "2019-09-23T11:52:12+00:00" + "time": "2019-10-10T08:16:00+00:00" }, { "name": "sentry/sentry-laravel", - "version": "1.3.0", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/getsentry/sentry-laravel.git", - "reference": "83abfabb9695551e53431d0499c400b8d1612fc3" + "reference": "dd234ff068899e0ccd509dd7e39eaae1a9e704dc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/83abfabb9695551e53431d0499c400b8d1612fc3", - "reference": "83abfabb9695551e53431d0499c400b8d1612fc3", + "url": "https://api.github.com/repos/getsentry/sentry-laravel/zipball/dd234ff068899e0ccd509dd7e39eaae1a9e704dc", + "reference": "dd234ff068899e0ccd509dd7e39eaae1a9e704dc", "shasum": "" }, "require": { @@ -3992,7 +3992,7 @@ "logging", "sentry" ], - "time": "2019-09-24T07:20:25+00:00" + "time": "2019-10-01T12:03:02+00:00" }, { "name": "swiftmailer/swiftmailer", @@ -4058,16 +4058,16 @@ }, { "name": "symfony/console", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "de63799239b3881b8a08f8481b22348f77ed7b36" + "reference": "929ddf360d401b958f611d44e726094ab46a7369" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/de63799239b3881b8a08f8481b22348f77ed7b36", - "reference": "de63799239b3881b8a08f8481b22348f77ed7b36", + "url": "https://api.github.com/repos/symfony/console/zipball/929ddf360d401b958f611d44e726094ab46a7369", + "reference": "929ddf360d401b958f611d44e726094ab46a7369", "shasum": "" }, "require": { @@ -4129,20 +4129,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-07T12:36:49+00:00" }, { "name": "symfony/css-selector", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "c6e5e2a00db768c92c3ae131532af4e1acc7bd03" + "reference": "f4b3ff6a549d9ed28b2b0ecd1781bf67cf220ee9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/c6e5e2a00db768c92c3ae131532af4e1acc7bd03", - "reference": "c6e5e2a00db768c92c3ae131532af4e1acc7bd03", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/f4b3ff6a549d9ed28b2b0ecd1781bf67cf220ee9", + "reference": "f4b3ff6a549d9ed28b2b0ecd1781bf67cf220ee9", "shasum": "" }, "require": { @@ -4182,20 +4182,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2019-08-20T14:07:54+00:00" + "time": "2019-10-02T08:36:26+00:00" }, { "name": "symfony/debug", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "afcdea44a2e399c1e4b52246ec8d54c715393ced" + "reference": "cc5c1efd0edfcfd10b354750594a46b3dd2afbbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/afcdea44a2e399c1e4b52246ec8d54c715393ced", - "reference": "afcdea44a2e399c1e4b52246ec8d54c715393ced", + "url": "https://api.github.com/repos/symfony/debug/zipball/cc5c1efd0edfcfd10b354750594a46b3dd2afbbe", + "reference": "cc5c1efd0edfcfd10b354750594a46b3dd2afbbe", "shasum": "" }, "require": { @@ -4238,20 +4238,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2019-08-20T14:27:59+00:00" + "time": "2019-09-19T15:51:53+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2" + "reference": "6229f58993e5a157f6096fc7145c0717d0be8807" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/429d0a1451d4c9c4abe1959b2986b88794b9b7d2", - "reference": "429d0a1451d4c9c4abe1959b2986b88794b9b7d2", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/6229f58993e5a157f6096fc7145c0717d0be8807", + "reference": "6229f58993e5a157f6096fc7145c0717d0be8807", "shasum": "" }, "require": { @@ -4308,20 +4308,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2019-10-01T16:40:32+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.5", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "c61766f4440ca687de1084a5c00b08e167a2575c" + "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c61766f4440ca687de1084a5c00b08e167a2575c", - "reference": "c61766f4440ca687de1084a5c00b08e167a2575c", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/c43ab685673fb6c8d84220c77897b1d6cdbe1d18", + "reference": "c43ab685673fb6c8d84220c77897b1d6cdbe1d18", "shasum": "" }, "require": { @@ -4366,20 +4366,20 @@ "interoperability", "standards" ], - "time": "2019-06-20T06:46:26+00:00" + "time": "2019-09-17T09:54:03+00:00" }, { "name": "symfony/finder", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2" + "reference": "5e575faa95548d0586f6bedaeabec259714e44d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/86c1c929f0a4b24812e1eb109262fc3372c8e9f2", - "reference": "86c1c929f0a4b24812e1eb109262fc3372c8e9f2", + "url": "https://api.github.com/repos/symfony/finder/zipball/5e575faa95548d0586f6bedaeabec259714e44d1", + "reference": "5e575faa95548d0586f6bedaeabec259714e44d1", "shasum": "" }, "require": { @@ -4415,20 +4415,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2019-08-14T12:26:46+00:00" + "time": "2019-09-16T11:29:48+00:00" }, { "name": "symfony/http-foundation", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc" + "reference": "76590ced16d4674780863471bae10452b79210a5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/d804bea118ff340a12e22a79f9c7e7eb56b35adc", - "reference": "d804bea118ff340a12e22a79f9c7e7eb56b35adc", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/76590ced16d4674780863471bae10452b79210a5", + "reference": "76590ced16d4674780863471bae10452b79210a5", "shasum": "" }, "require": { @@ -4470,20 +4470,20 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2019-10-04T19:48:13+00:00" }, { "name": "symfony/http-kernel", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "5e0fc71be03d52cd00c423061cfd300bd6f92a52" + "reference": "5f08141850932e8019c01d8988bf3ed6367d2991" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/5e0fc71be03d52cd00c423061cfd300bd6f92a52", - "reference": "5e0fc71be03d52cd00c423061cfd300bd6f92a52", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/5f08141850932e8019c01d8988bf3ed6367d2991", + "reference": "5f08141850932e8019c01d8988bf3ed6367d2991", "shasum": "" }, "require": { @@ -4562,20 +4562,20 @@ ], "description": "Symfony HttpKernel Component", "homepage": "https://symfony.com", - "time": "2019-08-26T16:47:42+00:00" + "time": "2019-10-07T15:06:41+00:00" }, { "name": "symfony/mime", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "987a05df1c6ac259b34008b932551353f4f408df" + "reference": "32f71570547b91879fdbd9cf50317d556ae86916" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/987a05df1c6ac259b34008b932551353f4f408df", - "reference": "987a05df1c6ac259b34008b932551353f4f408df", + "url": "https://api.github.com/repos/symfony/mime/zipball/32f71570547b91879fdbd9cf50317d556ae86916", + "reference": "32f71570547b91879fdbd9cf50317d556ae86916", "shasum": "" }, "require": { @@ -4621,11 +4621,11 @@ "mime", "mime-type" ], - "time": "2019-08-22T08:16:11+00:00" + "time": "2019-09-19T17:00:15+00:00" }, { "name": "symfony/options-resolver", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", @@ -5030,16 +5030,16 @@ }, { "name": "symfony/process", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "e89969c00d762349f078db1128506f7f3dcc0d4a" + "reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/e89969c00d762349f078db1128506f7f3dcc0d4a", - "reference": "e89969c00d762349f078db1128506f7f3dcc0d4a", + "url": "https://api.github.com/repos/symfony/process/zipball/50556892f3cc47d4200bfd1075314139c4c9ff4b", + "reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b", "shasum": "" }, "require": { @@ -5075,7 +5075,7 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-26T21:17:10+00:00" }, { "name": "symfony/psr-http-message-bridge", @@ -5144,16 +5144,16 @@ }, { "name": "symfony/routing", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "ff1049f6232dc5b6023b1ff1c6de56f82bcd264f" + "reference": "3b174ef04fe66696524efad1e5f7a6c663d822ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/ff1049f6232dc5b6023b1ff1c6de56f82bcd264f", - "reference": "ff1049f6232dc5b6023b1ff1c6de56f82bcd264f", + "url": "https://api.github.com/repos/symfony/routing/zipball/3b174ef04fe66696524efad1e5f7a6c663d822ea", + "reference": "3b174ef04fe66696524efad1e5f7a6c663d822ea", "shasum": "" }, "require": { @@ -5216,20 +5216,20 @@ "uri", "url" ], - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-04T20:57:10+00:00" }, { "name": "symfony/service-contracts", - "version": "v1.1.6", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3" + "reference": "ffcde9615dc5bb4825b9f6aed07716f1f57faae0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ea7263d6b6d5f798b56a45a5b8d686725f2719a3", - "reference": "ea7263d6b6d5f798b56a45a5b8d686725f2719a3", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/ffcde9615dc5bb4825b9f6aed07716f1f57faae0", + "reference": "ffcde9615dc5bb4825b9f6aed07716f1f57faae0", "shasum": "" }, "require": { @@ -5274,20 +5274,20 @@ "interoperability", "standards" ], - "time": "2019-08-20T14:44:19+00:00" + "time": "2019-09-17T11:12:18+00:00" }, { "name": "symfony/translation", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "28498169dd334095fa981827992f3a24d50fed0f" + "reference": "fe6193b066c457c144333c06aaa869a2d42a167f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/28498169dd334095fa981827992f3a24d50fed0f", - "reference": "28498169dd334095fa981827992f3a24d50fed0f", + "url": "https://api.github.com/repos/symfony/translation/zipball/fe6193b066c457c144333c06aaa869a2d42a167f", + "reference": "fe6193b066c457c144333c06aaa869a2d42a167f", "shasum": "" }, "require": { @@ -5350,20 +5350,20 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:55:16+00:00" + "time": "2019-09-27T14:37:39+00:00" }, { "name": "symfony/translation-contracts", - "version": "v1.1.6", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "325b17c24f3ee23cbecfa63ba809c6d89b5fa04a" + "reference": "364518c132c95642e530d9b2d217acbc2ccac3e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/325b17c24f3ee23cbecfa63ba809c6d89b5fa04a", - "reference": "325b17c24f3ee23cbecfa63ba809c6d89b5fa04a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/364518c132c95642e530d9b2d217acbc2ccac3e6", + "reference": "364518c132c95642e530d9b2d217acbc2ccac3e6", "shasum": "" }, "require": { @@ -5407,20 +5407,20 @@ "interoperability", "standards" ], - "time": "2019-08-02T12:15:04+00:00" + "time": "2019-09-17T11:12:18+00:00" }, { "name": "symfony/var-dumper", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6" + "reference": "bde8957fc415fdc6964f33916a3755737744ff05" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/641043e0f3e615990a0f29479f9c117e8a6698c6", - "reference": "641043e0f3e615990a0f29479f9c117e8a6698c6", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/bde8957fc415fdc6964f33916a3755737744ff05", + "reference": "bde8957fc415fdc6964f33916a3755737744ff05", "shasum": "" }, "require": { @@ -5483,7 +5483,7 @@ "debug", "dump" ], - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-04T19:48:13+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -5611,16 +5611,16 @@ }, { "name": "zendframework/zend-diactoros", - "version": "2.1.3", + "version": "2.1.5", "source": { "type": "git", "url": "https://github.com/zendframework/zend-diactoros.git", - "reference": "279723778c40164bcf984a2df12ff2c6ec5e61c1" + "reference": "6dcf9e760a6b476f3e9d80abbc9ce9c4aa921f9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/279723778c40164bcf984a2df12ff2c6ec5e61c1", - "reference": "279723778c40164bcf984a2df12ff2c6ec5e61c1", + "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/6dcf9e760a6b476f3e9d80abbc9ce9c4aa921f9c", + "reference": "6dcf9e760a6b476f3e9d80abbc9ce9c4aa921f9c", "shasum": "" }, "require": { @@ -5633,6 +5633,7 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { + "ext-curl": "*", "ext-dom": "*", "ext-libxml": "*", "http-interop/http-factory-tests": "^0.5.0", @@ -5673,7 +5674,7 @@ "psr", "psr-7" ], - "time": "2019-07-10T16:13:25+00:00" + "time": "2019-10-10T17:38:20+00:00" } ], "packages-dev": [ @@ -5725,9 +5726,9 @@ "authors": [ { "name": "Marcel Pociot", + "role": "Developer", "email": "marcel@beyondco.de", - "homepage": "https://beyondco.de", - "role": "Developer" + "homepage": "https://beyondco.de" } ], "description": "Symfony Var-Dump Server for Laravel", @@ -6042,16 +6043,16 @@ }, { "name": "doctrine/annotations", - "version": "v1.7.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/annotations.git", - "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb" + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/fa4c4e861e809d6a1103bd620cce63ed91aedfeb", - "reference": "fa4c4e861e809d6a1103bd620cce63ed91aedfeb", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/904dca4eb10715b92569fbcd79e201d5c349b6bc", + "reference": "904dca4eb10715b92569fbcd79e201d5c349b6bc", "shasum": "" }, "require": { @@ -6060,7 +6061,7 @@ }, "require-dev": { "doctrine/cache": "1.*", - "phpunit/phpunit": "^7.5@dev" + "phpunit/phpunit": "^7.5" }, "type": "library", "extra": { @@ -6106,7 +6107,7 @@ "docblock", "parser" ], - "time": "2019-08-08T18:11:40+00:00" + "time": "2019-10-01T18:55:10+00:00" }, { "name": "doctrine/instantiator", @@ -6209,8 +6210,8 @@ "authors": [ { "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" + "role": "Developer", + "homepage": "https://github.com/filp" } ], "description": "php error handling for cool kids", @@ -6546,16 +6547,16 @@ }, { "name": "mockery/mockery", - "version": "1.2.3", + "version": "1.2.4", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "4eff936d83eb809bde2c57a3cea0ee9643769031" + "reference": "b3453f75fd23d9fd41685f2148f4abeacabc6405" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/4eff936d83eb809bde2c57a3cea0ee9643769031", - "reference": "4eff936d83eb809bde2c57a3cea0ee9643769031", + "url": "https://api.github.com/repos/mockery/mockery/zipball/b3453f75fd23d9fd41685f2148f4abeacabc6405", + "reference": "b3453f75fd23d9fd41685f2148f4abeacabc6405", "shasum": "" }, "require": { @@ -6569,7 +6570,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.2.x-dev" } }, "autoload": { @@ -6607,7 +6608,7 @@ "test double", "testing" ], - "time": "2019-08-07T15:01:07+00:00" + "time": "2019-09-30T08:30:27+00:00" }, { "name": "mohammedmanssour/form-request-tester", @@ -7283,16 +7284,16 @@ }, { "name": "nunomaduro/larastan", - "version": "v0.3.21", + "version": "v0.4.1", "source": { "type": "git", "url": "https://github.com/nunomaduro/larastan.git", - "reference": "4dca6af24373eb83aa7fcc1018495ef2680838c2" + "reference": "f5a9522ac158976daba4c2323d7018017220b9cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/4dca6af24373eb83aa7fcc1018495ef2680838c2", - "reference": "4dca6af24373eb83aa7fcc1018495ef2680838c2", + "url": "https://api.github.com/repos/nunomaduro/larastan/zipball/f5a9522ac158976daba4c2323d7018017220b9cb", + "reference": "f5a9522ac158976daba4c2323d7018017220b9cb", "shasum": "" }, "require": { @@ -7304,20 +7305,28 @@ "illuminate/pipeline": "5.6.*|5.7.*|5.8.*|^6.0", "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0", "mockery/mockery": "^1.0|0.9.*", - "orchestra/testbench": "^3.6", "php": "^7.1.3", "phpstan/phpstan": "^0.11.15", "symfony/process": "^4.2" }, "require-dev": { - "phpunit/phpunit": "^7.3" + "orchestra/testbench": "^3.8", + "phpunit/phpunit": "^7.3 || ^8.2" }, - "type": "library", + "suggest": { + "orchestra/testbench": "^3.6" + }, + "type": "phpstan-extension", "extra": { "laravel": { "providers": [ "NunoMaduro\\Larastan\\LarastanServiceProvider" ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] } }, "autoload": { @@ -7346,7 +7355,7 @@ "php", "static analysis" ], - "time": "2019-08-18T21:52:50+00:00" + "time": "2019-10-07T07:01:51+00:00" }, { "name": "nunomaduro/phpinsights", @@ -7472,121 +7481,6 @@ "description": "PHP CodeSniffer Object Calisthenics rules/sniffs", "time": "2019-05-15T17:09:16+00:00" }, - { - "name": "orchestra/testbench", - "version": "v3.8.5", - "source": { - "type": "git", - "url": "https://github.com/orchestral/testbench.git", - "reference": "c53429b04669b76bf764f4f8f9ba53bbe2d2a292" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/c53429b04669b76bf764f4f8f9ba53bbe2d2a292", - "reference": "c53429b04669b76bf764f4f8f9ba53bbe2d2a292", - "shasum": "" - }, - "require": { - "laravel/framework": "~5.8.35", - "mockery/mockery": "^1.0", - "orchestra/testbench-core": "~3.8.7", - "php": ">=7.1", - "phpunit/phpunit": "^7.5 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.8-dev" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mior Muhammad Zaki", - "email": "crynobone@gmail.com", - "homepage": "https://github.com/crynobone" - } - ], - "description": "Laravel Testing Helper for Packages Development", - "homepage": "http://orchestraplatform.com/docs/latest/components/testbench/", - "keywords": [ - "BDD", - "TDD", - "laravel", - "orchestra-platform", - "orchestral", - "testing" - ], - "time": "2019-09-11T07:44:11+00:00" - }, - { - "name": "orchestra/testbench-core", - "version": "v3.8.7", - "source": { - "type": "git", - "url": "https://github.com/orchestral/testbench-core.git", - "reference": "2122fc0c3c4e592ab142786b27d5bd6c60ca7a3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/2122fc0c3c4e592ab142786b27d5bd6c60ca7a3c", - "reference": "2122fc0c3c4e592ab142786b27d5bd6c60ca7a3c", - "shasum": "" - }, - "require": { - "fzaninotto/faker": "^1.4", - "php": ">=7.1" - }, - "require-dev": { - "laravel/framework": "~5.8.35", - "laravel/laravel": "5.8.x-dev", - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^7.5 || ^8.0" - }, - "suggest": { - "laravel/framework": "Required for testing (~5.8.35).", - "mockery/mockery": "Allow to use Mockery for testing (^1.0).", - "orchestra/testbench-browser-kit": "Allow to use legacy Laravel BrowserKit for testing (^3.8).", - "orchestra/testbench-dusk": "Allow to use Laravel Dusk for testing (^3.8).", - "phpunit/phpunit": "Allow to use PHPUnit for testing (^7.5 || ^8.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.8-dev" - } - }, - "autoload": { - "psr-4": { - "Orchestra\\Testbench\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mior Muhammad Zaki", - "email": "crynobone@gmail.com", - "homepage": "https://github.com/crynobone" - } - ], - "description": "Testing Helper for Laravel Development", - "homepage": "http://orchestraplatform.com/docs/latest/components/testbench/", - "keywords": [ - "BDD", - "TDD", - "laravel", - "orchestra-platform", - "orchestral", - "testing" - ], - "time": "2019-09-11T07:07:58+00:00" - }, { "name": "phar-io/manifest", "version": "1.0.3", @@ -7941,22 +7835,22 @@ }, { "name": "phpspec/prophecy", - "version": "1.8.1", + "version": "1.9.0", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76" + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/1927e75f4ed19131ec9bcc3b002e07fb1173ee76", - "reference": "1927e75f4ed19131ec9bcc3b002e07fb1173ee76", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/f6811d96d97bdf400077a0cc100ae56aa32b9203", + "reference": "f6811d96d97bdf400077a0cc100ae56aa32b9203", "shasum": "" }, "require": { "doctrine/instantiator": "^1.0.2", "php": "^5.3|^7.0", - "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", "sebastian/comparator": "^1.1|^2.0|^3.0", "sebastian/recursion-context": "^1.0|^2.0|^3.0" }, @@ -8000,7 +7894,7 @@ "spy", "stub" ], - "time": "2019-06-13T12:50:23+00:00" + "time": "2019-10-03T11:07:50+00:00" }, { "name": "phpstan/phpdoc-parser", @@ -8377,16 +8271,16 @@ }, { "name": "phpunit/phpunit", - "version": "8.3.5", + "version": "8.4.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "302faed7059fde575cf3403a78c730c5e3a62750" + "reference": "366a4a0f2b971fd43b7c351d621e8dd7d7131869" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/302faed7059fde575cf3403a78c730c5e3a62750", - "reference": "302faed7059fde575cf3403a78c730c5e3a62750", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/366a4a0f2b971fd43b7c351d621e8dd7d7131869", + "reference": "366a4a0f2b971fd43b7c351d621e8dd7d7131869", "shasum": "" }, "require": { @@ -8430,7 +8324,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.3-dev" + "dev-master": "8.4-dev" } }, "autoload": { @@ -8456,7 +8350,7 @@ "testing", "xunit" ], - "time": "2019-09-14T09:12:03+00:00" + "time": "2019-10-07T12:57:41+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", @@ -9295,16 +9189,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.4.2", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8" + "reference": "0afebf16a2e7f1e434920fa976253576151effe9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8", - "reference": "b8a7362af1cc1aadb5bd36c3defc4dda2cf5f0a8", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/0afebf16a2e7f1e434920fa976253576151effe9", + "reference": "0afebf16a2e7f1e434920fa976253576151effe9", "shasum": "" }, "require": { @@ -9342,20 +9236,20 @@ "phpcs", "standards" ], - "time": "2019-04-10T23:49:02+00:00" + "time": "2019-09-26T23:12:26+00:00" }, { "name": "symfony/cache", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "1d8f7fee990c586f275cde1a9fc883d6b1e2d43e" + "reference": "40c62600ebad1ed2defbf7d35523d918a73ab330" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/1d8f7fee990c586f275cde1a9fc883d6b1e2d43e", - "reference": "1d8f7fee990c586f275cde1a9fc883d6b1e2d43e", + "url": "https://api.github.com/repos/symfony/cache/zipball/40c62600ebad1ed2defbf7d35523d918a73ab330", + "reference": "40c62600ebad1ed2defbf7d35523d918a73ab330", "shasum": "" }, "require": { @@ -9420,20 +9314,20 @@ "caching", "psr6" ], - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-10-04T10:57:53+00:00" }, { "name": "symfony/cache-contracts", - "version": "v1.1.5", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db" + "reference": "af50d14ada9e4e82cfabfabdc502d144f89be0a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db", - "reference": "ec5524b669744b5f1dc9c66d3c2b091eb7e7f0db", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/af50d14ada9e4e82cfabfabdc502d144f89be0a1", + "reference": "af50d14ada9e4e82cfabfabdc502d144f89be0a1", "shasum": "" }, "require": { @@ -9478,20 +9372,20 @@ "interoperability", "standards" ], - "time": "2019-06-13T11:15:36+00:00" + "time": "2019-10-04T21:43:27+00:00" }, { "name": "symfony/config", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "07d49c0f823e0bc367c6d84e35b61419188a5ece" + "reference": "0acb26407a9e1a64a275142f0ae5e36436342720" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/07d49c0f823e0bc367c6d84e35b61419188a5ece", - "reference": "07d49c0f823e0bc367c6d84e35b61419188a5ece", + "url": "https://api.github.com/repos/symfony/config/zipball/0acb26407a9e1a64a275142f0ae5e36436342720", + "reference": "0acb26407a9e1a64a275142f0ae5e36436342720", "shasum": "" }, "require": { @@ -9542,20 +9436,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-19T15:51:53+00:00" }, { "name": "symfony/dependency-injection", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "d3ad14b66ac773ba6123622eb9b5b010165fe3d9" + "reference": "e1e0762a814b957a1092bff75a550db49724d05b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d3ad14b66ac773ba6123622eb9b5b010165fe3d9", - "reference": "d3ad14b66ac773ba6123622eb9b5b010165fe3d9", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e1e0762a814b957a1092bff75a550db49724d05b", + "reference": "e1e0762a814b957a1092bff75a550db49724d05b", "shasum": "" }, "require": { @@ -9615,20 +9509,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2019-08-26T16:27:33+00:00" + "time": "2019-10-02T12:58:58+00:00" }, { "name": "symfony/dom-crawler", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "cc686552948d627528c0e2e759186dff67c2610e" + "reference": "e9f7b4d19d69b133bd638eeddcdc757723b4211f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/cc686552948d627528c0e2e759186dff67c2610e", - "reference": "cc686552948d627528c0e2e759186dff67c2610e", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/e9f7b4d19d69b133bd638eeddcdc757723b4211f", + "reference": "e9f7b4d19d69b133bd638eeddcdc757723b4211f", "shasum": "" }, "require": { @@ -9676,11 +9570,11 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2019-08-26T08:26:39+00:00" + "time": "2019-09-28T21:25:05+00:00" }, { "name": "symfony/filesystem", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", @@ -9730,22 +9624,22 @@ }, { "name": "symfony/http-client", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "9a4fa769269ed730196a5c52c742b30600cf1e87" + "reference": "69d438274718121e1166e7f65c290f891a4c8ddb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/9a4fa769269ed730196a5c52c742b30600cf1e87", - "reference": "9a4fa769269ed730196a5c52c742b30600cf1e87", + "url": "https://api.github.com/repos/symfony/http-client/zipball/69d438274718121e1166e7f65c290f891a4c8ddb", + "reference": "69d438274718121e1166e7f65c290f891a4c8ddb", "shasum": "" }, "require": { "php": "^7.1.3", "psr/log": "^1.0", - "symfony/http-client-contracts": "^1.1.6", + "symfony/http-client-contracts": "^1.1.7", "symfony/polyfill-php73": "^1.11" }, "provide": { @@ -9788,20 +9682,20 @@ ], "description": "Symfony HttpClient component", "homepage": "https://symfony.com", - "time": "2019-08-20T14:27:59+00:00" + "time": "2019-10-07T10:52:41+00:00" }, { "name": "symfony/http-client-contracts", - "version": "v1.1.6", + "version": "v1.1.7", "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "6005fe61a33724405d56eb5b055d5d370192a1bd" + "reference": "353b2a3e907e5c34cf8f74827a4b21eb745aab1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/6005fe61a33724405d56eb5b055d5d370192a1bd", - "reference": "6005fe61a33724405d56eb5b055d5d370192a1bd", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/353b2a3e907e5c34cf8f74827a4b21eb745aab1d", + "reference": "353b2a3e907e5c34cf8f74827a4b21eb745aab1d", "shasum": "" }, "require": { @@ -9845,7 +9739,7 @@ "interoperability", "standards" ], - "time": "2019-08-08T10:05:21+00:00" + "time": "2019-09-26T22:09:58+00:00" }, { "name": "symfony/polyfill-php70", @@ -9908,7 +9802,7 @@ }, { "name": "symfony/stopwatch", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", @@ -9958,7 +9852,7 @@ }, { "name": "symfony/var-exporter", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", @@ -10018,16 +9912,16 @@ }, { "name": "symfony/yaml", - "version": "v4.3.4", + "version": "v4.3.5", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686" + "reference": "41e16350a2a1c7383c4735aa2f9fce74cf3d1178" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686", - "reference": "5a0b7c32dc3ec56fd4abae8a4a71b0cf05013686", + "url": "https://api.github.com/repos/symfony/yaml/zipball/41e16350a2a1c7383c4735aa2f9fce74cf3d1178", + "reference": "41e16350a2a1c7383c4735aa2f9fce74cf3d1178", "shasum": "" }, "require": { @@ -10073,7 +9967,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2019-08-20T14:27:59+00:00" + "time": "2019-09-11T15:41:19+00:00" }, { "name": "symplify/coding-standard", diff --git a/package-lock.json b/package-lock.json index 93cb1fb1b..82ec2db6c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,18 +12,18 @@ } }, "@babel/core": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz", - "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.6.4.tgz", + "integrity": "sha512-Rm0HGw101GY8FTzpWSyRbki/jzq+/PkNQJ+nSulrdY6gFGOsNseCqD6KHRYe2E+EdzuBdr2pxCp6s4Uk6eJ+XQ==", "dev": true, "requires": { "@babel/code-frame": "^7.5.5", - "@babel/generator": "^7.5.5", - "@babel/helpers": "^7.5.5", - "@babel/parser": "^7.5.5", - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5", + "@babel/generator": "^7.6.4", + "@babel/helpers": "^7.6.2", + "@babel/parser": "^7.6.4", + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.3", + "@babel/types": "^7.6.3", "convert-source-map": "^1.1.0", "debug": "^4.1.0", "json5": "^2.1.0", @@ -42,10 +42,56 @@ "@babel/highlight": "^7.0.0" } }, + "@babel/generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz", + "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==", + "dev": true, + "requires": { + "@babel/types": "^7.6.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/parser": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz", + "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==", + "dev": true + }, + "@babel/template": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", + "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0" + } + }, + "@babel/traverse": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz", + "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.6.3", + "@babel/types": "^7.6.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + } + }, "@babel/types": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", - "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -138,9 +184,9 @@ }, "dependencies": { "@babel/types": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", - "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -199,9 +245,9 @@ }, "dependencies": { "@babel/types": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", - "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -235,9 +281,9 @@ }, "dependencies": { "@babel/types": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", - "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -297,9 +343,9 @@ }, "dependencies": { "@babel/types": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", - "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -341,26 +387,98 @@ } }, "@babel/helpers": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz", - "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.6.2.tgz", + "integrity": "sha512-3/bAUL8zZxYs1cdX2ilEE0WobqbCmKWr/889lf2SS0PpDcpEIY8pb1CCyz0pEcX3pEb+MCbks1jIokz2xLtGTA==", "dev": true, "requires": { - "@babel/template": "^7.4.4", - "@babel/traverse": "^7.5.5", - "@babel/types": "^7.5.5" + "@babel/template": "^7.6.0", + "@babel/traverse": "^7.6.2", + "@babel/types": "^7.6.0" }, "dependencies": { + "@babel/generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.6.4.tgz", + "integrity": "sha512-jsBuXkFoZxk0yWLyGI9llT9oiQ2FeTASmRFE32U+aaDTfoE92t78eroO7PTpU/OrYq38hlcDM6vbfLDaOLy+7w==", + "dev": true, + "requires": { + "@babel/types": "^7.6.3", + "jsesc": "^2.5.1", + "lodash": "^4.17.13", + "source-map": "^0.5.0" + } + }, + "@babel/parser": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.6.4.tgz", + "integrity": "sha512-D8RHPW5qd0Vbyo3qb+YjO5nvUVRTXFLQ/FsDxJU2Nqz4uB5EnUN0ZQSEYpvTIbRuttig1XbHWU5oMeQwQSAA+A==", + "dev": true + }, + "@babel/template": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.6.0.tgz", + "integrity": "sha512-5AEH2EXD8euCk446b7edmgFdub/qfH1SN6Nii3+fyXP807QRx9Q73A2N5hNwRRslC2H9sNzaFhsPubkS4L8oNQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.6.0", + "@babel/types": "^7.6.0" + } + }, + "@babel/traverse": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.6.3.tgz", + "integrity": "sha512-unn7P4LGsijIxaAJo/wpoU11zN+2IaClkQAxcJWBNCMS6cmVh802IyLHNkAjQ0iYnRS3nnxk5O3fuXW28IMxTw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.5.5", + "@babel/generator": "^7.6.3", + "@babel/helper-function-name": "^7.1.0", + "@babel/helper-split-export-declaration": "^7.4.4", + "@babel/parser": "^7.6.3", + "@babel/types": "^7.6.3", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.13" + }, + "dependencies": { + "@babel/code-frame": { + "version": "7.5.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", + "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.0.0" + } + } + } + }, "@babel/types": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", - "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", "dev": true, "requires": { "esutils": "^2.0.2", "lodash": "^4.17.13", "to-fast-properties": "^2.0.0" } + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true } } }, @@ -413,9 +531,9 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.1.tgz", - "integrity": "sha512-PVGXx5LYHcT7L4MdoE+rM5uq68IKlvU9lljVQ4OXY6aUEnGvezcGbM4VNY57Ug+3R2Zg/nYHlEdiWoIBoRA0mw==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.6.2.tgz", + "integrity": "sha512-LDBXlmADCsMZV1Y9OQwMc0MyGZ8Ta/zlD9N67BfQT8uYwkRswiu2hU6nJKrjrt/58aH/vqfQlR/9yId/7A2gWw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -433,14 +551,14 @@ } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz", - "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.6.2.tgz", + "integrity": "sha512-NxHETdmpeSCtiatMRYWVJo7266rrvAC3DTeG5exQBIH/fMIUK7ejDNznBbn3HQl/o9peymRRg7Yqkx6PdUXmMw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "regexpu-core": "^4.6.0" } }, "@babel/plugin-syntax-async-generators": { @@ -518,9 +636,9 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz", - "integrity": "sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.6.3.tgz", + "integrity": "sha512-7hvrg75dubcO3ZI2rjYTzUrEuh1E9IyDEhhB6qfcooxhDA33xx2MasuLVgdxzcP6R/lipAC6n9ub9maNW6RKdw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -553,23 +671,23 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz", - "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.6.0.tgz", + "integrity": "sha512-2bGIS5P1v4+sWTCnKNDZDxbGvEqi0ijeqM/YqHtVGrvG2y0ySgnEEhXErvE9dA0bnIzY9bIzdFK0jFA46ASIIQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz", - "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.6.2.tgz", + "integrity": "sha512-KGKT9aqKV+9YMZSkowzYoYEiHqgaDhGmPNZlZxX6UeHC4z30nC1J9IrZuGqbYFB1jaIGdv91ujpze0exiVK8bA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "regexpu-core": "^4.6.0" } }, "@babel/plugin-transform-duplicate-keys": { @@ -640,9 +758,9 @@ } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz", - "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==", + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.6.0.tgz", + "integrity": "sha512-Ma93Ix95PNSEngqomy5LSBMAQvYKVe3dy+JlVJSHEXZR5ASL9lQBedMiCyVtmTLraIDVRE3ZjTZvmXXD2Ozw3g==", "dev": true, "requires": { "@babel/helper-module-transforms": "^7.4.4", @@ -673,12 +791,12 @@ } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz", - "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.6.3.tgz", + "integrity": "sha512-jTkk7/uE6H2s5w6VlMHeWuH+Pcy2lmdwFoeWCVnvIrDUnB5gQqTVI8WfmEAhF2CDEarGrknZcmSFg1+bkfCoSw==", "dev": true, "requires": { - "regexp-tree": "^0.1.6" + "regexpu-core": "^4.6.0" } }, "@babel/plugin-transform-new-target": { @@ -739,9 +857,9 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.0.tgz", - "integrity": "sha512-LmPIZOAgTLl+86gR9KjLXex6P/lRz1fWEjTz6V6QZMmKie51ja3tvzdwORqhHc4RWR8TcZ5pClpRWs0mlaA2ng==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.6.2.tgz", + "integrity": "sha512-cqULw/QB4yl73cS5Y0TZlQSjDvNkzDbu0FurTZyHlJpWE5T3PCMdnyV+xXoH1opr1ldyHODe3QAX3OMAii5NxA==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -751,9 +869,9 @@ }, "dependencies": { "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", "dev": true } } @@ -768,9 +886,9 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz", - "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.6.2.tgz", + "integrity": "sha512-DpSvPFryKdK1x+EDJYCy28nmAaIMdxmhot62jAXF/o99iA33Zj2Lmcp3vDmz+MUh0LNYVPvfj5iC3feb3/+PFg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0" @@ -806,20 +924,20 @@ } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz", - "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.6.2.tgz", + "integrity": "sha512-orZI6cWlR3nk2YmYdb0gImrgCUwb5cBUwjf6Ks6dvNVvXERkwtJWOQaEOjPiu0Gu1Tq6Yq/hruCZZOOi9F34Dw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/helper-regex": "^7.4.4", - "regexpu-core": "^4.5.4" + "regexpu-core": "^4.6.0" } }, "@babel/preset-env": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz", - "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.6.3.tgz", + "integrity": "sha512-CWQkn7EVnwzlOdR5NOm2+pfgSNEZmvGjOhlCHBDq0J8/EStr+G+FvPEiz9B56dR6MoiUFjXhfE4hjLoAKKJtIQ==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.0.0", @@ -827,9 +945,9 @@ "@babel/plugin-proposal-async-generator-functions": "^7.2.0", "@babel/plugin-proposal-dynamic-import": "^7.5.0", "@babel/plugin-proposal-json-strings": "^7.2.0", - "@babel/plugin-proposal-object-rest-spread": "^7.5.5", + "@babel/plugin-proposal-object-rest-spread": "^7.6.2", "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-proposal-unicode-property-regex": "^7.6.2", "@babel/plugin-syntax-async-generators": "^7.2.0", "@babel/plugin-syntax-dynamic-import": "^7.2.0", "@babel/plugin-syntax-json-strings": "^7.2.0", @@ -838,11 +956,11 @@ "@babel/plugin-transform-arrow-functions": "^7.2.0", "@babel/plugin-transform-async-to-generator": "^7.5.0", "@babel/plugin-transform-block-scoped-functions": "^7.2.0", - "@babel/plugin-transform-block-scoping": "^7.5.5", + "@babel/plugin-transform-block-scoping": "^7.6.3", "@babel/plugin-transform-classes": "^7.5.5", "@babel/plugin-transform-computed-properties": "^7.2.0", - "@babel/plugin-transform-destructuring": "^7.5.0", - "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/plugin-transform-destructuring": "^7.6.0", + "@babel/plugin-transform-dotall-regex": "^7.6.2", "@babel/plugin-transform-duplicate-keys": "^7.5.0", "@babel/plugin-transform-exponentiation-operator": "^7.2.0", "@babel/plugin-transform-for-of": "^7.4.4", @@ -850,10 +968,10 @@ "@babel/plugin-transform-literals": "^7.2.0", "@babel/plugin-transform-member-expression-literals": "^7.2.0", "@babel/plugin-transform-modules-amd": "^7.5.0", - "@babel/plugin-transform-modules-commonjs": "^7.5.0", + "@babel/plugin-transform-modules-commonjs": "^7.6.0", "@babel/plugin-transform-modules-systemjs": "^7.5.0", "@babel/plugin-transform-modules-umd": "^7.2.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.6.3", "@babel/plugin-transform-new-target": "^7.4.4", "@babel/plugin-transform-object-super": "^7.5.5", "@babel/plugin-transform-parameters": "^7.4.4", @@ -861,12 +979,12 @@ "@babel/plugin-transform-regenerator": "^7.4.5", "@babel/plugin-transform-reserved-words": "^7.2.0", "@babel/plugin-transform-shorthand-properties": "^7.2.0", - "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-spread": "^7.6.2", "@babel/plugin-transform-sticky-regex": "^7.2.0", "@babel/plugin-transform-template-literals": "^7.4.4", "@babel/plugin-transform-typeof-symbol": "^7.2.0", - "@babel/plugin-transform-unicode-regex": "^7.4.4", - "@babel/types": "^7.5.5", + "@babel/plugin-transform-unicode-regex": "^7.6.2", + "@babel/types": "^7.6.3", "browserslist": "^4.6.0", "core-js-compat": "^3.1.1", "invariant": "^2.2.2", @@ -874,20 +992,10 @@ "semver": "^5.5.0" }, "dependencies": { - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz", - "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.2.0" - } - }, "@babel/types": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz", - "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.6.3.tgz", + "integrity": "sha512-CqbcpTxMcpuQTMhjI37ZHVgjBkysg5icREQIEZ0eG1yCNwg3oy+5AaLiOKmjsCj6nqOsa6Hf0ObjRVwokb7srA==", "dev": true, "requires": { "esutils": "^2.0.2", @@ -898,9 +1006,9 @@ } }, "@babel/runtime": { - "version": "7.5.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.1.tgz", - "integrity": "sha512-g+hmPKs16iewFSmW57NkH9xpPkuYD1RV3UE2BCkXx9j+nhhRb9hsiSxPmEa67j35IecTQdn4iyMtHMbt5VoREg==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz", + "integrity": "sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==", "dev": true, "requires": { "regenerator-runtime": "^0.13.2" @@ -1263,59 +1371,59 @@ "dev": true }, "@sentry/browser": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-5.6.3.tgz", - "integrity": "sha512-bP1LTbcKPOkkmfJOAM6c7WZ0Ov0ZEW6B9keVZ9wH9fw/lBPd9UyDMDCwJ+FAYKz9M9S5pxQeJ4Ebd7WUUrGVAQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-5.7.0.tgz", + "integrity": "sha512-hbybYP5onstb8PfqjCubMuXkoXQBjZ3RCaxrOFLOIqpIxajrQ2zmbnaCzfBPWWwKeHa9P+i625OT973OhhHFMA==", "requires": { - "@sentry/core": "5.6.2", - "@sentry/types": "5.6.1", - "@sentry/utils": "5.6.1", + "@sentry/core": "5.7.0", + "@sentry/types": "5.7.0", + "@sentry/utils": "5.7.0", "tslib": "^1.9.3" } }, "@sentry/core": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.6.2.tgz", - "integrity": "sha512-grbjvNmyxP5WSPR6UobN2q+Nss7Hvz+BClBT8QTr7VTEG5q89TwNddn6Ej3bGkaUVbct/GpVlI3XflWYDsnU6Q==", - "requires": { - "@sentry/hub": "5.6.1", - "@sentry/minimal": "5.6.1", - "@sentry/types": "5.6.1", - "@sentry/utils": "5.6.1", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-5.7.0.tgz", + "integrity": "sha512-gQel0d7LBSWJGHc7gfZllYAu+RRGD9GcYGmkRfemurmDyDGQDf/sfjiBi8f9QxUc2iFTHnvIR5nMTyf0U3yl3Q==", + "requires": { + "@sentry/hub": "5.7.0", + "@sentry/minimal": "5.7.0", + "@sentry/types": "5.7.0", + "@sentry/utils": "5.7.0", "tslib": "^1.9.3" } }, "@sentry/hub": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.6.1.tgz", - "integrity": "sha512-m+OhkIV5yTAL3R1+XfCwzUQka0UF/xG4py8sEfPXyYIcoOJ2ZTX+1kQJLy8QQJ4RzOBwZA+DzRKP0cgzPJ3+oQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@sentry/hub/-/hub-5.7.0.tgz", + "integrity": "sha512-qNdYheJ6j4P9Sk0eqIINpJohImmu/+trCwFb4F8BGLQth5iGMVQD6D0YUrgjf4ZaQwfhw9tv4W6VEfF5tyASoA==", "requires": { - "@sentry/types": "5.6.1", - "@sentry/utils": "5.6.1", + "@sentry/types": "5.7.0", + "@sentry/utils": "5.7.0", "tslib": "^1.9.3" } }, "@sentry/minimal": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.6.1.tgz", - "integrity": "sha512-ercCKuBWHog6aS6SsJRuKhJwNdJ2oRQVWT2UAx1zqvsbHT9mSa8ZRjdPHYOtqY3DoXKk/pLUFW/fkmAnpdMqRw==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@sentry/minimal/-/minimal-5.7.0.tgz", + "integrity": "sha512-0sizE2prS9nmfLyVUKmVzFFFqRNr9iorSCCejwnlRe3crqKqjf84tuRSzm6NkZjIyYj9djuuo9l9XN12NLQ/4A==", "requires": { - "@sentry/hub": "5.6.1", - "@sentry/types": "5.6.1", + "@sentry/hub": "5.7.0", + "@sentry/types": "5.7.0", "tslib": "^1.9.3" } }, "@sentry/types": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.6.1.tgz", - "integrity": "sha512-Kub8TETefHpdhvtnDj3kKfhCj0u/xn3Zi2zIC7PB11NJHvvPXENx97tciz4roJGp7cLRCJsFqCg4tHXniqDSnQ==" + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-5.7.0.tgz", + "integrity": "sha512-bFRVortg713dE2yJXNFgNe6sNBVVSkpoELLkGPatdVQi0dYc6OggIIX4UZZvkynFx72GwYqO1NOrtUcJY2gmMg==" }, "@sentry/utils": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.6.1.tgz", - "integrity": "sha512-rfgha+UsHW816GqlSRPlniKqAZylOmQWML2JsujoUP03nPu80zdN43DK9Poy/d9OxBxv0gd5K2n+bFdM2kqLQQ==", + "version": "5.7.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-5.7.0.tgz", + "integrity": "sha512-XmwQpLqea9mj8x1N7P/l4JvnEb0Rn5Py5OtBgl0ctk090W+GB1uM8rl9mkMf6698o1s1Z8T/tI/QY0yFA5uZXg==", "requires": { - "@sentry/types": "5.6.1", + "@sentry/types": "5.7.0", "tslib": "^1.9.3" } }, @@ -1430,9 +1538,9 @@ "dev": true }, "@types/node": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.6.0.tgz", - "integrity": "sha512-dVeOVH/lhZ2Cki5Emh0aKeXUcWG1+EDTkqyzdgPe0ZjzgvBhzSFlogc6rm8uUd0I+XGK5fcp9DsMv5Wofe0/3w==", + "version": "12.7.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.12.tgz", + "integrity": "sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==", "dev": true }, "@types/q": { @@ -1496,9 +1604,9 @@ } }, "@vue/component-compiler-utils": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-2.6.0.tgz", - "integrity": "sha512-IHjxt7LsOFYc0DkTncB7OXJL7UzwOLPPQCfEUNyxL2qt+tF12THV+EO33O1G2Uk4feMSWua3iD39Itszx0f0bw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.0.0.tgz", + "integrity": "sha512-am+04/0UX7ektcmvhYmrf84BDVAD8afFOf4asZjN84q8xzxFclbk5x0MtxuKGfp+zjN5WWPJn3fjFAWtDdIGSw==", "dev": true, "requires": { "consolidate": "^0.15.1", @@ -1747,13 +1855,30 @@ "dev": true }, "accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", "dev": true, "requires": { - "mime-types": "~2.1.18", - "negotiator": "0.6.1" + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "dependencies": { + "mime-db": { + "version": "1.40.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "dev": true + }, + "mime-types": { + "version": "2.1.24", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", + "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", + "dev": true, + "requires": { + "mime-db": "1.40.0" + } + } } }, "acorn": { @@ -1853,9 +1978,9 @@ "dev": true }, "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, "ansi-styles": { @@ -2037,12 +2162,12 @@ "dev": true }, "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", "dev": true, "requires": { - "lodash": "^4.17.11" + "lodash": "^4.17.14" } }, "async-each": { @@ -2070,18 +2195,18 @@ "dev": true }, "autoprefixer": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz", - "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==", + "version": "9.6.4", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.4.tgz", + "integrity": "sha512-Koz2cJU9dKOxG8P1f8uVaBntOv9lP4yz9ffWvWaicv9gHBPhpQB22nGijwd8gqW9CNT+UdkbQOQNLVI8jN1ZfQ==", "dev": true, "requires": { - "browserslist": "^4.6.3", - "caniuse-lite": "^1.0.30000980", + "browserslist": "^4.7.0", + "caniuse-lite": "^1.0.30000998", "chalk": "^2.4.2", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.17", - "postcss-value-parser": "^4.0.0" + "postcss": "^7.0.18", + "postcss-value-parser": "^4.0.2" } }, "aws-sign2": { @@ -2126,6 +2251,12 @@ "js-tokens": "^3.0.2" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -2151,6 +2282,15 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", "dev": true }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -2443,9 +2583,9 @@ } }, "base64-js": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", - "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", + "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", "dev": true }, "batch": { @@ -2473,14 +2613,6 @@ "check-types": "^8.0.3", "hoopy": "^0.1.4", "tryer": "^1.0.1" - }, - "dependencies": { - "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", - "dev": true - } } }, "big.js": { @@ -2496,9 +2628,9 @@ "dev": true }, "bluebird": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.4.tgz", - "integrity": "sha512-FG+nFEZChJrbQ9tIccIfZJBz3J7mLrAhxakAbnrJWn8d7aKOC+LWifa0G+p4ZqKp4y13T7juYvdhq9NzKdsrjw==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.0.tgz", + "integrity": "sha512-aBQ1FxIa7kSWCcmKHlcHFlT2jt6J/l4FzC7KcPELkOJOsPOb/bccdhmIrKDfXhwFrmc7vDoDrrepFvGqjyXGJg==", "dev": true }, "bn.js": { @@ -2539,31 +2671,6 @@ "requires": { "ms": "2.0.0" } - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true } } }, @@ -2739,14 +2846,14 @@ } }, "browserslist": { - "version": "4.6.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.4.tgz", - "integrity": "sha512-ErJT8qGfRt/VWHSr1HeqZzz50DvxHtr1fVL1m5wf20aGrG8e1ce8fpZ2EjZEfs09DDZYSvtRaDlMpWslBf8Low==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.7.0.tgz", + "integrity": "sha512-9rGNDtnj+HaahxiVV38Gn8n8Lr8REKsel68v1sPFfIGEK6uSXTY3h9acgiT1dZVtOOUtifo/Dn8daDQ5dUgVsA==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000981", - "electron-to-chromium": "^1.3.188", - "node-releases": "^1.1.25" + "caniuse-lite": "^1.0.30000989", + "electron-to-chromium": "^1.3.247", + "node-releases": "^1.1.29" } }, "bs-logger": { @@ -2809,9 +2916,9 @@ "dev": true }, "cacache": { - "version": "11.3.3", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.3.tgz", - "integrity": "sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==", + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz", + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", "dev": true, "requires": { "bluebird": "^3.5.5", @@ -2819,6 +2926,7 @@ "figgy-pudding": "^3.5.1", "glob": "^7.1.4", "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", "lru-cache": "^5.1.1", "mississippi": "^3.0.0", "mkdirp": "^0.5.1", @@ -2828,14 +2936,6 @@ "ssri": "^6.0.1", "unique-filename": "^1.1.1", "y18n": "^4.0.0" - }, - "dependencies": { - "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", - "dev": true - } } }, "cache-base": { @@ -2868,6 +2968,14 @@ "dev": true, "requires": { "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } } }, "caller-path": { @@ -2880,9 +2988,9 @@ } }, "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true }, "camel-case": { @@ -2914,9 +3022,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000981", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000981.tgz", - "integrity": "sha512-JTByHj4DQgL2crHNMK6PibqAMrqqb/Vvh0JrsTJVSWG4VSUrT16EklkuRZofurlMjgA9e+zlCM4Y39F3kootMQ==", + "version": "1.0.30000999", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000999.tgz", + "integrity": "sha512-1CUyKyecPeksKwXZvYw0tEoaMCo/RwBlXmEtN5vVnabvO0KPd9RQLcaAuR9/1F+KDMv6esmOFWlsXuzDk+8rxg==", "dev": true }, "capture-exit": { @@ -2964,9 +3072,9 @@ "dev": true }, "chokidar": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", - "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "requires": { "anymatch": "^2.0.0", @@ -2981,12 +3089,35 @@ "path-is-absolute": "^1.0.0", "readdirp": "^2.2.1", "upath": "^1.1.1" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } } }, "chownr": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.2.tgz", - "integrity": "sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", "dev": true }, "chrome-trace-event": { @@ -3148,6 +3279,12 @@ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", "dev": true }, + "collect.js": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.18.1.tgz", + "integrity": "sha512-x9aS42Dpyqk5McLVtOtlvLV4yi8BEPbZNAAQsduucC8nlsgdcDjh8fDEcRfyXOyY5UZMRj0LRCstRtSGrW9M0g==", + "dev": true + }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -3239,9 +3376,9 @@ }, "dependencies": { "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "version": "1.42.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz", + "integrity": "sha512-UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==", "dev": true } } @@ -3454,29 +3591,6 @@ "semver": "^6.3.0" }, "dependencies": { - "browserslist": { - "version": "4.6.6", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz", - "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30000984", - "electron-to-chromium": "^1.3.191", - "node-releases": "^1.1.25" - } - }, - "caniuse-lite": { - "version": "1.0.30000989", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz", - "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw==", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.235", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.235.tgz", - "integrity": "sha512-xNabEDbMIKPLQd6xgv4nyyeMaWXIKSJr6G51ZhUemHhbz6kjZAYcygA8CvfEcMF+Mt5eLmDWaLmfSOWdQxzBVQ==", - "dev": true - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -3501,6 +3615,18 @@ "is-directory": "^0.3.1", "js-yaml": "^3.13.1", "parse-json": "^4.0.0" + }, + "dependencies": { + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + } + } } }, "create-ecdh": { @@ -3541,12 +3667,55 @@ } }, "cross-env": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", - "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz", + "integrity": "sha512-+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==", "dev": true, "requires": { - "cross-spawn": "^6.0.5" + "cross-spawn": "^7.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz", + "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "path-key": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.0.tgz", + "integrity": "sha512-8cChqz0RP6SHJkMt48FW0A7+qUOn+OsnOsVtzI59tZ8m+5bCSk7hzwET0pulwOM2YMn9J1efb07KB9l9f30SGg==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.1.tgz", + "integrity": "sha512-N7GBZOTswtB9lkQBZA4+zAXrjEIWAUOB93AvzUiudRzRxhUdLURQ7D/gAIMY1gatT/LTbmbcv8SiYazy3eYB7w==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } } }, "cross-spawn": { @@ -3732,12 +3901,12 @@ } }, "css-tree": { - "version": "1.0.0-alpha.28", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.28.tgz", - "integrity": "sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==", + "version": "1.0.0-alpha.33", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.33.tgz", + "integrity": "sha512-SPt57bh5nQnpsTBsx/IXbO14sRc9xXu5MtMAVuo0BaQQmyf0NupNPPSoMaqiAF5tDFafYsTkfeH4Q/HCKXkg4w==", "dev": true, "requires": { - "mdn-data": "~1.1.0", + "mdn-data": "2.0.4", "source-map": "^0.5.3" } }, @@ -3747,12 +3916,6 @@ "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=", "dev": true }, - "css-url-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/css-url-regex/-/css-url-regex-1.1.0.tgz", - "integrity": "sha1-g4NCMMyfdMRX3lnuvRVD/uuDt+w=", - "dev": true - }, "css-what": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", @@ -3860,6 +4023,12 @@ "mdn-data": "~1.1.0", "source-map": "^0.5.3" } + }, + "mdn-data": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", + "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", + "dev": true } } }, @@ -3879,9 +4048,9 @@ } }, "cyclist": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", - "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, "d": { @@ -3928,9 +4097,9 @@ } }, "date-fns": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", - "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.4.1.tgz", + "integrity": "sha512-2RhmH/sjDSCYW2F3ZQxOUx/I7PvzXpi89aQL2d3OAxSTwLx6NilATeUbe0menFE3Lu5lFkOFci36ivimwYHHxw==", "dev": true }, "date-now": { @@ -4202,13 +4371,21 @@ "dev": true }, "dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.1.tgz", + "integrity": "sha512-sK3ujri04WyjwQXVoK4PU3y8ula1stq10GJZpqHIUgoGZdsGzAGu65BnU3d08aTVSvO7mGPZUc0wTEDL+qGE0Q==", "dev": true, "requires": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", + "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", + "dev": true + } } }, "domain-browser": { @@ -4340,21 +4517,21 @@ "dev": true }, "ejs": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.2.tgz", - "integrity": "sha512-PcW2a0tyTuPHz3tWyYqtK6r1fZ3gp+3Sop8Ph+ZYN81Ob5rwmbHEzaqs10N3BEsaGTkh/ooniXK+WwszGlc2+Q==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.1.tgz", + "integrity": "sha512-kS/gEPzZs3Y1rRsbGX4UOSjtP/CeJP0CxSNZHYxGfVM/VgLcv0ZqM7C45YyTj2DI2g7+P9Dd24C+IMIg6D0nYQ==", "dev": true }, "electron-to-chromium": { - "version": "1.3.188", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.188.tgz", - "integrity": "sha512-tEQcughYIMj8WDMc59EGEtNxdGgwal/oLLTDw+NEqJRJwGflQvH3aiyiexrWeZOETP4/ko78PVr6gwNhdozvuQ==", + "version": "1.3.281", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.281.tgz", + "integrity": "sha512-oxXKngPjTWRmXFy4vV9FeAkPl7wU4xMejfOY+HXjGrj4T0z9l96loWWVDLJEtbT/aPKOWKrSz6xoYxd+YJ/gJA==", "dev": true }, "elliptic": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.0.tgz", - "integrity": "sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz", + "integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==", "dev": true, "requires": { "bn.js": "^4.4.0", @@ -4394,20 +4571,32 @@ } }, "enhanced-resolve": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", - "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", + "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "memory-fs": "^0.4.0", + "memory-fs": "^0.5.0", "tapable": "^1.0.0" - } - }, + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, "entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", + "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", "dev": true }, "errno": { @@ -4429,12 +4618,12 @@ } }, "error-stack-parser": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.2.tgz", - "integrity": "sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.4.tgz", + "integrity": "sha512-fZ0KkoxSjLFmhW5lHbUT3tLwy3nX1qEzMYo8koY1vrsAco53CMT1djnBSeC/wUjTEZRhZl9iRw7PaMaxfJ4wzQ==", "dev": true, "requires": { - "stackframe": "^1.0.4" + "stackframe": "^1.1.0" } }, "es-abstract": { @@ -4544,9 +4733,9 @@ } }, "eslint": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.3.0.tgz", - "integrity": "sha512-ZvZTKaqDue+N8Y9g0kp6UPZtS4FSY3qARxBs7p4f0H0iof381XHduqVerFWtK8DPtKmemqbqCFENWSQgPR/Gow==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-6.5.1.tgz", + "integrity": "sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", @@ -4588,12 +4777,6 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, "debug": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", @@ -4619,64 +4802,24 @@ "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", "dev": true }, - "glob-parent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", - "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true - }, - "import-fresh": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", - "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } } } }, "eslint-plugin-jest": { - "version": "22.16.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.16.0.tgz", - "integrity": "sha512-eBtSCDhO1k7g3sULX/fuRK+upFQ7s548rrBtxDyM1fSoY7dTWp/wICjrJcDZKVsW7tsFfH22SG+ZaxG5BZodIg==", + "version": "22.19.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-22.19.0.tgz", + "integrity": "sha512-4zUc3rh36ds0SXdl2LywT4YWA3zRe8sfLhz8bPp8qQPIKvynTTkNGwmSCMpl5d9QiZE2JxSinGF+WD8yU+O0Lg==", "dev": true, "requires": { "@typescript-eslint/experimental-utils": "^1.13.0" @@ -4728,9 +4871,9 @@ }, "dependencies": { "acorn": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.0.0.tgz", - "integrity": "sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", + "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", "dev": true }, "acorn-jsx": { @@ -4790,9 +4933,9 @@ "dev": true }, "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", + "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", "dev": true }, "events": { @@ -4958,16 +5101,6 @@ "vary": "~1.1.2" }, "dependencies": { - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, "array-flatten": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", @@ -4982,39 +5115,6 @@ "requires": { "ms": "2.0.0" } - }, - "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", - "dev": true - }, - "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "dev": true, - "requires": { - "mime-db": "1.40.0" - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true } } }, @@ -5160,6 +5260,29 @@ "is-glob": "^4.0.0", "merge2": "^1.2.3", "micromatch": "^3.1.10" + }, + "dependencies": { + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + } } }, "fast-json-stable-stringify": { @@ -5313,12 +5436,6 @@ "requires": { "ms": "2.0.0" } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true } } }, @@ -5373,10 +5490,13 @@ } }, "flag-icon-css": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/flag-icon-css/-/flag-icon-css-3.3.0.tgz", - "integrity": "sha512-u5lCGVExrJJRykNGd//ZrBU5Bkt0LTZJFSuG+Az/pwcHgzDeFwomwFbsgVtI1aJd6ysyHsx+5UGrA+nhSGd4yw==", - "dev": true + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flag-icon-css/-/flag-icon-css-3.4.2.tgz", + "integrity": "sha512-x/Tw0qx7V2zut50GTeeJbvo9EiWtv+TPxI3fi1OiicbI8esZ1s4G2LnR1EJ96pDQlWqEVuD17sDPf/ZLifZeIg==", + "dev": true, + "requires": { + "opencollective-postinstall": "2.0.2" + } }, "flat-cache": { "version": "2.0.1", @@ -5469,6 +5589,12 @@ "string-width": "^2.0.0" }, "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, "ansi-styles": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", @@ -5488,6 +5614,15 @@ "supports-color": "^2.0.0" } }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", @@ -6140,24 +6275,12 @@ } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", + "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", "dev": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-glob": "^4.0.1" } }, "glob-to-regexp": { @@ -6229,6 +6352,14 @@ "ignore": "^3.3.5", "pify": "^3.0.0", "slash": "^1.0.0" + }, + "dependencies": { + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + } } }, "globs": { @@ -6277,9 +6408,9 @@ "dev": true }, "handlebars": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.4.3.tgz", + "integrity": "sha512-B0W4A2U1ww3q7VVthTKfh+epHx+q4mCt6iK+zEAzbMBpWQAwxCeKxEGpj/1oQTpzPXDNSOG7hmG14TsISH50yw==", "dev": true, "requires": { "neo-async": "^2.6.0", @@ -6328,6 +6459,14 @@ "dev": true, "requires": { "ansi-regex": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + } } }, "has-flag": { @@ -6530,15 +6669,16 @@ "dev": true }, "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", "dev": true, "requires": { "depd": "~1.1.2", "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" } }, "http-parser-js": { @@ -6548,12 +6688,12 @@ "dev": true }, "http-proxy": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", - "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", + "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", "dev": true, "requires": { - "eventemitter3": "^3.0.0", + "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" } @@ -6643,9 +6783,9 @@ "dev": true }, "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", "dev": true }, "imagemin": { @@ -6711,13 +6851,21 @@ } }, "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.1.0.tgz", + "integrity": "sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==", "dev": true, "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + } } }, "import-from": { @@ -6751,6 +6899,12 @@ "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", "dev": true }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -6792,23 +6946,6 @@ "string-width": "^2.1.0", "strip-ansi": "^5.1.0", "through": "^2.3.6" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } } }, "internal-ip": { @@ -8058,9 +8195,9 @@ "dev": true }, "json5": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", - "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz", + "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==", "dev": true, "requires": { "minimist": "^1.2.0" @@ -8106,9 +8243,9 @@ "dev": true }, "laravel-mix": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-4.1.2.tgz", - "integrity": "sha512-nA+JME+59hWI5u+r3VfPfmpUj8CxlNmNsvslBOUtUwRc1K2Wq55uAPUtTLgAp7n5JngF3O7qFN3LcTCVO/SpZQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-5.0.0.tgz", + "integrity": "sha512-QpsVoM6zGa83E5AUMwOmi4wKdYfJMaW1jIpJ1CCL74abOHj1ne25njBQ4detO41GAjIkZIkrmwECEcOebC8+3Q==", "dev": true, "requires": { "@babel/core": "^7.2.0", @@ -8122,6 +8259,7 @@ "babel-merge": "^2.0.1", "chokidar": "^2.0.3", "clean-css": "^4.1.3", + "collect.js": "^4.12.8", "concatenate": "0.0.2", "css-loader": "^1.0.1", "dotenv": "^6.2.0", @@ -8134,7 +8272,7 @@ "html-loader": "^0.5.5", "imagemin": "^6.0.0", "img-loader": "^3.0.0", - "lodash": "^4.17.5", + "lodash": "^4.17.15", "md5": "^2.2.1", "optimize-css-assets-webpack-plugin": "^5.0.1", "postcss-loader": "^3.0.0", @@ -8142,7 +8280,7 @@ "terser": "^3.11.0", "terser-webpack-plugin": "^1.2.2", "vue-loader": "^15.4.2", - "webpack": "^4.27.1", + "webpack": "^4.36.1", "webpack-cli": "^3.1.2", "webpack-dev-server": "^3.1.14", "webpack-merge": "^4.1.0", @@ -8294,9 +8432,9 @@ "dev": true }, "loglevel": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.3.tgz", - "integrity": "sha512-LoEDv5pgpvWgPF4kNYuIp0qqSJVWak/dML0RY74xlzMZiT9w77teNAwKYKWBTYjlokMirg+o3jBwp+vlLrcfAA==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.4.tgz", + "integrity": "sha512-p0b6mOGKcGa+7nnmKbpzR6qloPbrgLcnio++E+14Vo/XffOGwZtRpUhr8dTH/x2oCMmEoIU0Zwm3ZauhvYD17g==", "dev": true }, "loose-envify": { @@ -8423,9 +8561,9 @@ } }, "mdn-data": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-1.1.4.tgz", - "integrity": "sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", "dev": true }, "media-typer": { @@ -8443,6 +8581,14 @@ "map-age-cleaner": "^0.1.1", "mimic-fn": "^2.0.0", "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + } } }, "memory-fs": { @@ -8485,9 +8631,9 @@ "dev": true }, "merge2": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz", - "integrity": "sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz", + "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==", "dev": true }, "methods": { @@ -8549,9 +8695,9 @@ } }, "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", "dev": true }, "minimalistic-assert": { @@ -8701,9 +8847,9 @@ "dev": true }, "negotiator": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", - "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", "dev": true }, "neo-async": { @@ -8744,9 +8890,9 @@ } }, "node-forge": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", - "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", + "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", "dev": true }, "node-int64": { @@ -8801,9 +8947,9 @@ "dev": true }, "node-notifier": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.0.tgz", - "integrity": "sha512-SUDEb+o71XR5lXSTyivXd9J7fCloE3SyP4lSgt3lU2oSANiox+SxlNRGPjDKrwU1YN3ix2KN/VGGCg0t01rttQ==", + "version": "5.4.3", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.4.3.tgz", + "integrity": "sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q==", "dev": true, "requires": { "growly": "^1.3.0", @@ -8814,12 +8960,20 @@ } }, "node-releases": { - "version": "1.1.25", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.25.tgz", - "integrity": "sha512-fI5BXuk83lKEoZDdH3gRhtsNgh05/wZacuXkgbiYkceE7+QIMXOg98n9ZV7mz27B+kFHnqHcUpscZZlGRSmTpQ==", + "version": "1.1.35", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.35.tgz", + "integrity": "sha512-JGcM/wndCN/2elJlU0IGdVEJQQnJwsLbgPCFd2pY7V0mxf17bZ0Gb/lgOtL29ZQhvEX5shnVhxQyZz3ex94N8w==", "dev": true, "requires": { - "semver": "^5.3.0" + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } } }, "nopt": { @@ -9057,14 +9211,6 @@ "dev": true, "requires": { "mimic-fn": "^1.0.0" - }, - "dependencies": { - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true - } } }, "open-iconic": { @@ -9072,6 +9218,12 @@ "resolved": "https://registry.npmjs.org/open-iconic/-/open-iconic-1.1.1.tgz", "integrity": "sha1-nc/Ix808Yc20ojaxo0eJTJetwMY=" }, + "opencollective-postinstall": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz", + "integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==", + "dev": true + }, "opener": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", @@ -9268,12 +9420,12 @@ "dev": true }, "parallel-transform": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", - "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", "dev": true, "requires": { - "cyclist": "~0.2.2", + "cyclist": "^1.0.1", "inherits": "^2.0.3", "readable-stream": "^2.1.5" } @@ -9294,20 +9446,12 @@ "dev": true, "requires": { "callsites": "^3.0.0" - }, - "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - } } }, "parse-asn1": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz", - "integrity": "sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", + "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", "dev": true, "requires": { "asn1.js": "^4.0.0", @@ -9480,9 +9624,9 @@ "dev": true }, "portfinder": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", - "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", + "version": "1.0.24", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.24.tgz", + "integrity": "sha512-ekRl7zD2qxYndYflwiryJwMioBI7LI7rVXg3EnLK3sjkouT5eOuhS3gS255XxBksa30VG8UPZYZCdgfGOfkSUg==", "dev": true, "requires": { "async": "^1.5.2", @@ -9514,9 +9658,9 @@ "dev": true }, "postcss": { - "version": "7.0.17", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.17.tgz", - "integrity": "sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ==", + "version": "7.0.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.18.tgz", + "integrity": "sha512-/7g1QXXgegpF+9GJj4iN7ChGF40sYuGYJ8WZu8DZWnmhQ/G36hfdk3q9LBJmoK+lZ+yzZ5KYpOoxq7LF1BxE8g==", "dev": true, "requires": { "chalk": "^2.4.2", @@ -10183,9 +10327,9 @@ } }, "postcss-value-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.0.tgz", - "integrity": "sha512-ESPktioptiSUchCKgggAkzdmkgzKfmp0EU8jXH+5kbIUB+unr0Y4CY9SRMvibuvYUBjNh1ACLbxqYNpdTQOteQ==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz", + "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", "dev": true }, "prando": { @@ -10451,31 +10595,6 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true } } }, @@ -10569,9 +10688,9 @@ } }, "regenerator-runtime": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", - "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz", + "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==", "dev": true }, "regenerator-transform": { @@ -10599,12 +10718,6 @@ "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==", "dev": true }, - "regexp-tree": { - "version": "0.1.11", - "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.11.tgz", - "integrity": "sha512-7/l/DgapVVDzZobwMCCgMlqiqyLFJ0cduo/j+3BcDJIB+yJdsYCfKuI3l/04NV+H/rfNRdPIDbXNZHM9XvQatg==", - "dev": true - }, "regexpp": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", @@ -10612,9 +10725,9 @@ "dev": true }, "regexpu-core": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz", - "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", "dev": true, "requires": { "regenerate": "^1.4.0", @@ -11022,33 +11135,43 @@ } }, "sass": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.22.10.tgz", - "integrity": "sha512-DUpS1tVMGCH6gr/N9cXCoemrjoNdOLhAHfQ37fJw2A5ZM4gSI9ej/8Xi95Xwus03RqZ2zdSnKZGULL7oS+jfMA==", + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.0.tgz", + "integrity": "sha512-W4HT8+WE31Rzk3EPQC++CXjD5O+lOxgYBIB8Ohvt7/zeE2UzYW+TOczDrRU3KcEy3+xwXXbmDsOZFkoqgD4TKw==", "dev": true, "requires": { "chokidar": ">=2.0.0 <4.0.0" } }, "sass-loader": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.3.1.tgz", - "integrity": "sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.0.tgz", + "integrity": "sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==", "dev": true, "requires": { "clone-deep": "^4.0.1", - "loader-utils": "^1.0.1", - "neo-async": "^2.5.0", - "pify": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.1.0", "semver": "^6.3.0" }, "dependencies": { - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, + "schema-utils": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.4.1.tgz", + "integrity": "sha512-RqYLpkPZX5Oc3fw/kHHHyP56fg5Y+XBpIpV8nCg0znIALfq3OH+Ea9Hfeac9BAMwG5IICltiZ0vxFvJQONfA5w==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -11080,12 +11203,12 @@ "dev": true }, "selfsigned": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", - "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", + "version": "1.10.7", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", + "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", "dev": true, "requires": { - "node-forge": "0.7.5" + "node-forge": "0.9.0" } }, "semver": { @@ -11132,49 +11255,18 @@ } } }, - "http-errors": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz", - "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, "ms": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true } } }, "serialize-javascript": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.7.0.tgz", - "integrity": "sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", "dev": true }, "serve-index": { @@ -11200,6 +11292,24 @@ "requires": { "ms": "2.0.0" } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true } } }, @@ -11257,9 +11367,9 @@ "dev": true }, "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", "dev": true }, "sha.js": { @@ -11493,9 +11603,9 @@ } }, "sockjs-client": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.3.0.tgz", - "integrity": "sha512-R9jxEzhnnrdxLCNln0xg5uGHqMnkhPSTzUZH2eXcR03S/On9Yvoq2wyUZILRUhZCNVu2PmwWVoyuiPz8th8zbg==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", + "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", "dev": true, "requires": { "debug": "^3.2.5", @@ -11620,9 +11730,9 @@ "dev": true }, "spdy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz", - "integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz", + "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==", "dev": true, "requires": { "debug": "^4.1.0", @@ -11745,9 +11855,9 @@ "dev": true }, "stackframe": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", - "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.1.0.tgz", + "integrity": "sha512-Vx6W1Yvy+AM1R/ckVwcHQHV147pTPBKWCRLrXMuPrFVfvBUc3os7PR1QLIWCMhPpRg5eX9ojzbQIMLGBwyLjqg==", "dev": true }, "static-extend": { @@ -11772,9 +11882,9 @@ } }, "statuses": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", "dev": true }, "stealthy-require": { @@ -11859,12 +11969,6 @@ "strip-ansi": "^4.0.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, "strip-ansi": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", @@ -11886,12 +11990,20 @@ } }, "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + } } }, "strip-bom": { @@ -11969,17 +12081,16 @@ } }, "svgo": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.2.2.tgz", - "integrity": "sha512-rAfulcwp2D9jjdGu+0CuqlrAUin6bBWrpoqXWwKDZZZJfXcUXQSxLJOFJCQCSA0x0pP2U0TxSlJu2ROq5Bq6qA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.0.tgz", + "integrity": "sha512-MLfUA6O+qauLDbym+mMZgtXCGRfIxyQoeH6IKVcFslyODEe/ElJNwr0FohQ3xG4C6HK6bk3KYPPXwHVJk3V5NQ==", "dev": true, "requires": { "chalk": "^2.4.1", "coa": "^2.0.2", "css-select": "^2.0.0", "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.28", - "css-url-regex": "^1.1.0", + "css-tree": "1.0.0-alpha.33", "csso": "^3.5.1", "js-yaml": "^3.13.1", "mkdirp": "~0.5.1", @@ -12008,12 +12119,6 @@ "string-width": "^3.0.0" }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, "string-width": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", @@ -12024,15 +12129,6 @@ "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^5.1.0" } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } } } }, @@ -12054,9 +12150,9 @@ }, "dependencies": { "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "source-map": { @@ -12068,27 +12164,26 @@ } }, "terser-webpack-plugin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.3.0.tgz", - "integrity": "sha512-W2YWmxPjjkUcOWa4pBEv4OP4er1aeQJlSo2UhtCFQCuRXEHjOFscO8VyWHj9JLlA0RzQb8Y2/Ta78XZvT54uGg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz", + "integrity": "sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==", "dev": true, "requires": { - "cacache": "^11.3.2", - "find-cache-dir": "^2.0.0", + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", "is-wsl": "^1.1.0", - "loader-utils": "^1.2.3", "schema-utils": "^1.0.0", "serialize-javascript": "^1.7.0", "source-map": "^0.6.1", - "terser": "^4.0.0", - "webpack-sources": "^1.3.0", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", "worker-farm": "^1.7.0" }, "dependencies": { "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, "schema-utils": { @@ -12109,9 +12204,9 @@ "dev": true }, "terser": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.1.2.tgz", - "integrity": "sha512-jvNoEQSPXJdssFwqPSgWjsOrb+ELoE+ILpHPKXC83tIxOlh2U75F1KuB2luLD/3a6/7K3Vw5pDn+hvu0C4AzSw==", + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.8.tgz", + "integrity": "sha512-otmIRlRVmLChAWsnSFNO0Bfk6YySuBp6G9qrHiJwlLDd4mxe2ta4sjI7TzIR+W1nBMjilzrMcPOz9pSusgx3hQ==", "dev": true, "requires": { "commander": "^2.20.0", @@ -12168,9 +12263,9 @@ "dev": true }, "timers-browserify": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", - "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", + "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", "dev": true, "requires": { "setimmediate": "^1.0.4" @@ -12295,15 +12390,16 @@ "dev": true }, "ts-jest": { - "version": "24.0.2", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.0.2.tgz", - "integrity": "sha512-h6ZCZiA1EQgjczxq+uGLXQlNgeg02WWJBbeT8j6nyIBRQdglqbvzDoHahTEIiS6Eor6x8mK6PfZ7brQ9Q6tzHw==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-24.1.0.tgz", + "integrity": "sha512-HEGfrIEAZKfu1pkaxB9au17b1d9b56YZSqz5eCVE8mX68+5reOvlM93xGOzzCREIov9mdH7JBG+s0UyNAqr0tQ==", "dev": true, "requires": { "bs-logger": "0.x", "buffer-from": "1.x", "fast-json-stable-stringify": "2.x", "json5": "2.x", + "lodash.memoize": "4.x", "make-error": "1.x", "mkdirp": "0.x", "resolve": "1.x", @@ -12429,9 +12525,9 @@ "dev": true }, "typescript": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.2.tgz", - "integrity": "sha512-lmQ4L+J6mnu3xweP8+rOrUwzmN+MRAj7TgtJtDaXE5PMyX2kCrklhg3rvOsOIfNeAWMQWO2F1GPc1kMD2vLAfw==", + "version": "3.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz", + "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==", "dev": true }, "uglify-js": { @@ -12595,9 +12691,9 @@ } }, "upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, "upper-case": { @@ -12703,9 +12799,9 @@ } }, "v8-compile-cache": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", - "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", + "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", "dev": true }, "validate-npm-package-license": { @@ -12802,21 +12898,21 @@ } }, "vue-hot-reload-api": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.3.tgz", - "integrity": "sha512-KmvZVtmM26BQOMK1rwUZsrqxEGeKiYSZGA7SNWE6uExx8UX/cj9hq2MRV/wWC3Cq6AoeDGk57rL9YMFRel/q+g==", + "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-i18n": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.14.0.tgz", - "integrity": "sha512-utI1Rvc8i+fmmUkkKRmHaf4QQ87s7rGVL5ZZLsKvvRzmgaIr1l+GfGxxxRmsZxHpPlgeB8OxoUZ4noqZgDL6xg==", + "version": "8.14.1", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.14.1.tgz", + "integrity": "sha512-uHzw5GTFyf/TmjJXveSl3L4CG61KI4lvhKOQvx8W4Y8P2LZ3v3l/qw4KRs1C6pWyjkfY9p0rezYNFO5YzMEQ8A==", "dev": true }, "vue-jest": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/vue-jest/-/vue-jest-3.0.4.tgz", - "integrity": "sha512-PY9Rwt4OyaVlA+KDJJ0614CbEvNOkffDI9g9moLQC/2DDoo0YrqZm7dHi13Q10uoK5Nt5WCYFdeAheOExPah0w==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/vue-jest/-/vue-jest-3.0.5.tgz", + "integrity": "sha512-xWDxde91pDqYBGDlODENZ3ezPgw+IQFoVDtf+5Awlg466w3KvMSqWzs8PxcTeTr+wmAHi0j+a+Lm3R7aUJa1jA==", "dev": true, "requires": { "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0", @@ -12837,12 +12933,12 @@ "integrity": "sha512-LS+pvX5lXEhX+Gei5MOAEw7bx99/A+9idFhMtBgz72ApsEHlW69Y7bk+ZKC1rLRUxchL5WlQ+MhJXqXewhkfjg==" }, "vue-loader": { - "version": "15.7.0", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.7.0.tgz", - "integrity": "sha512-x+NZ4RIthQOxcFclEcs8sXGEWqnZHodL2J9Vq+hUz+TDZzBaDIh1j3d9M2IUlTjtrHTZy4uMuRdTi8BGws7jLA==", + "version": "15.7.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.7.1.tgz", + "integrity": "sha512-fwIKtA23Pl/rqfYP5TSGK7gkEuLhoTvRYW+TU7ER3q9GpNLt/PjG5NLv3XHRDiTg7OPM1JcckBgds+VnAc+HbA==", "dev": true, "requires": { - "@vue/component-compiler-utils": "^2.5.1", + "@vue/component-compiler-utils": "^3.0.0", "hash-sum": "^1.0.2", "loader-utils": "^1.1.0", "vue-hot-reload-api": "^2.3.0", @@ -12870,9 +12966,9 @@ "dev": true }, "vue-slider-component": { - "version": "3.0.40", - "resolved": "https://registry.npmjs.org/vue-slider-component/-/vue-slider-component-3.0.40.tgz", - "integrity": "sha512-8obhszDPC34b43h/dd0Gh+oQmUD402X+yo129K3m1EiqAlQ5Imr12XAOQ+RcwCKSOLigLW/flZ0H3dvmhk2ZWQ==", + "version": "3.0.41", + "resolved": "https://registry.npmjs.org/vue-slider-component/-/vue-slider-component-3.0.41.tgz", + "integrity": "sha512-TVLwAJtDInkYp3KYUqptvyLg9Ppx4WqCeVlbbqCS10MpLItq10yRhObWVAGcN07n2++Vv7h5y//4hLGZkauBZA==", "dev": true, "requires": { "vue-property-decorator": "^8.0.0" @@ -12911,6 +13007,14 @@ "dev": true, "requires": { "date-fns": "^1.29.0" + }, + "dependencies": { + "date-fns": { + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", + "dev": true + } } }, "vuex": { @@ -12964,40 +13068,46 @@ "dev": true }, "webpack": { - "version": "4.35.3", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.35.3.tgz", - "integrity": "sha512-xggQPwr9ILlXzz61lHzjvgoqGU08v5+Wnut19Uv3GaTtzN4xBTcwnobodrXE142EL1tOiS5WVEButooGzcQzTA==", + "version": "4.41.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.1.tgz", + "integrity": "sha512-ak7u4tUu/U63sCVxA571IuPZO/Q0pZ9cEXKg+R/woxkDzVovq57uB6L2Hlg/pC8LCU+TWpvtcYwsstivQwMJmw==", "dev": true, "requires": { "@webassemblyjs/ast": "1.8.5", "@webassemblyjs/helper-module-context": "1.8.5", "@webassemblyjs/wasm-edit": "1.8.5", "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.0", - "ajv": "^6.1.0", - "ajv-keywords": "^3.1.0", - "chrome-trace-event": "^1.0.0", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.0", + "eslint-scope": "^4.0.3", "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.3.0", - "loader-utils": "^1.1.0", - "memory-fs": "~0.4.1", - "micromatch": "^3.1.8", - "mkdirp": "~0.5.0", - "neo-async": "^2.5.0", - "node-libs-browser": "^2.0.0", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", "schema-utils": "^1.0.0", - "tapable": "^1.1.0", - "terser-webpack-plugin": "^1.1.0", - "watchpack": "^1.5.0", - "webpack-sources": "^1.3.0" + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.1", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" }, "dependencies": { "acorn": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.2.0.tgz", - "integrity": "sha512-8oe72N3WPMjA+2zVG71Ia0nXZ8DpQH+QyyHO+p06jT8eg8FGG3FbcUIi8KziHlAfheJQZeoqbvq1mQSQHXKYLw==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz", + "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", + "dev": true + }, + "neo-async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", + "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, "schema-utils": { @@ -13014,9 +13124,9 @@ } }, "webpack-bundle-analyzer": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.4.1.tgz", - "integrity": "sha512-Bs8D/1zF+17lhqj2OYmzi7HEVYqEVxu7lCO9Ff8BwajenOU0vAwEoV8e4ICCPNZAcqR1PCR/7o2SkW+cnCmF0A==", + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.5.2.tgz", + "integrity": "sha512-g9spCNe25QYUVqHRDkwG414GTok2m7pTTP0wr6l0J50Z3YLS04+BGodTqqoVBL7QfU/U/9p/oiI5XFOyfZ7S/A==", "dev": true, "requires": { "acorn": "^6.0.7", @@ -13035,17 +13145,17 @@ }, "dependencies": { "commander": { - "version": "2.20.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true } } }, "webpack-cli": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.5.tgz", - "integrity": "sha512-w0j/s42c5UhchwTmV/45MLQnTVwRoaUTu9fM5LuyOd/8lFoCNCELDogFoecx5NzRUndO0yD/gF2b02XKMnmAWQ==", + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-3.3.9.tgz", + "integrity": "sha512-xwnSxWl8nZtBl/AFJCOn9pG7s5CYUYdZxmmukv+fAHLcBIHM36dImfpQg3WfShZXeArkWlf6QRw24Klcsv8a5A==", "dev": true, "requires": { "chalk": "2.4.2", @@ -13061,11 +13171,16 @@ "yargs": "13.2.4" }, "dependencies": { - "ansi-regex": { + "enhanced-resolve": { "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz", + "integrity": "sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "tapable": "^1.0.0" + } }, "string-width": { "version": "3.1.0", @@ -13078,15 +13193,6 @@ "strip-ansi": "^5.1.0" } }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -13096,6 +13202,12 @@ "has-flag": "^3.0.0" } }, + "v8-compile-cache": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz", + "integrity": "sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w==", + "dev": true + }, "yargs": { "version": "13.2.4", "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", @@ -13118,13 +13230,14 @@ } }, "webpack-dev-middleware": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.0.tgz", - "integrity": "sha512-qvDesR1QZRIAZHOE3iQ4CXLZZSQ1lAUsSpnQmlB1PBfoN/xdRjmge3Dok0W4IdaVLJOGJy3sGI4sZHwjRU0PCA==", + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", + "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", "dev": true, "requires": { "memory-fs": "^0.4.1", - "mime": "^2.4.2", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", "range-parser": "^1.2.1", "webpack-log": "^2.0.0" }, @@ -13134,124 +13247,54 @@ "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz", "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", "dev": true - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true } } }, "webpack-dev-server": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.7.2.tgz", - "integrity": "sha512-mjWtrKJW2T9SsjJ4/dxDC2fkFVUw8jlpemDERqV0ZJIkjjjamR2AbQlr3oz+j4JLhYCHImHnXZK5H06P2wvUew==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.8.2.tgz", + "integrity": "sha512-0xxogS7n5jHDQWy0WST0q6Ykp7UGj4YvWh+HVN71JoE7BwPxMZrwgraBvmdEMbDVMBzF0u+mEzn8TQzBm5NYJQ==", "dev": true, "requires": { "ansi-html": "0.0.7", "bonjour": "^3.5.0", - "chokidar": "^2.1.6", + "chokidar": "^2.1.8", "compression": "^1.7.4", "connect-history-api-fallback": "^1.6.0", "debug": "^4.1.1", "del": "^4.1.1", "express": "^4.17.1", "html-entities": "^1.2.1", - "http-proxy-middleware": "^0.19.1", + "http-proxy-middleware": "0.19.1", "import-local": "^2.0.0", "internal-ip": "^4.3.0", "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", "killable": "^1.0.1", - "loglevel": "^1.6.3", + "loglevel": "^1.6.4", "opn": "^5.5.0", "p-retry": "^3.0.1", - "portfinder": "^1.0.20", + "portfinder": "^1.0.24", "schema-utils": "^1.0.0", - "selfsigned": "^1.10.4", - "semver": "^6.1.1", + "selfsigned": "^1.10.7", + "semver": "^6.3.0", "serve-index": "^1.9.1", "sockjs": "0.3.19", - "sockjs-client": "1.3.0", - "spdy": "^4.0.0", + "sockjs-client": "1.4.0", + "spdy": "^4.0.1", "strip-ansi": "^3.0.1", "supports-color": "^6.1.0", "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.0", + "webpack-dev-middleware": "^3.7.2", "webpack-log": "^2.0.0", + "ws": "^6.2.1", "yargs": "12.0.5" }, "dependencies": { - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true }, "debug": { @@ -13263,172 +13306,18 @@ "ms": "^2.1.1" } }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - } - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.40.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", "dev": true }, - "mime-types": { - "version": "2.1.24", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "dev": true, - "requires": { - "mime-db": "1.40.0" - } - }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -13441,81 +13330,20 @@ } }, "semver": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", - "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" + "ansi-regex": "^2.0.0" } }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, "supports-color": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", @@ -13524,16 +13352,6 @@ "requires": { "has-flag": "^3.0.0" } - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } } } }, @@ -13548,12 +13366,12 @@ } }, "webpack-merge": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.1.tgz", - "integrity": "sha512-4p8WQyS98bUJcCvFMbdGZyZmsKuWjWVnVHnAS3FFg0HDaRVrPbkivx2RYCre8UiemD67RsiFFLfn4JhLAin8Vw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", "dev": true, "requires": { - "lodash": "^4.17.5" + "lodash": "^4.17.15" } }, "webpack-notifier": { @@ -13565,12 +13383,29 @@ "node-notifier": "^5.1.2", "object-assign": "^4.1.0", "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } } }, "webpack-sources": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", - "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", "dev": true, "requires": { "source-list-map": "^2.0.0", @@ -13751,9 +13586,9 @@ "dev": true }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, "yargs": { @@ -13776,12 +13611,6 @@ "yargs-parser": "^11.1.1" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, "cliui": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", diff --git a/package.json b/package.json index 1d137999d..baf0873c8 100644 --- a/package.json +++ b/package.json @@ -11,46 +11,46 @@ "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" }, "devDependencies": { - "@babel/core": "^7.5.5", - "@babel/preset-env": "^7.5.5", + "@babel/core": "^7.6.4", + "@babel/preset-env": "^7.6.3", "@types/jest": "^24.0.18", "@vue/test-utils": "^1.0.0-beta.29", "axios": "^0.19.0", "axios-mock-adapter": "^1.17.0", "babel-core": "^7.0.0-bridge.0", "bootstrap": "^4.3.1", - "cross-env": "^5.2.1", - "date-fns": "^1.30.1", - "eslint": "^6.3.0", - "eslint-plugin-jest": "^22.16.0", + "cross-env": "^6.0.3", + "date-fns": "^2.4.1", + "eslint": "^6.5.1", + "eslint-plugin-jest": "^22.19.0", "eslint-plugin-vue": "^5.2.3", - "flag-icon-css": "^3.3.0", + "flag-icon-css": "^3.4.2", "jest": "^24.9.0", "jest-serializer-vue": "^2.0.2", "jest-transform-stub": "^2.0.0", "jest-watch-typeahead": "^0.4.0", "jquery": "^3.4.1", - "laravel-mix": "^4.1.2", + "laravel-mix": "^5.0.0", "lodash": "^4.17.15", "popper.js": "^1.15.0", "resolve-url-loader": "^3.1.0", - "sass": "^1.22.10", - "sass-loader": "^7.3.1", + "sass": "^1.23.0", + "sass-loader": "^8.0.0", "spark-md5": "^3.0.0", - "ts-jest": "^24.0.2", - "typescript": "^3.6.2", + "ts-jest": "^24.1.0", + "typescript": "^3.6.4", "v-tooltip": "^2.0.2", "vue": "^2.6.10", - "vue-i18n": "^8.14.0", - "vue-jest": "^3.0.4", - "vue-slider-component": "^3.0.40", + "vue-i18n": "^8.14.1", + "vue-jest": "^3.0.5", + "vue-slider-component": "^3.0.41", "vue-template-compiler": "^2.6.10", "vue-timeago": "^5.1.2", "vuex": "^3.1.1", - "webpack-bundle-analyzer": "^3.4.1" + "webpack-bundle-analyzer": "^3.5.2" }, "dependencies": { - "@sentry/browser": "^5.6.3", + "@sentry/browser": "^5.7.0", "ajv": "^6.10.2", "es6-promise": "^4.2.8", "file-saver": "^2.0.2", From 99a905d7590b993a5d433d5e8d1e03251b5ea5b9 Mon Sep 17 00:00:00 2001 From: sporchia Date: Sat, 12 Oct 2019 11:41:14 -0400 Subject: [PATCH 08/29] actually update the updates page --- resources/views/updates.blade.php | 41 ++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/resources/views/updates.blade.php b/resources/views/updates.blade.php index 3c7a20a78..be16b1d4c 100644 --- a/resources/views/updates.blade.php +++ b/resources/views/updates.blade.php @@ -2,6 +2,46 @@ @section('content') + +

v31.0.3

+
+
    +
  • Uncle credit updated for progressive bow
  • +
  • Old permalinks will work with BG music disable now
  • +
  • Overhaul of glitched logics
  • +
+
+ + + +

v31.0.2

+
+
    +
  • Customizer spoiler toggle added
  • +
  • Permalink page settings not saving fixed
  • +
  • File name shortened
  • +
  • Hint updates
  • +
  • Daily Generation glitched logic fix
  • +
  • Console generation memory leak fix
  • +
  • Thieves’ Town 100% locations key bug fix
  • +
  • Quickswap fixed on spoiler generation
  • +
  • Daily weights adjustments
  • +
  • Fix Customizer bug with item placement
  • +
+
+ +

v31.0.1

+
+
    +
  • Hint updates
  • +
  • Updates to Glitched logics
  • +
  • Customizer 2x armor bug fixed
  • +
  • Quickswap fixed on Entrance generation
  • +
  • Crowd Control and Basic placement
  • +
  • Allow progression in Pinball Room when not forcing key
  • +
+
+

v31

    @@ -48,7 +88,6 @@
-

v30.5

From 0fc5896846b1e669813ac8d4f32f93acfe862426 Mon Sep 17 00:00:00 2001 From: PuzzleSecretary <39073962+PuzzleSecretary@users.noreply.github.com> Date: Sat, 12 Oct 2019 09:07:58 -0700 Subject: [PATCH 09/29] Real hint tweaks Unless there's some specific reason bumper ledge and mushroom spot don't count as "in plain sight", those are kind of striking in their absence. As for the hammer pegs specific hint, take or leave it. --- resources/lang/en/hint.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/resources/lang/en/hint.php b/resources/lang/en/hint.php index 083f5d747..89594de14 100644 --- a/resources/lang/en/hint.php +++ b/resources/lang/en/hint.php @@ -209,7 +209,7 @@ "Bombos Tablet" => ["is on a Tablet", "requires the book"], "Bottle Merchant" => ["can be bought", "held by someone friendly"], "Brewery" => ["is in the dark village", "requires a bomb"], - "Bumper Cave" => "requires the cape", + "Bumper Cave" => ["requires the cape", "is in plain sight"], "C-Shaped House" => "is in the dark village", "Castle Tower - Dark Maze" => ["is in Castle Tower", "is in the dark"], "Castle Tower - Room 03" => "is in Castle Tower", @@ -267,7 +267,7 @@ "Ganon's Tower - Randomizer Room - Top Right" => ["is in Ganon's Tower", "requires the hammer", "requires a bomb", "requires the hookshot"], "Ganon's Tower - Tile Room" => ["is in Ganon's Tower", "requires the cane of somaria"], "Graveyard Ledge" => ["is above the poes", "requires a bomb"], - "Hammer Pegs" => "requires the Hammer", + "Hammer Pegs" => ["is under a stump", "requires the Hammer"], "Hobo" => ["is under a bridge", "held by someone friendly"], "Hookshot Cave - Bottom Left" => ["is in Hookshot Cave", "requires the hookshot", "requires a glove"], "Hookshot Cave - Bottom Right" => ["is in Hookshot Cave", "requires a glove"], @@ -326,7 +326,7 @@ "Misery Mire - Spike Chest" => "is in Misery Mire", "Misery Mire - Boss" => ["is in Misery Mire", "requires the cane of somaria", "is on a boss"], "Misery Mire Medallion" => "is required to enter Misery Mire", - "Mushroom" => "is in the Lost Woods", + "Mushroom" => ["is in the Lost Woods", "is in plain sight"], "Old Man" => ["is held by an Old Man", "is in the dark", "held by someone friendly"], "Palace of Darkness - Big Chest" => "is in Palace of Darkness", "Palace of Darkness - Big Key Chest" => "is in Palace of Darkness", From fc9ce2506f2b0469bc0ce70f4e47b88b51a5b7ef Mon Sep 17 00:00:00 2001 From: compiling <8335770+compiling@users.noreply.github.com> Date: Mon, 21 Oct 2019 20:00:33 +1100 Subject: [PATCH 10/29] Don't overflow silvers for swordless seeds. --- app/World.php | 1 + 1 file changed, 1 insertion(+) diff --git a/app/World.php b/app/World.php index 7ec093073..b72393fd7 100644 --- a/app/World.php +++ b/app/World.php @@ -183,6 +183,7 @@ public function __construct(int $id = 0, array $config = []) // In swordless mode silvers are 100% required if ($this->config('mode.weapons') === 'swordless') { $this->config['region.requireBetterBow'] = true; + $this->config['item.overflow.count.Bow'] = 2; } if ($this->config('itemPlacement') === 'basic') { From 1550563723ef8c340e5ca84186193e79e5974f38 Mon Sep 17 00:00:00 2001 From: cassidoxa Date: Sat, 12 Oct 2019 12:12:48 -0400 Subject: [PATCH 11/29] Change take any sword to 300 rupees when swords are vanilla Same behavior as swordless --- app/Randomizer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Randomizer.php b/app/Randomizer.php index d00909031..1a0d6874f 100644 --- a/app/Randomizer.php +++ b/app/Randomizer.php @@ -717,7 +717,7 @@ protected function setShops(World $world): void $old_man->setActive(true); $old_man->setShopkeeper('old_man'); - $old_man->addInventory(0, ($world->config('mode.weapons') == 'swordless') ? Item::get('ThreeHundredRupees', $world) + $old_man->addInventory(0, (in_array($world->config('mode.weapons'), ['swordless', 'vanilla'])) ? Item::get('ThreeHundredRupees', $world) : Item::get('ProgressiveSword', $world), 0); } From cfac299e220100364d8f48dd9c4b6139d3af5170 Mon Sep 17 00:00:00 2001 From: Salvatore Date: Tue, 8 Oct 2019 11:55:11 -0400 Subject: [PATCH 12/29] Update ISSUE_TEMPLATE --- .github/ISSUE_TEMPLATE | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE b/.github/ISSUE_TEMPLATE index fc9c81698..7866de035 100644 --- a/.github/ISSUE_TEMPLATE +++ b/.github/ISSUE_TEMPLATE @@ -1,18 +1,39 @@ +DO NOT ATTACH ROM FILES TO ISSUES + Console or Emulator: If emulator state which emulator and version. Original Filename: -Item, Entrance or Custom: -Mode: -Logic: +Permalink: + +- OR list settings - + +Settings +--- +Glitches Required: +Item Placement: +Dungeon Item Shuffle: +Accessibility: + Goal: -Difficulty: -Variation: -Enemizer Options: +Open Tower: +Ganon Vulnerable: + +World State: +Entrance Shuffle: +Boss Shuffle: +Enemy Shuffle: +Hints: + +Swords: +Item Pool: +Item Functionality: +Enemy Damage: +Enemy Health: +--- Description of problem: -Spoiler (if available): From d6ea117c05899df51762f94d3d7fbb6ce4db0abb Mon Sep 17 00:00:00 2001 From: Vosstaniya Date: Fri, 18 Oct 2019 17:56:41 -0400 Subject: [PATCH 13/29] Fix for issue 724: rom.freeItemMenu and rom.freeItemText toggles not working in Customizer. --- app/World.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/World.php b/app/World.php index b72393fd7..0ee309f67 100644 --- a/app/World.php +++ b/app/World.php @@ -106,8 +106,8 @@ public function __construct(int $id = 0, array $config = []) }; // Handle configuration options that map to switches. - $free_item_text = 0x00; - $free_item_menu = 0x00; + $free_item_text = $this->config('rom.freeItemText', 0x00); + $free_item_menu = $this->config('rom.freeItemMenu', 0x00); switch ($this->config('dungeonItems')) { case 'full': $this->config['region.wildBigKeys'] = true; From 8887431f5d9d2a3c957a38711cf93fdd56c607f8 Mon Sep 17 00:00:00 2001 From: Vosstaniya Date: Fri, 18 Oct 2019 18:16:35 -0400 Subject: [PATCH 14/29] Fix for Hints option not working in Customizer. --- app/Http/Controllers/CustomizerController.php | 4 +++- resources/js/store/modules/context.js | 3 +-- resources/js/views/Customizer.vue | 1 + 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/CustomizerController.php b/app/Http/Controllers/CustomizerController.php index 0ffebad0d..927e10f75 100644 --- a/app/Http/Controllers/CustomizerController.php +++ b/app/Http/Controllers/CustomizerController.php @@ -124,6 +124,9 @@ protected function prepSeed(Request $request, bool $save = false) $spoiler_meta['notes'] = $purifier->purify($markdowned); } + // Fix for hints option not working in Customizer. We overwrite any potential stale + // spoil.Hints value in custom data because it's not hooked up to the Hints dropdown. + $custom_data['spoil.Hints'] = $request->input('hints', 'on'); $custom_data['item.require.Lamp'] = $custom_data['item.require.Lamp'] ? 0 : 1; if ($custom_data['rom.freeItemMenu']) { $custom_data['rom.freeItemMenu'] = 0x00 @@ -146,7 +149,6 @@ protected function prepSeed(Request $request, bool $save = false) 'tournament' => $request->input('tournament', true), 'spoilers' => $request->input('spoilers', false), 'spoilers_ongen' => $request->input('spoilers_ongen', false), - 'spoil.Hints' => $request->input('hints', 'on'), 'logic' => $logic, 'item.pool' => $request->input('item.pool', 'normal'), 'item.functionality' => $request->input('item.functionality', 'normal'), diff --git a/resources/js/store/modules/context.js b/resources/js/store/modules/context.js index ae6cf6982..d48fb758a 100644 --- a/resources/js/store/modules/context.js +++ b/resources/js/store/modules/context.js @@ -26,8 +26,7 @@ export default { "rom.timerStart": "", "rom.rupeeBow": false, "rom.genericKeys": false, - "spoil.BootsLocation": false, - "spoil.Hints": true + "spoil.BootsLocation": false }, initializing: true }, diff --git a/resources/js/views/Customizer.vue b/resources/js/views/Customizer.vue index 1f9be9df2..ec49f68c0 100644 --- a/resources/js/views/Customizer.vue +++ b/resources/js/views/Customizer.vue @@ -483,6 +483,7 @@ export default { tower: this.towerOpen.value }, mode: this.worldState.value, + hints: this.hints.value, weapons: this.weapons.value, item: { pool: this.itemPool.value, From c26143d555bbd2f9408af9ba6466bab0615aa6d9 Mon Sep 17 00:00:00 2001 From: sporchia Date: Tue, 5 Nov 2019 22:39:38 -0500 Subject: [PATCH 15/29] updates for historic festive --- resources/js/components/VTRomSettings.vue | 2 +- resources/js/views/HashLoader.vue | 8 ++++++++ resources/lang/de/item.php | 2 ++ resources/lang/en/item.php | 2 ++ resources/lang/es/item.php | 4 +++- resources/lang/fr/item.php | 2 ++ 6 files changed, 18 insertions(+), 2 deletions(-) diff --git a/resources/js/components/VTRomSettings.vue b/resources/js/components/VTRomSettings.vue index d60c432a3..907874d3d 100644 --- a/resources/js/components/VTRomSettings.vue +++ b/resources/js/components/VTRomSettings.vue @@ -56,7 +56,7 @@ {{ $t('rom.settings.quickswap') }} -
+
+