From a82ac38c86273ae9e168560a217babf0c8d55699 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Mon, 12 Dec 2016 19:28:26 -0200 Subject: [PATCH 01/30] First tries --- 01 - JavaScript Drum Kit/index-START.html | 7 -- .../index-FINISHED.html | 0 01-JavaScript-Drum-Kit/index-START.html | 69 ++++++++++++++++++ .../index.html | 0 .../sounds/boom.wav | Bin .../sounds/clap.wav | Bin .../sounds/hihat.wav | Bin .../sounds/kick.wav | Bin .../sounds/openhat.wav | Bin .../sounds/ride.wav | Bin .../sounds/snare.wav | Bin .../sounds/tink.wav | Bin .../sounds/tom.wav | Bin .../style.css | 0 14 files changed, 69 insertions(+), 7 deletions(-) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/index-FINISHED.html (100%) create mode 100644 01-JavaScript-Drum-Kit/index-START.html rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/index.html (100%) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/sounds/boom.wav (100%) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/sounds/clap.wav (100%) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/sounds/hihat.wav (100%) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/sounds/kick.wav (100%) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/sounds/openhat.wav (100%) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/sounds/ride.wav (100%) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/sounds/snare.wav (100%) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/sounds/tink.wav (100%) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/sounds/tom.wav (100%) rename {01 - JavaScript Drum Kit => 01-JavaScript-Drum-Kit}/style.css (100%) diff --git a/01 - JavaScript Drum Kit/index-START.html b/01 - JavaScript Drum Kit/index-START.html index 4070d32767..166574ce52 100644 --- a/01 - JavaScript Drum Kit/index-START.html +++ b/01 - JavaScript Drum Kit/index-START.html @@ -6,8 +6,6 @@ - -
A @@ -46,7 +44,6 @@ tink
- @@ -56,11 +53,7 @@ - - - diff --git a/01 - JavaScript Drum Kit/index-FINISHED.html b/01-JavaScript-Drum-Kit/index-FINISHED.html similarity index 100% rename from 01 - JavaScript Drum Kit/index-FINISHED.html rename to 01-JavaScript-Drum-Kit/index-FINISHED.html diff --git a/01-JavaScript-Drum-Kit/index-START.html b/01-JavaScript-Drum-Kit/index-START.html new file mode 100644 index 0000000000..ca6b561759 --- /dev/null +++ b/01-JavaScript-Drum-Kit/index-START.html @@ -0,0 +1,69 @@ + + + + + Codestin Search App + + + +
+
+ A + clap +
+
+ S + hihat +
+
+ D + kick +
+
+ F + openhat +
+
+ G + boom +
+
+ H + ride +
+
+ J + snare +
+
+ K + tom +
+
+ L + tink +
+
+ + + + + + + + + + + + diff --git a/01 - JavaScript Drum Kit/index.html b/01-JavaScript-Drum-Kit/index.html similarity index 100% rename from 01 - JavaScript Drum Kit/index.html rename to 01-JavaScript-Drum-Kit/index.html diff --git a/01 - JavaScript Drum Kit/sounds/boom.wav b/01-JavaScript-Drum-Kit/sounds/boom.wav similarity index 100% rename from 01 - JavaScript Drum Kit/sounds/boom.wav rename to 01-JavaScript-Drum-Kit/sounds/boom.wav diff --git a/01 - JavaScript Drum Kit/sounds/clap.wav b/01-JavaScript-Drum-Kit/sounds/clap.wav similarity index 100% rename from 01 - JavaScript Drum Kit/sounds/clap.wav rename to 01-JavaScript-Drum-Kit/sounds/clap.wav diff --git a/01 - JavaScript Drum Kit/sounds/hihat.wav b/01-JavaScript-Drum-Kit/sounds/hihat.wav similarity index 100% rename from 01 - JavaScript Drum Kit/sounds/hihat.wav rename to 01-JavaScript-Drum-Kit/sounds/hihat.wav diff --git a/01 - JavaScript Drum Kit/sounds/kick.wav b/01-JavaScript-Drum-Kit/sounds/kick.wav similarity index 100% rename from 01 - JavaScript Drum Kit/sounds/kick.wav rename to 01-JavaScript-Drum-Kit/sounds/kick.wav diff --git a/01 - JavaScript Drum Kit/sounds/openhat.wav b/01-JavaScript-Drum-Kit/sounds/openhat.wav similarity index 100% rename from 01 - JavaScript Drum Kit/sounds/openhat.wav rename to 01-JavaScript-Drum-Kit/sounds/openhat.wav diff --git a/01 - JavaScript Drum Kit/sounds/ride.wav b/01-JavaScript-Drum-Kit/sounds/ride.wav similarity index 100% rename from 01 - JavaScript Drum Kit/sounds/ride.wav rename to 01-JavaScript-Drum-Kit/sounds/ride.wav diff --git a/01 - JavaScript Drum Kit/sounds/snare.wav b/01-JavaScript-Drum-Kit/sounds/snare.wav similarity index 100% rename from 01 - JavaScript Drum Kit/sounds/snare.wav rename to 01-JavaScript-Drum-Kit/sounds/snare.wav diff --git a/01 - JavaScript Drum Kit/sounds/tink.wav b/01-JavaScript-Drum-Kit/sounds/tink.wav similarity index 100% rename from 01 - JavaScript Drum Kit/sounds/tink.wav rename to 01-JavaScript-Drum-Kit/sounds/tink.wav diff --git a/01 - JavaScript Drum Kit/sounds/tom.wav b/01-JavaScript-Drum-Kit/sounds/tom.wav similarity index 100% rename from 01 - JavaScript Drum Kit/sounds/tom.wav rename to 01-JavaScript-Drum-Kit/sounds/tom.wav diff --git a/01 - JavaScript Drum Kit/style.css b/01-JavaScript-Drum-Kit/style.css similarity index 100% rename from 01 - JavaScript Drum Kit/style.css rename to 01-JavaScript-Drum-Kit/style.css From bb886d8e3972559aaf05e290b7267eb95d4e193a Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Mon, 12 Dec 2016 21:13:45 -0200 Subject: [PATCH 02/30] Normalizing the repo --- 01 - JavaScript Drum Kit/index-START.html | 59 ----------------------- 1 file changed, 59 deletions(-) delete mode 100644 01 - JavaScript Drum Kit/index-START.html diff --git a/01 - JavaScript Drum Kit/index-START.html b/01 - JavaScript Drum Kit/index-START.html deleted file mode 100644 index 166574ce52..0000000000 --- a/01 - JavaScript Drum Kit/index-START.html +++ /dev/null @@ -1,59 +0,0 @@ - - - - - Codestin Search App - - - -
-
- A - clap -
-
- S - hihat -
-
- D - kick -
-
- F - openhat -
-
- G - boom -
-
- H - ride -
-
- J - snare -
-
- K - tom -
-
- L - tink -
-
- - - - - - - - - - - - From f820e9aa7ae986568a4f3aced141cf406c82796f Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Tue, 13 Dec 2016 00:54:17 -0200 Subject: [PATCH 03/30] Challenge 01 almost done! --- .vscode/settings.json | 3 +++ 01-JavaScript-Drum-Kit/index-START.html | 18 +++++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) create mode 100644 .vscode/settings.json diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..20af2f68a6 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +// Place your settings in this file to overwrite default and user settings. +{ +} \ No newline at end of file diff --git a/01-JavaScript-Drum-Kit/index-START.html b/01-JavaScript-Drum-Kit/index-START.html index ca6b561759..c9aed9e3c1 100644 --- a/01-JavaScript-Drum-Kit/index-START.html +++ b/01-JavaScript-Drum-Kit/index-START.html @@ -54,16 +54,16 @@ From 887548335d5a44c807241420bf8b5ec686b30ffb Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Tue, 13 Dec 2016 15:56:34 -0200 Subject: [PATCH 04/30] First day done! --- 01-JavaScript-Drum-Kit/index-START.html | 29 ++++++++++++++++--------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/01-JavaScript-Drum-Kit/index-START.html b/01-JavaScript-Drum-Kit/index-START.html index c9aed9e3c1..9ca583a65b 100644 --- a/01-JavaScript-Drum-Kit/index-START.html +++ b/01-JavaScript-Drum-Kit/index-START.html @@ -54,16 +54,25 @@ From a9fc39cbb0dfd377093f824fb3655f7697822475 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Tue, 13 Dec 2016 17:51:18 -0200 Subject: [PATCH 05/30] =?UTF-8?q?Clock=20done!=20=F0=9F=95=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index-FINISHED.html | 0 .../index-START.html | 35 ++++++++++++------- .../index.html | 0 3 files changed, 23 insertions(+), 12 deletions(-) rename {02 - JS + CSS Clock => 02-JS+CSS-Clock}/index-FINISHED.html (100%) rename {02 - JS + CSS Clock => 02-JS+CSS-Clock}/index-START.html (62%) rename {02 - JS + CSS Clock => 02-JS+CSS-Clock}/index.html (100%) diff --git a/02 - JS + CSS Clock/index-FINISHED.html b/02-JS+CSS-Clock/index-FINISHED.html similarity index 100% rename from 02 - JS + CSS Clock/index-FINISHED.html rename to 02-JS+CSS-Clock/index-FINISHED.html diff --git a/02 - JS + CSS Clock/index-START.html b/02-JS+CSS-Clock/index-START.html similarity index 62% rename from 02 - JS + CSS Clock/index-START.html rename to 02-JS+CSS-Clock/index-START.html index 259280d228..a3d75f1ced 100644 --- a/02 - JS + CSS Clock/index-START.html +++ b/02-JS+CSS-Clock/index-START.html @@ -5,8 +5,6 @@ Codestin Search App - -
@@ -14,8 +12,6 @@
- - - diff --git a/02 - JS + CSS Clock/index.html b/02-JS+CSS-Clock/index.html similarity index 100% rename from 02 - JS + CSS Clock/index.html rename to 02-JS+CSS-Clock/index.html From 51c72d15579ec95a5791bfed69addd108c5dc928 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Tue, 13 Dec 2016 18:15:45 -0200 Subject: [PATCH 06/30] Sending to master --- {03 - CSS Variables => 03-CSS-Variables}/index-FINISHED.html | 0 {03 - CSS Variables => 03-CSS-Variables}/index-START.html | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {03 - CSS Variables => 03-CSS-Variables}/index-FINISHED.html (100%) rename {03 - CSS Variables => 03-CSS-Variables}/index-START.html (100%) diff --git a/03 - CSS Variables/index-FINISHED.html b/03-CSS-Variables/index-FINISHED.html similarity index 100% rename from 03 - CSS Variables/index-FINISHED.html rename to 03-CSS-Variables/index-FINISHED.html diff --git a/03 - CSS Variables/index-START.html b/03-CSS-Variables/index-START.html similarity index 100% rename from 03 - CSS Variables/index-START.html rename to 03-CSS-Variables/index-START.html From 4823583529c20565ad2449fa97ea43cb86bf5416 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Wed, 14 Dec 2016 16:08:11 -0200 Subject: [PATCH 07/30] Challenge 03 done --- 03-CSS-Variables/index-START.html | 33 ++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/03-CSS-Variables/index-START.html b/03-CSS-Variables/index-START.html index bf0f33e3ba..e9e3a47ea3 100644 --- a/03-CSS-Variables/index-START.html +++ b/03-CSS-Variables/index-START.html @@ -9,10 +9,10 @@

Update CSS Variables with JS

- + - + @@ -21,7 +21,12 @@

Update CSS Variables with JS

From ce6b457d31130159d6c37b2bc4391eddef261f04 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Thu, 15 Dec 2016 17:25:25 -0200 Subject: [PATCH 08/30] =?UTF-8?q?Day=204=20=F0=9F=A4=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index-FINISHED.html | 0 .../index-START.html | 68 +++++++++++++++++-- 2 files changed, 64 insertions(+), 4 deletions(-) rename {04 - Array Cardio Day 1 => 04-Array-Cardio-Day-1}/index-FINISHED.html (100%) rename {04 - Array Cardio Day 1 => 04-Array-Cardio-Day-1}/index-START.html (58%) diff --git a/04 - Array Cardio Day 1/index-FINISHED.html b/04-Array-Cardio-Day-1/index-FINISHED.html similarity index 100% rename from 04 - Array Cardio Day 1/index-FINISHED.html rename to 04-Array-Cardio-Day-1/index-FINISHED.html diff --git a/04 - Array Cardio Day 1/index-START.html b/04-Array-Cardio-Day-1/index-START.html similarity index 58% rename from 04 - Array Cardio Day 1/index-START.html rename to 04-Array-Cardio-Day-1/index-START.html index 089352c8a6..f7cd89c5fd 100644 --- a/04 - Array Cardio Day 1/index-START.html +++ b/04-Array-Cardio-Day-1/index-START.html @@ -5,6 +5,7 @@ Codestin Search App +

Inventors

From e0b12869e7675edab1b0d8eb493d052dd3251d18 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Fri, 16 Dec 2016 12:32:59 -0200 Subject: [PATCH 09/30] =?UTF-8?q?Day=205=20without=20watch=20the=20video?= =?UTF-8?q?=20=F0=9F=92=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index-FINISHED.html | 0 .../index-START.html | 45 ++++++++++++++----- 2 files changed, 33 insertions(+), 12 deletions(-) rename {05 - Flex Panel Gallery => 05-Flex-Panel-Gallery}/index-FINISHED.html (100%) rename {05 - Flex Panel Gallery => 05-Flex-Panel-Gallery}/index-START.html (70%) diff --git a/05 - Flex Panel Gallery/index-FINISHED.html b/05-Flex-Panel-Gallery/index-FINISHED.html similarity index 100% rename from 05 - Flex Panel Gallery/index-FINISHED.html rename to 05-Flex-Panel-Gallery/index-FINISHED.html diff --git a/05 - Flex Panel Gallery/index-START.html b/05-Flex-Panel-Gallery/index-START.html similarity index 70% rename from 05 - Flex Panel Gallery/index-START.html rename to 05-Flex-Panel-Gallery/index-START.html index e1d643ad5c..90521a1510 100644 --- a/05 - Flex Panel Gallery/index-START.html +++ b/05-Flex-Panel-Gallery/index-START.html @@ -3,14 +3,14 @@ Codestin Search App - + -

Hey

@@ -107,10 +125,13 @@
- - From f7c8e421ad7ee0571ebbc0977ebe688684f5712c Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Fri, 16 Dec 2016 12:55:36 -0200 Subject: [PATCH 10/30] Refactor exercise 5 --- 05-Flex-Panel-Gallery/index-START.html | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/05-Flex-Panel-Gallery/index-START.html b/05-Flex-Panel-Gallery/index-START.html index 90521a1510..d8fc50fbf7 100644 --- a/05-Flex-Panel-Gallery/index-START.html +++ b/05-Flex-Panel-Gallery/index-START.html @@ -128,8 +128,18 @@ const panels = document.querySelector('.panels'); const items = panels.querySelectorAll('.panel'); items.forEach(item => item.addEventListener('click', openItem)); + let lastOpen ; function openItem(){ - this.classList.toggle('open'); + lastOpen = panels.querySelector('.panel.open'); + if(lastOpen) { + lastOpen.classList.remove('open'); + } + + if(this === lastOpen){ + lastOpen.classList.remove('open'); + } else { + this.classList.toggle('open'); + } }; From c59fe2512b9f0d69396644e7e7c6ce4246f26be2 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Fri, 16 Dec 2016 14:12:52 -0200 Subject: [PATCH 11/30] Fix flexbox size --- 05-Flex-Panel-Gallery/index-START.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/05-Flex-Panel-Gallery/index-START.html b/05-Flex-Panel-Gallery/index-START.html index d8fc50fbf7..602f2d5772 100644 --- a/05-Flex-Panel-Gallery/index-START.html +++ b/05-Flex-Panel-Gallery/index-START.html @@ -81,7 +81,7 @@ } .open { - flex-grow: 2; + flex-grow: 3; font-size:40px; } From b3bd7ff188f0887b2875ffd31e0fa4b88e671333 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Tue, 20 Dec 2016 23:15:51 -0200 Subject: [PATCH 12/30] Day 6 done =) --- 06 - Type Ahead/index-START.html | 22 -------- .../index-FINISHED.html | 0 06-Type-Ahead/index-START.html | 51 +++++++++++++++++++ {06 - Type Ahead => 06-Type-Ahead}/style.css | 0 4 files changed, 51 insertions(+), 22 deletions(-) delete mode 100644 06 - Type Ahead/index-START.html rename {06 - Type Ahead => 06-Type-Ahead}/index-FINISHED.html (100%) create mode 100644 06-Type-Ahead/index-START.html rename {06 - Type Ahead => 06-Type-Ahead}/style.css (100%) diff --git a/06 - Type Ahead/index-START.html b/06 - Type Ahead/index-START.html deleted file mode 100644 index 1436886918..0000000000 --- a/06 - Type Ahead/index-START.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - Codestin Search App - - - - -
- -
    -
  • Filter for a city
  • -
  • or a state
  • -
-
- - - diff --git a/06 - Type Ahead/index-FINISHED.html b/06-Type-Ahead/index-FINISHED.html similarity index 100% rename from 06 - Type Ahead/index-FINISHED.html rename to 06-Type-Ahead/index-FINISHED.html diff --git a/06-Type-Ahead/index-START.html b/06-Type-Ahead/index-START.html new file mode 100644 index 0000000000..92c363c84f --- /dev/null +++ b/06-Type-Ahead/index-START.html @@ -0,0 +1,51 @@ + + + + + Codestin Search App + + + + +
+ +
    +
  • Filter for a city
  • +
  • or a state
  • +
+
+ + + diff --git a/06 - Type Ahead/style.css b/06-Type-Ahead/style.css similarity index 100% rename from 06 - Type Ahead/style.css rename to 06-Type-Ahead/style.css From b309a243ad43c47e7b9e9d27077d66a711fc326d Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Wed, 21 Dec 2016 12:04:25 -0200 Subject: [PATCH 13/30] Day 7 --- .../index-FINISHED.html | 0 .../index-START.html | 8 ++++---- 2 files changed, 4 insertions(+), 4 deletions(-) rename {07 - Array Cardio Day 2 => 07-Array-Cardio-Day-2}/index-FINISHED.html (100%) rename {07 - Array Cardio Day 2 => 07-Array-Cardio-Day-2}/index-START.html (93%) diff --git a/07 - Array Cardio Day 2/index-FINISHED.html b/07-Array-Cardio-Day-2/index-FINISHED.html similarity index 100% rename from 07 - Array Cardio Day 2/index-FINISHED.html rename to 07-Array-Cardio-Day-2/index-FINISHED.html diff --git a/07 - Array Cardio Day 2/index-START.html b/07-Array-Cardio-Day-2/index-START.html similarity index 93% rename from 07 - Array Cardio Day 2/index-START.html rename to 07-Array-Cardio-Day-2/index-START.html index e39d35f79a..6509b4b957 100644 --- a/07 - Array Cardio Day 2/index-START.html +++ b/07-Array-Cardio-Day-2/index-START.html @@ -34,11 +34,11 @@ const isAdult = people.some(person => ((new Date()).getFullYear()) - person.year >= 19); - console.log({isAdult}); + // console.log({isAdult}); // Array.prototype.every() // is everyone 19? const allAdults = people.every(person => ((new Date()).getFullYear()) - person.year >= 19); - console.log({allAdults}); + // console.log({allAdults}); // Array.prototype.find() // Find is like filter, but instead returns just the one you are looking for @@ -47,13 +47,13 @@ const comment = comments.find(comment => comment.id === 823423); - console.log(comment); + // console.log(comment.text); // Array.prototype.findIndex() // Find the comment with this ID // delete the comment with the ID of 823423 const index = comments.findIndex(comment => comment.id === 823423); - console.log(index); + // console.log(index); // comments.splice(index, 1); From 73f5ee2aaa60c4f5319ca3139d85f970998ae6ee Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Wed, 21 Dec 2016 17:31:17 -0200 Subject: [PATCH 14/30] Day 8 --- 08 - Fun with HTML5 Canavsa/index-START.html | 19 ---- .../index-FINISHED.html | 0 08-Fun-with-HTML5-Canvas/index-START.html | 92 ++++++++++++++++++ 08-Fun-with-HTML5-Canvas/pencil-icon.png | Bin 0 -> 11044 bytes 09 - Dev Tools Domination/index-START.html | 46 --------- .../index-FINISHED.html | 0 09-Dev-Tools-Domination/index-START.html | 84 ++++++++++++++++ 7 files changed, 176 insertions(+), 65 deletions(-) delete mode 100644 08 - Fun with HTML5 Canavsa/index-START.html rename {08 - Fun with HTML5 Canavsa => 08-Fun-with-HTML5-Canvas}/index-FINISHED.html (100%) create mode 100644 08-Fun-with-HTML5-Canvas/index-START.html create mode 100644 08-Fun-with-HTML5-Canvas/pencil-icon.png delete mode 100644 09 - Dev Tools Domination/index-START.html rename {09 - Dev Tools Domination => 09-Dev-Tools-Domination}/index-FINISHED.html (100%) create mode 100644 09-Dev-Tools-Domination/index-START.html diff --git a/08 - Fun with HTML5 Canavsa/index-START.html b/08 - Fun with HTML5 Canavsa/index-START.html deleted file mode 100644 index 37c148df07..0000000000 --- a/08 - Fun with HTML5 Canavsa/index-START.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - Codestin Search App - - - - - - - - - diff --git a/08 - Fun with HTML5 Canavsa/index-FINISHED.html b/08-Fun-with-HTML5-Canvas/index-FINISHED.html similarity index 100% rename from 08 - Fun with HTML5 Canavsa/index-FINISHED.html rename to 08-Fun-with-HTML5-Canvas/index-FINISHED.html diff --git a/08-Fun-with-HTML5-Canvas/index-START.html b/08-Fun-with-HTML5-Canvas/index-START.html new file mode 100644 index 0000000000..3bbaea0d1e --- /dev/null +++ b/08-Fun-with-HTML5-Canvas/index-START.html @@ -0,0 +1,92 @@ + + + + + Codestin Search App + + +
+ Click to start to draw + +
+ + + + + + diff --git a/08-Fun-with-HTML5-Canvas/pencil-icon.png b/08-Fun-with-HTML5-Canvas/pencil-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3882100d077861bb692bdd417ad0a046ecdfe926 GIT binary patch literal 11044 zcmW++1y~ea7hbwcx?`1QN$FZ7L{dqmTU2W4UK+^-`~>MnKpN>-L15_;=@6DKY3YCX z_t|)M=FU0y)cc-0b3f{8tC0{g5Q0D;67}cGuYljHhYvn3@EyJPMh*mG1F0)R^?fq; z7acqpH?t0pmWg@Qt3w{oWXw$QmuY;S;@7CP<(hUwH&#eo|1>|sS>6`X??X8TDA4%KnxdbX7NSawP zHHN*exc_{-;6B}bEm^Guv3qAaTZR7B&@Q@i9+>W+Nh&`D6qJX;7u@`EkTZ>w ze0=v|{%8vJ`p#K2g$J)Qp~$h!B)yCkM#E0W^O|x&Bt7@!w`imoz1nK$gCdy@}>6sw?QTsfV^TNQP{RL7V*En z%$61jr4y4@)v?kvfh|eX&xkV%xP}Kw29C3cW?50@Ao?0y7&UDd#!+Nt~s!JRGtbRHxrZgWU1)?Gd zb^UhPyvahen(rEut0%1Yi7gevg*mfyv*50PKZofSZMayP#yx=0X}b%iD%ZC_@9czn zi7`V<^5q$i6?j><;>Fd*eM3o%TdGTl!M-f^0Ir5JU ze$3T-X%fedXG6^7s!YcmSiM@Jz>JTs1>&Pm6N_Rl&iR8rCZWa%sK^3F8pVNAS-N?e zO@l0E8=NrcXSdg%@|MLAp;vDO#7+2Jrh^aMKZY1P0|823#l6hhexD+izJHc;of*(F zm;eZP$;6Qg3Fd$n_?r2BxC0y+JsKI{-^SjkLmSQoxj#|350D;2t&=L+2ukGYohwA$`6Z;#FJpJ+5 zJ5OdJeR@9+-_DLgu4-i+r?O(2W{NZhmi~l9x|tb%bb|`0p1=q$v-*l_FkLMCHs~t^ z2R{K?sarkNXGO)vBtL(7jSY(19Czr}M(t1Yuu6Pcnyaykoem<9rWRI5_0@?GWfq^v zUeS*9HIevdf>SH&oFla_z%Ho*P6c`tNnGdzw@^4*?@agm_dXfebsLD~&A*eJd(X0U z4X`xzxmVl2{Hq^=w<$;Q1!{5}ct4W@U5}KmQKUa5V7Q8wd$fJ>_r8nzgT~@h)ZDyj z`#wi1XI1xCMz@vShg=6TuH+FBIBBo-_I+^^!gv(OYD1uZv9QMDWrY$2K016`O=S%{ z{cSt=C0EZ%L#g8$m87f~u<94Pn3;n&iv-z<@43a8rkmfM-dr}`pA69_=J0BiALtuf zr$TtV_X0-~Ob6b5UoBt$$9Z>ij?T!6+Z1l|5Z1)GJW61)BwlGUN|3wtNGe%Z87oEf z(XE+KehU6K-x(||EG0F&zWL}};dXt$-z92OxYk2>NPO=oW9zxt(poQcE}1^Rv@oJ z6>S#{fB#O>DeZqAI%s{|hRwrU9k{Jw@ruFEe|ka|Ag$0-5RD$sDTt zebuOw0cM&|zoQ*d*us^gpCj*Cc0@M6oY{QVUy`LeT9p;Ge7|Aj+Q?vGViG&FXX;8w zo&4%muJ-frS4E*OiXx?jDf&wtpN|fxTECMXy7&hFUd|2_JB z6X5o=LqWOxC@I7=U4FBFZq5i0KB6>M3g>iAv2ga;Pra9Ftj))yUS9`s_CZqm{|?oS z=I2(E^YHYqNRnE@l}Z&~zzADfTKB=N;D6`mq+h4r6&4p`x~f9tw^jC(pdo=7atVkq z;bI!>KNBvaIi1e|;ZN8V+>Z4_*zjjgmdrIH%s5m2TyEy{&3%6_EG-@x@&j5}R2;gd zviG70v$V8yYirAO&OTM!C!)x3TdyKN=`+YAAmcP zl^q@CmFl|tH;L0hQlr*xcYZDe{wlswynIa6E(`Gg$_;JIohl|Z-qOV40Lp|I;!s0F z*rRTipkKVyBK2?T>l?akMWps4Br=AZJa@&DlOHAJO=&9zIebdxqau$X{Bi16-O(|l z1~LEq+OC$2K>BIL&hGB|?A)*Y2%JkYep4aV!-F}J#+i$Q*08KKM0Qd{diobSX67Cg zDthqz0=30`>L=&%`t^#h`Oiv2c2O`^qw{j)?1u($DpF#p?PFo#V_Q3WOjqR~ybjGg z5Fc;2K^5MI85=q&5FE>y++*PIF&ZRK0*b)FF|K$0Q8-i1%U9z%{^%>^BM_*Rhlh@y z{>RD~0#Nn$uaKYL8EUv6cQjV*efiWo+ud5%x^0@?zCN?xxXxnY9O^09S&;XbFkDWn zR6h8sHGX?L`PG#*gOm-iCixYC^tzEa+6BXB#?223?NHkTQu%DoU-#H)tweOSas zdn*p0VfasaEdAuL3lhtZ#=|p(;cI^Q((CS|D24Td&4cQ}b=Zgb29k24Dpd;$R{a-G ze(^q~qmy(Udp9X8D;9Sbf{}`4iyIX=Ha;7X-xa{<6}{1m<3AhR|R`i%1ze3WuA^rHv0x{d@ZiV$ZhqNr%Mr`klSu#93l*(;Rh**(ik! z2+%t0c-UfI74@P>IaC_@bHoibFoZ;|kY8P2n~@^u85orO)$n3sW7yX0EG?hE&{Tp3 zu~eG2Z`4XGS=X!_|5yH8U0c=MIe`eatiT*7s~{0qZP zherRoEw3bzYO`I6d1o#gs|Jl=S8c12M7MD>k@Fim(s;6j$N&+7MHbDF3(Bu=$p@-3g$ z-p+xlQYeGEy1Lh1v()U?AuIfcrRy8!#y1sPtaOSR@A(D>>=k=sbu8jJ2~;8?np}_a zCpBCq#yvI#O_krh<0T|K&Po!6OIZm<8Qq%`C(l@+8QBTRtJbvW32~V|jGMSu_^M#+F!uDMSDJIPQ2(>gy$4gnK-=rVa`b!CGWly0u=K0y^Htt`Q*li{bMdJ zu)tH5fDM?UqdLJUu3SrNtC`o<+1Xj%A64+iP_|w72qHN-v@8aeDQ$M>g_jlHUSEi< zjdDs%!otJFy#(~*g8BXAK1@fyK!czq3urzV2*ee|u_lb79AIZ7aBd94fD1p+Q%P}N z(f27&ysW913<(#GCr_yz9ZS9T>_lJWO*4*7E$$z)hSyY)O;=j!Jg)AL?SS38~iY$ca^r{m)*0WC9TA**Cjb8Zh3xWQWoAnIDEq zaMP&a)J(g0ctqHREh>;KPEJk^@B>MFba~}Ar|$4Q|BoNm#KZ(5Dap#BsIrV(O-Dy? zPDa{v=~uo4o$KX*0e_kWpEceyzjqAw!{2_?5X=+>_bJGR0KFXVz+e_4mh9!6J#CE% ziK?;R*?Eo%(Sv6ij0b51BFP#;rpw#2`$=FzL?9x`-()N_#?4}ls2<8A-QVB7X)ZL4 zZ`Fp4e5hHOJHst3DFII=Fn=wrRPxp#dt)+h+Aw>Div=-niR&SvRb)4Uhp@{DFxNQ@ z|HM;Ev;rLB7?s^`+lAMc0Ok|L`j46#(J;%*%Ee}F^f?tO#9(!>AJ6-cB;-EmRXZX{ zd+ffUYS^1bRMBK%p|b6+$J?gym2+@GrD-#vlV8j2ehDb*_0y@Xodc+eNygyWnV;N< zMN@Q9EbVN~`^iaR?~xBoe)ssjy}g;gafj?hNm(yJuUq)_4Gfh`qZ}xMfd#Xh?O{9v zpfd6LM(ysV5LKj?z5PQ}l;5=21l>Sl^Vl&Nk&+Vje)@o^(V2C2*xt0wgC2N|*=@5` zyczu>N0gOi_SVtSO$xuHq>+|2rxR{B_!+PqWI0y+Ubyod!X$em9~l*8wjt%SB~#|l1kQHu=r--WbN6nIpgxP1IQ3Qrt z3mmBp@lVqq0|d9aGgU4m6}OkrSK(l9%VttS$w~-scHhjcD<^8q$N(5>dwcuGtUIes z&#|2@xAGqS_M0JKBLY@>JCQGck1kJ80|QEx`$SBV zpp%0ZBIc~DCeQ1JK@5>aIk~S2?lk2GuQ7_0Oyft#>@CMb-|Q_0Bk#7w6W){iU+k-C zdx_hRrf>VcoT)a61JclsgF#AhY)wQ41`$KC8-r4CL^MPteF?ukcZ+2rA1!%Yk_!Ma zz%KPwy)p+$3hw7j9xeRnb#(NMlqJ+jU~YcitlEU1=JfP*#p71ZxP6C(oBD;2kgdI~ z^-(^~%y);X!6l!%**L%t91;?EKu#XFJ(nciiGih&JcQwAA8QB-Bb3GaGVw-jQi+sP zJLQWDX05()lRl7tjzC+*&CA<$d9t}LGs@IBt03)8GdnAd-dtB=n4=XihBq{bi!HXS zUqPBHApjC4et&NWE!D*o-y8hQ-&HAhXyxNGBcJ#yNU(-W-w^phtZQMBGU-8~krvtI zfFqdp{xy4@SZGSgk5Hi8in6=_B;khecFopp?zt#<%C4*fW&tZ3AP(8g*U2ieV{>zn zy%`c_4V^NrEv~C*$8RRBxG#!G{0(V73!24wdmZ%t{aekP_DN@k#Jd^~!?#_%!hDkq zDD^(Aq)^kV=AmC8)THIQ$N~qg4&B7WD`6W|o*f10wbKMKg6oedC5Via_|Ps)_{Z`i zjZ}Ws_wN}QoW)u`)OmY(t^WI%GUK}3u3M%LvKh0pv%0K(;^RH-{Lp#v|>a_ zuD(8gud>Hrs(^~S1|Ng-g6pjP;ojcQ8URt(uC8-ml_Ke$HE2iq8}j$Hwx0X^%uY#( zm#Qm4ni~+*{lM4r_WsF+hwnE;TZ$^WTrVzfnDUu-sL@e`K*x(q3fkI;xpcC-(lWdY zndQ8gE`6K1A&}bmJto72cBbKBfu^Ogm1COe^90fW*Hb!irv=OVpmUxYR#~*1R{=$F z=`jU;QCO39u*qoQJ;Qr?r_QvMh7I6t6L6DL-PI zOJ8mto(3BW-%-Maj>R~DDw>%f^Giz!V70_QKZY|nEj#B=-nFI9q?GYmiO>lzO*vf~ zbVUI`AUuDHSf=Dad*AhIr6T($EjMbNI^m+Qc~w~vk@~NdWnJS1eS3#by%+2i0?=4g zH0Xl*dTdM3sGITkcTb#`JK_OlQWeLdy<>}u@ni`sWE@^ty{#>Qs+IL`4i|5F8E?(+ z_lu)*`z#-L=-IUllF`6?RE!5k@LmX5ylEmbAn+6ipDS zS+o?Vbb|?|_NPY`#ebBY8-{Hn7CcB14=Ns*&fd=6+FpxfDfk{=l`FvZQ;+qJkgzCS zV?^TdvB*61Dbw!?v#?^5M%VQngH#oAk3B!R-WF!VwP(=}-umwzWf6^!o*1Pn7G0tG zB6M=;oP-55NiE+rhq9ki;*qkzW}#fni-!8fmiGhp32W6si|tK|{LXbcnq7Cu;_E!a zSQFVL%h8eFRwH|}*|fraP(3}8lqIy`vw>NSPSsr~vOerI7UH)C>qQ zK~FrdnzXYz$ef)CUdf$LjPr9@4g&hNxuy4zp!@l&>)%=lw`u-+GTw*1GiiM1SmxF` zm8FsDRgErnQG`Ho*yI}n#i19MgUK}-`ccp$*0if?@VC{HnfuYwQlPVf$h+z63*9%b zLU+nufF_Ya-j>ygyCihGdxZ2rL8}F>nrMNkn$`a4fm1gOwse%7x4V6mDu8)8YB!Lc zY%E5|IWHA*;A1Y$H?kHLC56Zp6*H{0x6|$JkP@r}`{p2|gkA?s@tcVC!+td)zi$D;Yc{@NYt3Vat`p zc%xT+`OuNEy1XsI>GfR#u+q}%L%>3yQSF949xnlwvD!}VnQ7+xH{-oO8&*>zeC@gUTc0R# zvF_c-^8Mc^62M!b$B3m-si`2>a^!#uUn}e__U9)0m~h4zxcrEgNuN!rMcgcgGLLMhi+X#T|fVk7K7PxE@GwwUST0wztKU#&V`Ld zEMg06xj2gB6%N1yjaH9uJJeme)b_aeGXuH{66NQ1fe|j)a+)7e7hdo~E;LjbLj8R2 z$&(%<2mRmQVt%&oW^-&=p@Pv>k25Ah$sIuxyIPU$EoJYXrzE#Lesxjl zACnu^w9Rhu0+scds7)2}leXT%|4X+7KKer3b-ZD!N+}w`WuML}t<>N^yu_&TtF=Lnz zs^=yLYUgwhK$=U#fF@P6VZNlpj4^$&gsAxWvnXWa7i3t0i(+Nqlh#!LNCk>3pchi$QrNxgV-JiDa5lqoE zP9Jo_ddW8)CaW))7eOusV$;IGun~TmtTAqW0iy9lWhtt$9lrzxnhW-C|5x1gyeCpc z{rz35yz&Lz1il}f1061#Twrhk`pM8>+w}rP;EPrTUy0R$FSes4ln%s|SnBbw#A4o~ zLwh_K*b`^)TXHC1N-SFA;w`K-m3^KaU?U2ccLalP8R15<|NAupDMfJ0=))PIgLg;F zmxCC}2Y=m_4gz@yF)r5)7Q&32!?#$#oS_HLgcAd5yWbG_>Z^^l#~~<>-zMbxQ?Msm zqe}@fe2?M*w$tO}Sf0fULMAf1#Dd8$!yUtAAskyN%D^nYDUZoL{PL@eEmFy%6H3Bm zxhY_c6sH6=8-2$@wdEfXtx(7?Wk2eqoUaKFvOqj8r>cd$$gZS~vUwWn91AEkPRIqn zLCAofpuIWJ=F}Hs1itX3M9|iSpSpIHei6>4fkAk{&MHF-$)(d@ELfET2l@bvrZ8Jj z;sU&u9iy@378S7iekEM?Af}Zpn+=VjDo?1yg3~htp3$pf&6XWE*uB|5-?@*k8n=^k5G z@G&}p;y7)w${q8HRlSxK?XxWiGTZJOGQG%>L#7b-vrl zXYfOFcxS4j7FAKt-uzO!V7=7AIKxyrpkq(G%zq@!P9}701;TpBBo$Qmt6xyS4VlMs zubWumf<3awL40GIuKwYfgt{+9^RMGgFGLleDo7(338bhq^H&QB@gKYkNA$g>P{@y> zX(loJ1}ey1Fb zOi9K;ZiPTJXb$^lbZwE&(weBz& zodD!E5IGJdmiP!NX?8BOz7HY&gU?If z%84G2l#NI9y@1|^(<`x9qVsNS)5MB!dctK53FpdMEl@wOS}bPdQEt3wd*Jy4*0C=0 z?-wYW%9V;1E`@VK^a5t>MUE_0 zM3vC9C(ed`kC&HujQRpXC4cBtjbl$`uSZP+MMYa^;Qc2A!R9S3_z%8dg=b#K!K(T; zX>#c-4I&AarWB7NmBK<&z=FYOx0lE~(cXH?558N7`AQ8`U?QSVE5yRHG5vRlO~4jH z6eP=j@!jJ;92M$tS#83bGMT7hb`@s@9aMV)qR$K?VuWrD!>Zr{g`-K<>=dL;vxvfj zqDpgVRtzr2BP_>!6Bj1G9tgm;W%C&?EkQKx5){Wx0@dXQn2qwMD0<{kct9DxuPN;e zMHT^BB$E{Of|O+>qE*1m4(g^Z+<0g0AAOJ%Q;jK}FDm{OYo==qoT_@t4IKe%qN*s4 zB_Xcm2ZqkzpIL7BJTM_p?G{uXTS+^j4GE>4iL7R8bSa>OmEcRQ>ni4o_WHPX^;Wat zVM+E-p_ohhFklq}$|#;bOwoK3+*B-0MjEuGxJwGK^`M8~I6wK7lC~60u7UTD;c?eI zCCH3?VJJ}A19}*tBjS-HQgle4hb&T07x(D(J4Vj5RkP#O#c%yka%M;C|B|@HvLCuB zuIBI#Q1H`5X!xIi>3r2y*c%V5y&nwfD(>7Fam(nA&BSOU4A0D$l@Qp96P8M=7XJq9 zop?AP-frNnaY!ii`H?vq6Ujvmi%BoshB|bGHHc=j<1#jfCn5Ac^%WCjIX%+p{%D#$ z5(50czKI-BosR|StKq_MQ>!2i1*9CuR^%{V-s529)P8X&!ZMsu3JaG`NQgHSC+xNc zhtl_J$6o|OZ*u6c%GTOuUk0OrhXc`iGxX=irz(1Og3MSIV^_$M8Rwe~-0u0!7hlD; z%6_kR^fZ4=`g-oMu}`w@iTT$Q9W34^ZBlQzXE>imZn2co4GC_=eg7&v!iZ6v@D`oD zk#pK0x0uLg&LV*se3h;cJA8pJMV))&&m3slAPq?h!zk15r1>&R0po>V`XY&26(C9T z!8B-K(8>*PE6*aIE)_-3MmEr>6$^~Pza-9zZ#2UCpt`_;M>Nqm5Qfl$4qi|!zFXR& ztTlc%f~`n{y$yhpb;q+!*I-jH9@ak)fGGNi69Q?QMFx09!h5tOh!rW=1OyBJc%NQI zq>WTlxA!TG21#L7E|Qlkn~Ko;F(R?m<{G>JCi@i)VPE#?7rJFE_}YK6Pd`{Ke30}k zO&$P}2+6ADUtN(54p`q%eCQxn%{79YDpY&sGWb}%SjQWHX??omJ9@rutndY|*BhG| zclGaptDYR@nJ_nwuF(OBbXg;+T`r!N8;8)d>gU@U8cV}W5a2>L48kH@G`;`_M_MV& z1is;=WdbF-IT#J39X?8COVbB|kTKQyv;O}BjxT@&f)nf#G_URZ9^Hf4OE|b^^^L~3 zBNbl0dG(j9KV4Y~qIK8|+TuFW00g`r$lE^sqG9p6bz9xT!y^naugx|8Fk5W#C#QVV z473*QOW{v5vX#^v$k?Mm+`kTJX#kn^>Uq@y z;0_hn6eXAay&zR`?CbUSB#qU#oum2XC4vb_qSF*v2tA6W!Z8=|?;l`ovi|2EzP)Lu z*>s63sB0y2`^YqO>G>c5%91xd<@7T9_TP(-YxSc68=@ePlPV2lp+2{+mDMeZiCFh> zG*LK0?`5*u)@}O^SA3v%M?&G(ulT^DxCRTF8k6zaNmdIKJrTpYjY z+Z~J<5Uf@#8j5}flEIH$1U1I;U7Odr#HQtU<(O;pWd7NIaux^UVdgr0dCmJs)KACJSwzpeY#bJQN z7)a#LN_Dh+pKZ@+1{_8h9W7RUP&QAXc^Mf%Y#H?=_xml$7rTqgC9WqEz!PMwhmbFue0WW5EiEZ65?Um@WkrXK<>sbia_g`+9;q z1m$C55==>t%F3@zS7QZltb8n8=?Eh*58F;iMMOpAmf&Dm=|F7&(^ZwzDvCu4r3H7T z(wrf%U+no$-rLhJHX%QsE0vu8lE36v?*UAvTjAH^-N;FsvbKT=a-CYGIrKThZ zak$`6p2KZq^0a40w>u=!7s>fwxkqsPO#J)SK*$r>2Is{c=_mmmRMG!0y}#lly**n_ zO3jKSXKw^alG-nlWY70d%eyaC6)C+G{!DbLVU)3fi5&Qk@8zpkt6rSFbmjp^Dj$|R z0w)-0Yl4aJ?vJt1n{y4bScz?vO!HVF`;k+%seFOOqd7Rxmo=G_;#U&cfw1ip!MlxT zpnqpo!SPb=8%;wi0b!DH9Ig3D?h^$ZGfXiT=uPRz?nshzR$K<(SNVh|4yhg^+~dqaw~1;Ef!E9T zJ`gqu&6mFlXY(xDCL~Wja%IC!A==h)fBF>egqQqwD;yW0uhknI4GsSEbcMz>*6QSy+e02v``; z)}1981mEMk5Q>yj>`=mOdQTPj_xLzmLlq&5b>S`pKSkke|9Dq1WVa8Ddy(oD7&6B zT%=4?=+(}VA7=4IQzSOI*M0x3wM%1u+1EM$uY0rOxCxS(_$8m4^?E|#!{ySvOXq&5 zDI~S#()+&)g&Mozk*c6Sd8G=zq4{4?``7nZXY-F>X7=fxx9OK8Il=Evh?axSYeHQW z#AEU?Q`#!p&HBHzk_DX+k=@_hE@m=&dY - - - - Codestin Search App - - - -

×BREAK×DOWN×

- - - - diff --git a/09 - Dev Tools Domination/index-FINISHED.html b/09-Dev-Tools-Domination/index-FINISHED.html similarity index 100% rename from 09 - Dev Tools Domination/index-FINISHED.html rename to 09-Dev-Tools-Domination/index-FINISHED.html diff --git a/09-Dev-Tools-Domination/index-START.html b/09-Dev-Tools-Domination/index-START.html new file mode 100644 index 0000000000..0221aa6c66 --- /dev/null +++ b/09-Dev-Tools-Domination/index-START.html @@ -0,0 +1,84 @@ + + + + + Codestin Search App + + + +

×BREAK×DOWN×

+ + + + From 50aa400e51d2a62e2c0509ca8ca83463bd2f5216 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Wed, 21 Dec 2016 19:04:02 -0200 Subject: [PATCH 15/30] Trying list github repos --- 09-Dev-Tools-Domination/index-START.html | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/09-Dev-Tools-Domination/index-START.html b/09-Dev-Tools-Domination/index-START.html index 0221aa6c66..b3dfa6d404 100644 --- a/09-Dev-Tools-Domination/index-START.html +++ b/09-Dev-Tools-Domination/index-START.html @@ -6,7 +6,10 @@ -

×BREAK×DOWN×

+ +
    + +
From 3542b6f9b918d677520b6e7c2f7803eff29470a2 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Fri, 23 Dec 2016 12:05:33 -0200 Subject: [PATCH 17/30] Day 11 first tries --- 11 - Custom Video Player/scripts.js | 0 .../index.html | 0 .../scripts-FINISHED.js | 0 11-Custom-Video-Player/scripts.js | 23 +++++++++++++++++++ .../style.css | 0 5 files changed, 23 insertions(+) delete mode 100644 11 - Custom Video Player/scripts.js rename {11 - Custom Video Player => 11-Custom-Video-Player}/index.html (100%) rename {11 - Custom Video Player => 11-Custom-Video-Player}/scripts-FINISHED.js (100%) create mode 100644 11-Custom-Video-Player/scripts.js rename {11 - Custom Video Player => 11-Custom-Video-Player}/style.css (100%) diff --git a/11 - Custom Video Player/scripts.js b/11 - Custom Video Player/scripts.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/11 - Custom Video Player/index.html b/11-Custom-Video-Player/index.html similarity index 100% rename from 11 - Custom Video Player/index.html rename to 11-Custom-Video-Player/index.html diff --git a/11 - Custom Video Player/scripts-FINISHED.js b/11-Custom-Video-Player/scripts-FINISHED.js similarity index 100% rename from 11 - Custom Video Player/scripts-FINISHED.js rename to 11-Custom-Video-Player/scripts-FINISHED.js diff --git a/11-Custom-Video-Player/scripts.js b/11-Custom-Video-Player/scripts.js new file mode 100644 index 0000000000..682b6d792b --- /dev/null +++ b/11-Custom-Video-Player/scripts.js @@ -0,0 +1,23 @@ +// Selectors +const player = document.querySelector('.player__video'); +const video = document.querySelector('.player__video'); +const playButton = document.querySelector('.player__button'); +const volume = document.querySelector('input[name="volume"]'); + +function playPauseVideo(){ + if (video.paused) { + video.play(); + } else { + video.pause(); + } +} + +// function changeVolume() { +// video.volume = volume.getAttribute('value'); +// console.log(video.volume); +// } + +// Play/Pause vídeo clicking in the button and the whole player +player.addEventListener('click', playPauseVideo); +playButton.addEventListener('click', playPauseVideo); +// volume.addEventListener('change', changeVolume); diff --git a/11 - Custom Video Player/style.css b/11-Custom-Video-Player/style.css similarity index 100% rename from 11 - Custom Video Player/style.css rename to 11-Custom-Video-Player/style.css From 297a71f02e7d9aa6f7df7b7ec0f094107673f6e3 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Fri, 23 Dec 2016 15:47:57 -0200 Subject: [PATCH 18/30] =?UTF-8?q?=F0=9F=92=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 11-Custom-Video-Player/scripts.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/11-Custom-Video-Player/scripts.js b/11-Custom-Video-Player/scripts.js index 682b6d792b..d478e34167 100644 --- a/11-Custom-Video-Player/scripts.js +++ b/11-Custom-Video-Player/scripts.js @@ -2,7 +2,8 @@ const player = document.querySelector('.player__video'); const video = document.querySelector('.player__video'); const playButton = document.querySelector('.player__button'); -const volume = document.querySelector('input[name="volume"]'); +const skipButtons = player.querySelectorAll('[data-skip]'); +const ranges = player.querySelectorAll('.player__slider'); function playPauseVideo(){ if (video.paused) { @@ -12,12 +13,11 @@ function playPauseVideo(){ } } -// function changeVolume() { -// video.volume = volume.getAttribute('value'); -// console.log(video.volume); -// } +function changeVolume() { + +} // Play/Pause vídeo clicking in the button and the whole player player.addEventListener('click', playPauseVideo); playButton.addEventListener('click', playPauseVideo); -// volume.addEventListener('change', changeVolume); +// volume.addEventListener('input', changeVolume); From a7eb74950d7aee84959accdd70d2235a9e8aa7b7 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Sun, 25 Dec 2016 23:15:31 -0200 Subject: [PATCH 19/30] 11 --- 11-Custom-Video-Player/scripts.js | 56 ++++++++++++++++++++++++++----- 11-Custom-Video-Player/style.css | 2 +- 2 files changed, 48 insertions(+), 10 deletions(-) diff --git a/11-Custom-Video-Player/scripts.js b/11-Custom-Video-Player/scripts.js index d478e34167..2ce24a25f6 100644 --- a/11-Custom-Video-Player/scripts.js +++ b/11-Custom-Video-Player/scripts.js @@ -1,11 +1,15 @@ // Selectors -const player = document.querySelector('.player__video'); -const video = document.querySelector('.player__video'); -const playButton = document.querySelector('.player__button'); +const player = document.querySelector('.player'); +const video = player.querySelector('.viewer'); +const progress = player.querySelector('.progress'); +const progressBar = player.querySelector('.progress__filled'); +const toggle = player.querySelector('.toggle'); const skipButtons = player.querySelectorAll('[data-skip]'); const ranges = player.querySelectorAll('.player__slider'); -function playPauseVideo(){ +// Functions + +function playPauseVideo() { if (video.paused) { video.play(); } else { @@ -13,11 +17,45 @@ function playPauseVideo(){ } } -function changeVolume() { +function updateButton() { + const icon = this.paused ? '►' : '❚ ❚'; + toggle.textContent = icon; +} + +function skipVideo() { + console.log(this.dataset); + video.currentTime += parseFloat(this.dataset.skip); +} +function handleRangeUpdate() { + video[this.name] = this.value; + console.log(this.name + ' ' + this.value); +} +function handleProgress(){ + const percent = (video.currentTime / video.duration) * 100; + progressBar.style.flexBasis = `${percent}%`; } -// Play/Pause vídeo clicking in the button and the whole player -player.addEventListener('click', playPauseVideo); -playButton.addEventListener('click', playPauseVideo); -// volume.addEventListener('input', changeVolume); +function scrub(e) { + const scrubTime = (e.offsetX / progress.offsetWidth) * video.duration; + // console.log(scrubTime); + video.currentTime = scrubTime; +} + +// Events +video.addEventListener('click', playPauseVideo); +toggle.addEventListener('click', playPauseVideo); + +video.addEventListener('play', updateButton); +video.addEventListener('pause', updateButton); +video.addEventListener('timeupdate', handleProgress); + +skipButtons.forEach(button => button.addEventListener('click', skipVideo)); +ranges.forEach(range => range.addEventListener('change', handleRangeUpdate)); + +let mousedown = false; + +progress.addEventListener('click', scrub); +progress.addEventListener('mousemove', (e) => mousedown && scrub(e)); +progress.addEventListener('mousedown', function(){mousedown = true;}); +progress.addEventListener('mouseup', function(){mousedown = false;}); diff --git a/11-Custom-Video-Player/style.css b/11-Custom-Video-Player/style.css index 41fea5522c..3ce84cd1b1 100644 --- a/11-Custom-Video-Player/style.css +++ b/11-Custom-Video-Player/style.css @@ -89,7 +89,7 @@ body { width:50%; background:#ffc600; flex:0; - flex-basis:50%; + flex-basis:0%; } /* unholy css to style input type="range" */ From 92f84dd9dec001aa535ad42007069f16d418544b Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Sun, 25 Dec 2016 23:20:20 -0200 Subject: [PATCH 20/30] 11 with fullscreen feature --- 11-Custom-Video-Player/scripts.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/11-Custom-Video-Player/scripts.js b/11-Custom-Video-Player/scripts.js index 2ce24a25f6..04f885ec8d 100644 --- a/11-Custom-Video-Player/scripts.js +++ b/11-Custom-Video-Player/scripts.js @@ -42,10 +42,22 @@ function scrub(e) { video.currentTime = scrubTime; } +function fullscreen() { + if (video.requestFullscreen) { + video.requestFullscreen(); + } else if (video.mozRequestFullScreen) { + video.mozRequestFullScreen(); // Firefox + } else if (video.webkitRequestFullscreen) { + video.webkitRequestFullscreen(); // Chrome and Safari + } +}; + // Events video.addEventListener('click', playPauseVideo); toggle.addEventListener('click', playPauseVideo); +video.addEventListener('dblclick', fullscreen); + video.addEventListener('play', updateButton); video.addEventListener('pause', updateButton); video.addEventListener('timeupdate', handleProgress); From a93b431104d521eaae9d47352918a6d362f5006d Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Sun, 25 Dec 2016 23:34:22 -0200 Subject: [PATCH 21/30] =?UTF-8?q?12=20without=20watch=20the=20video=20?= =?UTF-8?q?=F0=9F=99=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index-FINISHED.html | 0 .../index-START.html | 7 +++++++ 2 files changed, 7 insertions(+) rename {12 - Key Sequence Detection => 12-Key-Sequence-Detection}/index-FINISHED.html (100%) rename {12 - Key Sequence Detection => 12-Key-Sequence-Detection}/index-START.html (61%) diff --git a/12 - Key Sequence Detection/index-FINISHED.html b/12-Key-Sequence-Detection/index-FINISHED.html similarity index 100% rename from 12 - Key Sequence Detection/index-FINISHED.html rename to 12-Key-Sequence-Detection/index-FINISHED.html diff --git a/12 - Key Sequence Detection/index-START.html b/12-Key-Sequence-Detection/index-START.html similarity index 61% rename from 12 - Key Sequence Detection/index-START.html rename to 12-Key-Sequence-Detection/index-START.html index 8cab786140..f368cd7030 100644 --- a/12 - Key Sequence Detection/index-START.html +++ b/12-Key-Sequence-Detection/index-START.html @@ -7,6 +7,13 @@ From 671b086552be0ffb08782711154d5230f4a891c1 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Mon, 26 Dec 2016 00:05:10 -0200 Subject: [PATCH 22/30] 12 add message if the sequence is equal --- 12-Key-Sequence-Detection/index-START.html | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/12-Key-Sequence-Detection/index-START.html b/12-Key-Sequence-Detection/index-START.html index f368cd7030..3cf0adf874 100644 --- a/12-Key-Sequence-Detection/index-START.html +++ b/12-Key-Sequence-Detection/index-START.html @@ -8,12 +8,18 @@ From 02c80f77895e49fffbde0677fce2b9f4cfb9f815 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Wed, 28 Dec 2016 17:05:24 -0200 Subject: [PATCH 23/30] Day 15 --- .../index-FINISHED.html | 0 .../index-START.html | 3 - .../index-FINISHED.html | 0 .../index-START.html | 41 ++++++++++++++ .../index-FINISHED.html | 0 .../index-START.html | 55 ++++++++++++++++++- .../style.css | 0 7 files changed, 93 insertions(+), 6 deletions(-) rename {13 - Slide in on Scroll => 13-Slide-in-on-Scroll}/index-FINISHED.html (100%) rename {13 - Slide in on Scroll => 13-Slide-in-on-Scroll}/index-START.html (99%) rename {14 - JavaScript References VS Copying => 14-JavaScript-References-VS-Copying}/index-FINISHED.html (100%) rename {14 - JavaScript References VS Copying => 14-JavaScript-References-VS-Copying}/index-START.html (56%) rename {15 - LocalStorage => 15-LocalStorage}/index-FINISHED.html (100%) rename {15 - LocalStorage => 15-LocalStorage}/index-START.html (61%) rename {15 - LocalStorage => 15-LocalStorage}/style.css (100%) diff --git a/13 - Slide in on Scroll/index-FINISHED.html b/13-Slide-in-on-Scroll/index-FINISHED.html similarity index 100% rename from 13 - Slide in on Scroll/index-FINISHED.html rename to 13-Slide-in-on-Scroll/index-FINISHED.html diff --git a/13 - Slide in on Scroll/index-START.html b/13-Slide-in-on-Scroll/index-START.html similarity index 99% rename from 13 - Slide in on Scroll/index-START.html rename to 13-Slide-in-on-Scroll/index-START.html index bbaf0b6f22..518910ec05 100644 --- a/13 - Slide in on Scroll/index-START.html +++ b/13-Slide-in-on-Scroll/index-START.html @@ -37,9 +37,6 @@

Slide in on Scroll

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Distinctio maiores adipisci quibusdam repudiandae dolor vero placeat esse sit! Quibusdam saepe aperiam explicabo placeat optio, consequuntur nihil voluptatibus expedita quia vero perferendis, deserunt et incidunt eveniet temporibus doloremque possimus facilis. Possimus labore, officia dolore! Eaque ratione saepe, alias harum laboriosam deserunt laudantium blanditiis eum explicabo placeat reiciendis labore iste sint. Consectetur expedita dignissimos, non quos distinctio, eos rerum facilis eligendi. Asperiores laudantium, rerum ratione consequatur, culpa consectetur possimus atque ab tempore illum non dolor nesciunt. Neque, rerum. A vel non incidunt, quod doloremque dignissimos necessitatibus aliquid laboriosam architecto at cupiditate commodi expedita in, quae blanditiis. Deserunt labore sequi, repellat laboriosam est, doloremque culpa reiciendis tempore excepturi. Enim nostrum fugit itaque vel corporis ullam sed tenetur ipsa qui rem quam error sint, libero. Laboriosam rem, ratione. Autem blanditiis laborum neque repudiandae quam, cumque, voluptate veritatis itaque, placeat veniam ad nisi. Expedita, laborum reprehenderit ratione soluta velit natus, odit mollitia. Corporis rerum minima fugiat in nostrum. Assumenda natus cupiditate hic quidem ex, quas, amet ipsum esse dolore facilis beatae maxime qui inventore, iste? Maiores dignissimos dolore culpa debitis voluptatem harum, excepturi enim reiciendis, tempora ab ipsam illum aspernatur quasi qui porro saepe iure sunt eligendi tenetur quaerat ducimus quas sequi omnis aperiam suscipit! Molestiae obcaecati officiis quo, ratione eveniet, provident pariatur. Veniam quasi expedita distinctio, itaque molestiae sequi, dolorum nisi repellendus quia facilis iusto dignissimos nam? Tenetur fugit quos autem nihil, perspiciatis expedita enim tempore, alias ab maiores quis necessitatibus distinctio molestias eum, quidem. Delectus impedit quidem laborum, fugit vel neque quo, ipsam, quasi aspernatur quas odio nihil? Veniam amet reiciendis blanditiis quis reprehenderit repudiandae neque, ab ducimus, odit excepturi voluptate saepe ipsam. Voluptatem eum error voluptas porro officiis, amet! Molestias, fugit, ut! Tempore non magnam, amet, facere ducimus accusantium eos veritatis neque.

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Distinctio maiores adipisci quibusdam repudiandae dolor vero placeat esse sit! Quibusdam saepe aperiam explicabo placeat optio, consequuntur nihil voluptatibus expedita quia vero perferendis, deserunt et incidunt eveniet temporibus doloremque possimus facilis. Possimus labore, officia dolore! Eaque ratione saepe, alias harum laboriosam deserunt laudantium blanditiis eum explicabo placeat reiciendis labore iste sint. Consectetur expedita dignissimos, non quos distinctio, eos rerum facilis eligendi. Asperiores laudantium, rerum ratione consequatur, culpa consectetur possimus atque ab tempore illum non dolor nesciunt. Neque, rerum. A vel non incidunt, quod doloremque dignissimos necessitatibus aliquid laboriosam architecto at cupiditate commodi expedita in, quae blanditiis. Deserunt labore sequi, repellat laboriosam est, doloremque culpa reiciendis tempore excepturi. Enim nostrum fugit itaque vel corporis ullam sed tenetur ipsa qui rem quam error sint, libero. Laboriosam rem, ratione. Autem blanditiis laborum neque repudiandae quam, cumque, voluptate veritatis itaque, placeat veniam ad nisi. Expedita, laborum reprehenderit ratione soluta velit natus, odit mollitia. Corporis rerum minima fugiat in nostrum. Assumenda natus cupiditate hic quidem ex, quas, amet ipsum esse dolore facilis beatae maxime qui inventore, iste? Maiores dignissimos dolore culpa debitis voluptatem harum, excepturi enim reiciendis, tempora ab ipsam illum aspernatur quasi qui porro saepe iure sunt eligendi tenetur quaerat ducimus quas sequi omnis aperiam suscipit! Molestiae obcaecati officiis quo, ratione eveniet, provident pariatur. Veniam quasi expedita distinctio, itaque molestiae sequi, dolorum nisi repellendus quia facilis iusto dignissimos nam? Tenetur fugit quos autem nihil, perspiciatis expedita enim tempore, alias ab maiores quis necessitatibus distinctio molestias eum, quidem. Delectus impedit quidem laborum, fugit vel neque quo, ipsam, quasi aspernatur quas odio nihil? Veniam amet reiciendis blanditiis quis reprehenderit repudiandae neque, ab ducimus, odit excepturi voluptate saepe ipsam. Voluptatem eum error voluptas porro officiis, amet! Molestias, fugit, ut! Tempore non magnam, amet, facere ducimus accusantium eos veritatis neque.

- - -
diff --git a/15 - LocalStorage/index-FINISHED.html b/15-LocalStorage/index-FINISHED.html similarity index 100% rename from 15 - LocalStorage/index-FINISHED.html rename to 15-LocalStorage/index-FINISHED.html diff --git a/15 - LocalStorage/index-START.html b/15-LocalStorage/index-START.html similarity index 61% rename from 15 - LocalStorage/index-START.html rename to 15-LocalStorage/index-START.html index d444f1d68b..af14aa134d 100644 --- a/15 - LocalStorage/index-START.html +++ b/15-LocalStorage/index-START.html @@ -28,11 +28,60 @@

LOCAL TAPAS

+ function addItem(e) { + // Prevent to the browser doenst reload the page + e.preventDefault(); + // select the input + const name = (this.querySelector('[name=item]')).value; + // create a object with the input value and the checkbox not selected + const item = { + name: name, + done: false + } + // every time that the user press the button, the information goes to items array + items.push(item); + populateList(items, itemsList); + + localStorage.setItem('items', JSON.stringify(items)); + + // This clear the input after submit the button + this.reset(); + // just show the array items + console.table(items); + } + + // plates is where we put the data, platesList is + function populateList(plates = [], platesList){ + platesList.innerHTML = plates.map((plate, i) => { + return ` +
  • + + +
  • + + ` + }).join(''); + } + function toggleDone(e) { + if(!e.target.matches('input')){ + return; + } else { + const el = e.target; + const index = el.dataset.index; + items[index].done = !items[index].done; + localStorage.setItem('items', JSON.stringify(items)); + populateList(items, itemsList); + } + } + addItems.addEventListener('submit', addItem); + itemsList.addEventListener('click', toggleDone); + + populateList(items, itemsList) + + - diff --git a/15 - LocalStorage/style.css b/15-LocalStorage/style.css similarity index 100% rename from 15 - LocalStorage/style.css rename to 15-LocalStorage/style.css From 36b4da0e37dcedeb311c99c00572ab78f690571b Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Wed, 28 Dec 2016 18:14:49 -0200 Subject: [PATCH 24/30] Day 16 --- .../index-start.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) rename {16 - Mouse Move Shadow => 16-Mouse-Move-Shadow}/index-start.html (82%) diff --git a/16 - Mouse Move Shadow/index-start.html b/16-Mouse-Move-Shadow/index-start.html similarity index 82% rename from 16 - Mouse Move Shadow/index-start.html rename to 16-Mouse-Move-Shadow/index-start.html index 4328eaf6ab..17d67dd57c 100644 --- a/16 - Mouse Move Shadow/index-start.html +++ b/16-Mouse-Move-Shadow/index-start.html @@ -49,10 +49,10 @@

    🔥WOAH!

    const yWalk = Math.round((y / height * walk) - (walk / 2)); text.style.textShadow = ` - ${xWalk}px ${yWalk}px 0 rgba(255,0,255,0.7), - ${xWalk * -1}px ${yWalk}px 0 rgba(0,255,255,0.7), - ${yWalk}px ${xWalk * -1}px 0 rgba(0,255,0,0.7), - ${yWalk * -1}px ${xWalk}px 0 rgba(0,0,255,0.7) + ${xWalk}px ${yWalk}px 10px rgba(255,0,255,0.7), + ${xWalk * -1}px ${yWalk}px 10px rgba(0,255,255,0.7), + ${yWalk}px ${xWalk * -1}px 10px rgba(0,255,0,0.7), + ${yWalk * -1}px ${xWalk}px 10px rgba(0,0,255,0.7) `; } From 98a3d2f4df034311dd902cba2905110f8dfa3441 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Thu, 29 Dec 2016 10:13:39 -0200 Subject: [PATCH 25/30] 17 and 18 --- .../index-FINISHED.html | 0 .../index-START.html | 22 ++++++++++++++++++- .../index-FINISHED.html | 0 .../index-START.html | 20 ++++++++++++++++- 4 files changed, 40 insertions(+), 2 deletions(-) rename {17 - Sort Without Articles => 17-Sort-Without-Articles}/index-FINISHED.html (100%) rename {17 - Sort Without Articles => 17-Sort-Without-Articles}/index-START.html (70%) rename {18 - Adding Up Times with Reduce => 18-Adding-Up-Times-with-Reduce}/index-FINISHED.html (100%) rename {18 - Adding Up Times with Reduce => 18-Adding-Up-Times-with-Reduce}/index-START.html (83%) diff --git a/17 - Sort Without Articles/index-FINISHED.html b/17-Sort-Without-Articles/index-FINISHED.html similarity index 100% rename from 17 - Sort Without Articles/index-FINISHED.html rename to 17-Sort-Without-Articles/index-FINISHED.html diff --git a/17 - Sort Without Articles/index-START.html b/17-Sort-Without-Articles/index-START.html similarity index 70% rename from 17 - Sort Without Articles/index-START.html rename to 17-Sort-Without-Articles/index-START.html index cfaf3e0440..a2ef6cbfd6 100644 --- a/17 - Sort Without Articles/index-START.html +++ b/17-Sort-Without-Articles/index-START.html @@ -40,11 +40,31 @@ -
      +
        + +
      diff --git a/18 - Adding Up Times with Reduce/index-FINISHED.html b/18-Adding-Up-Times-with-Reduce/index-FINISHED.html similarity index 100% rename from 18 - Adding Up Times with Reduce/index-FINISHED.html rename to 18-Adding-Up-Times-with-Reduce/index-FINISHED.html diff --git a/18 - Adding Up Times with Reduce/index-START.html b/18-Adding-Up-Times-with-Reduce/index-START.html similarity index 83% rename from 18 - Adding Up Times with Reduce/index-START.html rename to 18-Adding-Up-Times-with-Reduce/index-START.html index 3eaee0f3ef..c45b9b6bae 100644 --- a/18 - Adding Up Times with Reduce/index-START.html +++ b/18-Adding-Up-Times-with-Reduce/index-START.html @@ -177,11 +177,29 @@
    • Video 57
    • -
    • +
    • Video 58
    • From cb7aff09f12b7ac70fad8dc0790c2a42dc0f4f13 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Mon, 2 Jan 2017 14:36:02 -0200 Subject: [PATCH 26/30] =?UTF-8?q?19=20=F0=9F=93=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 19 - Webcam Fun/scripts.js | 5 -- {19 - Webcam Fun => 19-Webcam-Fun}/index.html | 4 +- .../package.json | 0 .../scripts-FINISHED.js | 0 19-Webcam-Fun/scripts.js | 69 +++++++++++++++++++ {19 - Webcam Fun => 19-Webcam-Fun}/style.css | 0 6 files changed, 71 insertions(+), 7 deletions(-) delete mode 100644 19 - Webcam Fun/scripts.js rename {19 - Webcam Fun => 19-Webcam-Fun}/index.html (96%) rename {19 - Webcam Fun => 19-Webcam-Fun}/package.json (100%) rename {19 - Webcam Fun => 19-Webcam-Fun}/scripts-FINISHED.js (100%) create mode 100644 19-Webcam-Fun/scripts.js rename {19 - Webcam Fun => 19-Webcam-Fun}/style.css (100%) diff --git a/19 - Webcam Fun/scripts.js b/19 - Webcam Fun/scripts.js deleted file mode 100644 index 00355f5a9c..0000000000 --- a/19 - Webcam Fun/scripts.js +++ /dev/null @@ -1,5 +0,0 @@ -const video = document.querySelector('.player'); -const canvas = document.querySelector('.photo'); -const ctx = canvas.getContext('2d'); -const strip = document.querySelector('.strip'); -const snap = document.querySelector('.snap'); diff --git a/19 - Webcam Fun/index.html b/19-Webcam-Fun/index.html similarity index 96% rename from 19 - Webcam Fun/index.html rename to 19-Webcam-Fun/index.html index d4ffc4dc2a..cb2d1b18a4 100755 --- a/19 - Webcam Fun/index.html +++ b/19-Webcam-Fun/index.html @@ -10,7 +10,7 @@
      - +
      diff --git a/19 - Webcam Fun/package.json b/19-Webcam-Fun/package.json similarity index 100% rename from 19 - Webcam Fun/package.json rename to 19-Webcam-Fun/package.json diff --git a/19 - Webcam Fun/scripts-FINISHED.js b/19-Webcam-Fun/scripts-FINISHED.js similarity index 100% rename from 19 - Webcam Fun/scripts-FINISHED.js rename to 19-Webcam-Fun/scripts-FINISHED.js diff --git a/19-Webcam-Fun/scripts.js b/19-Webcam-Fun/scripts.js new file mode 100644 index 0000000000..963276cdb4 --- /dev/null +++ b/19-Webcam-Fun/scripts.js @@ -0,0 +1,69 @@ +const video = document.querySelector('.player'); +const canvas = document.querySelector('.photo'); +const ctx = canvas.getContext('2d'); +const strip = document.querySelector('.strip'); +const snap = document.querySelector('.snap'); + +function getVideo() { + navigator.mediaDevices.getUserMedia({ video: true, audio: false }) + .then(localMediaStream => { + console.log(localMediaStream); + video.src = window.URL.createObjectURL(localMediaStream); + video.play(); + }) + .catch(err => { + console.error('eita', err); + }) +} + +function paintToCanvas() { + const width = video.videoWidth; + const height = video.videoHeight; + canvas.width = width; + canvas.height = height; + // console.log(width, height); + + return setInterval(() => { + ctx.drawImage(video, 0, 0, width, height); + let pixels = ctx.getImageData(0 ,0 , width, height); + // console.log(pixels); + // pixels = redEffect(pixels); + pixels = rgbSplit(pixels); + ctx.putImageData(pixels, 0, 0); + }, 16) +} + +function takePhoto() { + snap.currentTime = 0; + snap.play(); + + const data = canvas.toDataURL('image/jpeg'); + const link = document.createElement('a'); + link.href = data; + link.setAttribute('download', 'handsome'); + link.textContent = 'Download Image'; + link.innerHTML = ``; + strip.insertBefore(link, strip.firsChild); +} + +function redEffect(pixels) { + for(let i = 0; i < pixels.data.length; i+=4) { + pixels.data[i + 0] = pixels.data[i + 0] + 200; // RED + pixels.data[i + 1] = pixels.data[i + 1] - 50; // GREEN + pixels.data[i + 2] = pixels.data[i + 2] * 0.5; // Blue + } + return pixels; +} + +function rgbSplit(pixels) { + for(let i = 0; i < pixels.data.length; i+=4) { + pixels.data[i - 150] = pixels.data[i + 0]; // RED + pixels.data[i + 500] = pixels.data[i + 1]; // GREEN + pixels.data[i - 550] = pixels.data[i + 2]; // Blue + } + return pixels; +} + +getVideo(); + +video.addEventListener('canplay', paintToCanvas); diff --git a/19 - Webcam Fun/style.css b/19-Webcam-Fun/style.css similarity index 100% rename from 19 - Webcam Fun/style.css rename to 19-Webcam-Fun/style.css From 9dc272973a282ba549e269c751f136982d0e4dfe Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Mon, 2 Jan 2017 17:56:13 -0200 Subject: [PATCH 27/30] 22 --- .../index-FINISHED.html | 0 .../index-START.html | 0 {21 - Geolocation => 21-Geolocation}/package.json | 0 .../index-FINISHED.html | 0 .../index-START.html | 13 +++++++++++-- .../style.css | 3 ++- 6 files changed, 13 insertions(+), 3 deletions(-) rename {21 - Geolocation => 21-Geolocation}/index-FINISHED.html (100%) rename {21 - Geolocation => 21-Geolocation}/index-START.html (100%) rename {21 - Geolocation => 21-Geolocation}/package.json (100%) rename {22 - Follow Along Link Highlighter => 22-Follow-Along-Link-Highlighter}/index-FINISHED.html (100%) rename {22 - Follow Along Link Highlighter => 22-Follow-Along-Link-Highlighter}/index-START.html (76%) rename {22 - Follow Along Link Highlighter => 22-Follow-Along-Link-Highlighter}/style.css (93%) diff --git a/21 - Geolocation/index-FINISHED.html b/21-Geolocation/index-FINISHED.html similarity index 100% rename from 21 - Geolocation/index-FINISHED.html rename to 21-Geolocation/index-FINISHED.html diff --git a/21 - Geolocation/index-START.html b/21-Geolocation/index-START.html similarity index 100% rename from 21 - Geolocation/index-START.html rename to 21-Geolocation/index-START.html diff --git a/21 - Geolocation/package.json b/21-Geolocation/package.json similarity index 100% rename from 21 - Geolocation/package.json rename to 21-Geolocation/package.json diff --git a/22 - Follow Along Link Highlighter/index-FINISHED.html b/22-Follow-Along-Link-Highlighter/index-FINISHED.html similarity index 100% rename from 22 - Follow Along Link Highlighter/index-FINISHED.html rename to 22-Follow-Along-Link-Highlighter/index-FINISHED.html diff --git a/22 - Follow Along Link Highlighter/index-START.html b/22-Follow-Along-Link-Highlighter/index-START.html similarity index 76% rename from 22 - Follow Along Link Highlighter/index-START.html rename to 22-Follow-Along-Link-Highlighter/index-START.html index 8476112b5e..fda92bac54 100644 --- a/22 - Follow Along Link Highlighter/index-START.html +++ b/22-Follow-Along-Link-Highlighter/index-START.html @@ -24,10 +24,19 @@

      Esse quibusdam, ad, ducimus cupiditate nulla, quae magni odit totam ut consequatur eveniet sunt quam provident sapiente dicta neque quod.

      Aliquam dicta sequi culpa fugiat consequuntur pariatur optio ad minima, maxime odio, distinctio magni impedit tempore enim repellendus repudiandae quas!

      - + - diff --git a/22 - Follow Along Link Highlighter/style.css b/22-Follow-Along-Link-Highlighter/style.css similarity index 93% rename from 22 - Follow Along Link Highlighter/style.css rename to 22-Follow-Along-Link-Highlighter/style.css index e1c51e8c12..099b6b0423 100644 --- a/22 - Follow Along Link Highlighter/style.css +++ b/22-Follow-Along-Link-Highlighter/style.css @@ -40,7 +40,8 @@ a { z-index: -1; border-radius:20px; display: block; - box-shadow: 0 0 10px rgba(0,0,0,0.2) + box-shadow: 0 0 10px rgba(0,0,0,0.2); + /*transform: translate(0, -50px);*/ } .menu { From 3433a527ce448415c1919543536cb56e2eb041b2 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Mon, 2 Jan 2017 18:00:46 -0200 Subject: [PATCH 28/30] 22 done without watch the video --- 22-Follow-Along-Link-Highlighter/index-START.html | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/22-Follow-Along-Link-Highlighter/index-START.html b/22-Follow-Along-Link-Highlighter/index-START.html index fda92bac54..2b44329b5e 100644 --- a/22-Follow-Along-Link-Highlighter/index-START.html +++ b/22-Follow-Along-Link-Highlighter/index-START.html @@ -26,15 +26,13 @@ From a48aed64cc31d6c9d79c6eacd6b6c776bb37a7e0 Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Tue, 3 Jan 2017 18:58:38 -0200 Subject: [PATCH 29/30] 26 start --- .../index-FINISHED.html | 0 .../index-START.html | 37 +- .../style.css | 1 + .../index-FINISHED.html | 0 .../index-START.html | 0 .../style-FINISHED.css | 0 .../style-START.css | 0 .../index-FINISHED.html | 4 +- .../index-START.html | 0 .../index-FINISHED.html | 0 .../index-START.html | 14 + package.json | 14 + yarn.lock | 1878 +++++++++++++++++ 13 files changed, 1945 insertions(+), 3 deletions(-) rename {23 - Speech Synthesis => 23-Speech-Synthesis}/index-FINISHED.html (100%) rename {23 - Speech Synthesis => 23-Speech-Synthesis}/index-START.html (51%) rename {23 - Speech Synthesis => 23-Speech-Synthesis}/style.css (99%) rename {24 - Sticky Nav => 24-Sticky-Nav}/index-FINISHED.html (100%) rename {24 - Sticky Nav => 24-Sticky-Nav}/index-START.html (100%) rename {24 - Sticky Nav => 24-Sticky-Nav}/style-FINISHED.css (100%) rename {24 - Sticky Nav => 24-Sticky-Nav}/style-START.css (100%) rename {25 - Event Capture, Propagation, Bubbling and Once => 25-EventCapture-Propagation-Bubbling-and-Once}/index-FINISHED.html (94%) rename {25 - Event Capture, Propagation, Bubbling and Once => 25-EventCapture-Propagation-Bubbling-and-Once}/index-START.html (100%) rename {26 - Stripe Follow Along Nav => 26-Stripe-Follow-Along-Nav}/index-FINISHED.html (100%) rename {26 - Stripe Follow Along Nav => 26-Stripe-Follow-Along-Nav}/index-START.html (93%) create mode 100755 package.json create mode 100644 yarn.lock diff --git a/23 - Speech Synthesis/index-FINISHED.html b/23-Speech-Synthesis/index-FINISHED.html similarity index 100% rename from 23 - Speech Synthesis/index-FINISHED.html rename to 23-Speech-Synthesis/index-FINISHED.html diff --git a/23 - Speech Synthesis/index-START.html b/23-Speech-Synthesis/index-START.html similarity index 51% rename from 23 - Speech Synthesis/index-START.html rename to 23-Speech-Synthesis/index-START.html index e890008d36..da7bf43c4b 100644 --- a/23 - Speech Synthesis/index-START.html +++ b/23-Speech-Synthesis/index-START.html @@ -22,7 +22,7 @@

      The Voiceinator 5000

      - + @@ -35,6 +35,41 @@

      The Voiceinator 5000

      const options = document.querySelectorAll('[type="range"], [name="text"]'); const speakButton = document.querySelector('#speak'); const stopButton = document.querySelector('#stop'); + msg.text = document.querySelector('[name="text"]').value; + + function populateVoices() { + voices = this.getVoices(); + + voicesDropdown.innerHTML = voices + .filter(voice => voice.lang.includes('pt-BR')) + .map(voice => ``) + .join('') + } + + function setVoice() { + msg.voice = voices.find(voice => voice.name === this.value); + console.log(msg.voice); + toggle(); + } + + function toggle(startOver = true) { + speechSynthesis.cancel(); + if(startOver) { + speechSynthesis.speak(msg); + } + } + + function setOption() { + console.log(this.name, this.value); + msg[this.name] = this.value; + toggle(); + } + + speechSynthesis.addEventListener('voiceschanged', populateVoices); + voicesDropdown.addEventListener('change', setVoice); + options.forEach(option => option.addEventListener('change', setOption)); + speakButton.addEventListener('click', toggle); + stopButton.addEventListener('click', () => toggle(false) ); diff --git a/23 - Speech Synthesis/style.css b/23-Speech-Synthesis/style.css similarity index 99% rename from 23 - Speech Synthesis/style.css rename to 23-Speech-Synthesis/style.css index 0e44fd0522..1fd0f96c1d 100644 --- a/23 - Speech Synthesis/style.css +++ b/23-Speech-Synthesis/style.css @@ -70,6 +70,7 @@ h1 { textarea { height: 20rem; + resize: none; } input[type="select"] { diff --git a/24 - Sticky Nav/index-FINISHED.html b/24-Sticky-Nav/index-FINISHED.html similarity index 100% rename from 24 - Sticky Nav/index-FINISHED.html rename to 24-Sticky-Nav/index-FINISHED.html diff --git a/24 - Sticky Nav/index-START.html b/24-Sticky-Nav/index-START.html similarity index 100% rename from 24 - Sticky Nav/index-START.html rename to 24-Sticky-Nav/index-START.html diff --git a/24 - Sticky Nav/style-FINISHED.css b/24-Sticky-Nav/style-FINISHED.css similarity index 100% rename from 24 - Sticky Nav/style-FINISHED.css rename to 24-Sticky-Nav/style-FINISHED.css diff --git a/24 - Sticky Nav/style-START.css b/24-Sticky-Nav/style-START.css similarity index 100% rename from 24 - Sticky Nav/style-START.css rename to 24-Sticky-Nav/style-START.css diff --git a/25 - Event Capture, Propagation, Bubbling and Once/index-FINISHED.html b/25-EventCapture-Propagation-Bubbling-and-Once/index-FINISHED.html similarity index 94% rename from 25 - Event Capture, Propagation, Bubbling and Once/index-FINISHED.html rename to 25-EventCapture-Propagation-Bubbling-and-Once/index-FINISHED.html index 8856df9d89..cddb1290de 100644 --- a/25 - Event Capture, Propagation, Bubbling and Once/index-FINISHED.html +++ b/25-EventCapture-Propagation-Bubbling-and-Once/index-FINISHED.html @@ -44,13 +44,13 @@ function logText(e) { console.log(this.classList.value); - // e.stopPropagation(); // stop bubbling! + e.stopPropagation(); // stop bubbling! // console.log(this); } divs.forEach(div => div.addEventListener('click', logText, { capture: false, - once: true + once: false })); button.addEventListener('click', () => { diff --git a/25 - Event Capture, Propagation, Bubbling and Once/index-START.html b/25-EventCapture-Propagation-Bubbling-and-Once/index-START.html similarity index 100% rename from 25 - Event Capture, Propagation, Bubbling and Once/index-START.html rename to 25-EventCapture-Propagation-Bubbling-and-Once/index-START.html diff --git a/26 - Stripe Follow Along Nav/index-FINISHED.html b/26-Stripe-Follow-Along-Nav/index-FINISHED.html similarity index 100% rename from 26 - Stripe Follow Along Nav/index-FINISHED.html rename to 26-Stripe-Follow-Along-Nav/index-FINISHED.html diff --git a/26 - Stripe Follow Along Nav/index-START.html b/26-Stripe-Follow-Along-Nav/index-START.html similarity index 93% rename from 26 - Stripe Follow Along Nav/index-START.html rename to 26-Stripe-Follow-Along-Nav/index-START.html index 9780d0d1ac..17c5f7b69a 100644 --- a/26 - Stripe Follow Along Nav/index-START.html +++ b/26-Stripe-Follow-Along-Nav/index-START.html @@ -208,6 +208,20 @@

      Cool

      diff --git a/package.json b/package.json new file mode 100755 index 0000000000..1cfdba7b9b --- /dev/null +++ b/package.json @@ -0,0 +1,14 @@ +{ + "name": "gum", + "version": "1.0.0", + "description": "", + "main": "scripts.js", + "scripts": { + "start": "browser-sync start --directory --server --files '**/*.css, **/*.html, **/*.js'" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "browser-sync": "^2.12.5" + } +} diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000000..3dc7162b7d --- /dev/null +++ b/yarn.lock @@ -0,0 +1,1878 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 +abbrev@1: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + +accepts@~1.3.3, accepts@1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" + dependencies: + mime-types "~2.1.11" + negotiator "0.6.1" + +acorn-jsx@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn-object-spread@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz#48ead0f4a8eb16995a17a0db9ffc6acaada4ba68" + dependencies: + acorn "^3.1.0" + +acorn@^3.0.4, acorn@^3.1.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +after@0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.1.tgz#ab5d4fb883f596816d3515f8f791c0af486dd627" + +ansi-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.0.0.tgz#c5061b6e0ef8a81775e50f5d66151bf6bf371107" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +anymatch@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" + dependencies: + arrify "^1.0.0" + micromatch "^2.1.5" + +aproba@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + +are-we-there-yet@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz#80e470e95a084794fe1899262c5667c6e88de1b3" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.0 || ^1.1.13" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.1.tgz#e5ffe54d45e19f32f216e91eb99c8ce892bb604b" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arraybuffer.slice@0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +async-each-series@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws4@^1.2.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.5.0.tgz#0a29ffb79c31c9e712eeb087e8e7a64b4a56d755" + +backo2@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + +balanced-match@^0.4.1: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +base64-arraybuffer@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" + +base64id@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-0.1.0.tgz#02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f" + +batch@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464" + +bcrypt-pbkdf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz#3ca76b85241c7170bf7d9703e7b9aa74630040d4" + dependencies: + tweetnacl "^0.14.3" + +better-assert@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" + dependencies: + callsite "1.0.0" + +binary-extensions@^1.0.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" + +blob@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.0.0: + version "1.1.6" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9" + dependencies: + balanced-match "^0.4.1" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +browser-sync-client@2.4.4: + version "2.4.4" + resolved "https://registry.yarnpkg.com/browser-sync-client/-/browser-sync-client-2.4.4.tgz#e2a6c27f770e0ad0ffed76964dfb6a971fcf55eb" + dependencies: + etag "^1.7.0" + fresh "^0.3.0" + +browser-sync-ui@0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-0.6.2.tgz#9e7994004d463e55a024bdd149583b11ad8f87f3" + dependencies: + async-each-series "0.1.1" + connect-history-api-fallback "^1.1.0" + immutable "^3.7.6" + server-destroy "1.0.1" + stream-throttle "^0.1.3" + weinre "^2.0.0-pre-I0Z7U9OV" + +browser-sync@^2.12.5: + version "2.18.5" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.18.5.tgz#c04b10037289df5157a363d42100069d77e744e9" + dependencies: + browser-sync-client "2.4.4" + browser-sync-ui "0.6.2" + bs-recipes "1.3.2" + chokidar "1.6.1" + connect "3.5.0" + dev-ip "^1.0.1" + easy-extender "2.3.2" + eazy-logger "3.0.2" + emitter-steward "^1.0.0" + fs-extra "1.0.0" + http-proxy "1.15.2" + immutable "3.8.1" + localtunnel "1.8.2" + micromatch "2.3.11" + opn "4.0.2" + portscanner "2.1.1" + qs "6.2.1" + resp-modifier "6.0.2" + rx "4.1.0" + serve-index "1.8.0" + serve-static "1.11.1" + server-destroy "1.0.1" + socket.io "1.6.0" + socket.io-client "1.6.0" + ua-parser-js "0.7.12" + yargs "6.4.0" + +bs-recipes@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.2.tgz#aebff3bfc9dca4cab3c2938d91e43473cf41b6c1" + +buble@^0.12.0: + version "0.12.5" + resolved "https://registry.yarnpkg.com/buble/-/buble-0.12.5.tgz#c66ffe92f9f4a3c65d3256079b711e2bd0bc5013" + dependencies: + acorn "^3.1.0" + acorn-jsx "^3.0.1" + acorn-object-spread "^1.0.0" + chalk "^1.1.3" + magic-string "^0.14.0" + minimist "^1.2.0" + os-homedir "^1.0.1" + +bubleify@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/bubleify/-/bubleify-0.5.1.tgz#f65c47cee31b80cad8b9e747bbe187d7fe51e927" + dependencies: + buble "^0.12.0" + object-assign "^4.0.1" + +buffer-shims@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +callsite@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" + +camelcase@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + +chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chokidar@1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +cliui@^3.0.3, cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@^2.2.0, commander@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + +component-bind@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + +component-emitter@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" + +component-emitter@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +component-inherit@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +connect-history-api-fallback@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169" + +connect@1.x: + version "1.9.2" + resolved "https://registry.yarnpkg.com/connect/-/connect-1.9.2.tgz#42880a22e9438ae59a8add74e437f58ae8e52807" + dependencies: + formidable "1.0.x" + mime ">= 0.0.1" + qs ">= 0.4.0" + +connect@3.5.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.0.tgz#b357525a0b4c1f50599cd983e1d9efeea9677198" + dependencies: + debug "~2.2.0" + finalhandler "0.5.0" + parseurl "~1.3.1" + utils-merge "1.0.0" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +debug@^2.2.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" + dependencies: + ms "0.7.2" + +debug@~2.2.0, debug@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +debug@2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" + dependencies: + ms "0.7.2" + +decamelize@^1.0.0, decamelize@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +deep-extend@~0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.1.tgz#efe4113d08085f4e6f9687759810f807469e2253" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +dev-ip@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" + +easy-extender@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.2.tgz#3d3248febe2b159607316d8f9cf491c16648221d" + dependencies: + lodash "^3.10.1" + +eazy-logger@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.0.2.tgz#a325aa5e53d13a2225889b2ac4113b2b9636f4fc" + dependencies: + tfunk "^3.0.1" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +emitter-steward@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/emitter-steward/-/emitter-steward-1.0.0.tgz#f3411ade9758a7565df848b2da0cbbd1b46cbd64" + +encodeurl@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + +engine.io-client@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.0.tgz#7b730e4127414087596d9be3c88d2bc5fdb6cf5c" + dependencies: + component-emitter "1.2.1" + component-inherit "0.0.3" + debug "2.3.3" + engine.io-parser "1.3.1" + has-cors "1.1.0" + indexof "0.0.1" + parsejson "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + ws "1.1.1" + xmlhttprequest-ssl "1.5.3" + yeast "0.1.2" + +engine.io-parser@1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.1.tgz#9554f1ae33107d6fbd170ca5466d2f833f6a07cf" + dependencies: + after "0.8.1" + arraybuffer.slice "0.0.6" + base64-arraybuffer "0.1.5" + blob "0.0.4" + has-binary "0.1.6" + wtf-8 "1.0.0" + +engine.io@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.0.tgz#3eeb5f264cb75dbbec1baaea26d61f5a4eace2aa" + dependencies: + accepts "1.3.3" + base64id "0.1.0" + cookie "0.3.1" + debug "2.3.3" + engine.io-parser "1.3.1" + ws "1.1.1" + +error-ex@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.0.tgz#e67b43f3e82c96ea3a584ffee0b9fc3325d802d9" + dependencies: + is-arrayish "^0.2.1" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +etag@^1.7.0, etag@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.7.0.tgz#03d30b5f67dd6e632d2945d30d6652731a34d5d8" + +eventemitter3@1.x.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +express@2.5.x: + version "2.5.11" + resolved "https://registry.yarnpkg.com/express/-/express-2.5.11.tgz#4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0" + dependencies: + connect "1.x" + mime "1.2.4" + mkdirp "0.3.0" + qs "0.4.x" + +extend@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.0.tgz#5a474353b9f3353ddd8176dfd37b91c83a46f1d4" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" + +filename-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +finalhandler@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7" + dependencies: + debug "~2.2.0" + escape-html "~1.0.3" + on-finished "~2.3.0" + statuses "~1.3.0" + unpipe "~1.0.0" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +for-in@^0.1.5: + version "0.1.6" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" + +for-own@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" + dependencies: + for-in "^0.1.5" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.2.tgz#89c3534008b97eada4cbb157d58f6f5df025eae4" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +formidable@1.0.x: + version "1.0.17" + resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.17.tgz#ef5491490f9433b705faa77249c99029ae348559" + +fresh@^0.3.0, fresh@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.3.0.tgz#651f838e22424e7566de161d8358caa199f83d4f" + +fs-extra@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0: + version "1.0.15" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.29" + +fstream-ignore@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.2, fstream@~1.0.10: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.10.tgz#604e8a92fe26ffd9f6fae30399d4984e1ab22822" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +gauge@~2.7.1: + version "2.7.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.2.tgz#15cecc31b02d05345a5d6b0e171cdb3ad2307774" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + supports-color "^0.2.0" + wide-align "^1.1.0" + +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +getpass@^0.1.1: + version "0.1.6" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.6.tgz#283ffd9fc1256840875311c1b60e8c40187110e6" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@^7.0.5: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-binary@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.6.tgz#25326f39cfa4f616ad8787894e3af2cfbc7b6e10" + dependencies: + isarray "0.0.1" + +has-binary@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" + dependencies: + isarray "0.0.1" + +has-cors@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +hosted-git-info@^2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + +http-errors@~1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" + dependencies: + inherits "2.0.3" + setprototypeof "1.0.2" + statuses ">= 1.3.1 < 2" + +http-proxy@1.15.2: + version "1.15.2" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31" + dependencies: + eventemitter3 "1.x.x" + requires-port "1.x.x" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +immutable@^3.7.6, immutable@3.8.1: + version "3.8.1" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.1.tgz#200807f11ab0f72710ea485542de088075f68cd2" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@2, inherits@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +ini@~1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.0.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.4.tgz#cfc86ccd5dc5a52fa80489111c6920c457e2d98b" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-dotfile@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.2.tgz#2c132383f39199f8edc268ca01b9b007d205cc4d" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-my-json-valid@^2.12.4: + version "2.15.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz#936edda3ca3c211fd98f3b2d3e08da43f7b2915b" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + +is-number-like@^1.0.3: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.7.tgz#a38d6b0fd2cd4282449128859eed86c03fd23552" + dependencies: + bubleify "^0.5.1" + lodash.isfinite "^3.3.2" + +is-number@^2.0.2, is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +isarray@~1.0.0, isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +jodid25519@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" + dependencies: + jsbn "~0.1.0" + +jsbn@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json3@3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + +jsprim@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.3.1.tgz#2a7256f70412a29ee3670aaca625994c4dcff252" + dependencies: + extsprintf "1.0.2" + json-schema "0.2.3" + verror "1.3.6" + +kind-of@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" + dependencies: + is-buffer "^1.0.2" + +klaw@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +limiter@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.0.tgz#6e2bd12ca3fcdaa11f224e2e53c896df3f08d913" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +localtunnel@1.8.2: + version "1.8.2" + resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.8.2.tgz#913051e8328b51f75ad8a22ad1f5c5b8c599a359" + dependencies: + debug "2.2.0" + openurl "1.1.0" + request "2.78.0" + yargs "3.29.0" + +lodash.isfinite@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" + +lodash@^3.10.1: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + +magic-string@^0.14.0: + version "0.14.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.14.0.tgz#57224aef1701caeed273b17a39a956e72b172462" + dependencies: + vlq "^0.2.1" + +micromatch@^2.1.5, micromatch@2.3.11: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +mime-db@~1.25.0: + version "1.25.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392" + +mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.7: + version "2.1.13" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88" + dependencies: + mime-db "~1.25.0" + +"mime@>= 0.0.1", mime@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" + +mime@1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.4.tgz#11b5fdaf29c2509255176b80ad520294f5de92b7" + +minimatch@^3.0.0, minimatch@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774" + dependencies: + brace-expansion "^1.0.0" + +minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +"mkdirp@>=0.5 0", mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mkdirp@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" + +nan@^2.3.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.5.0.tgz#aa8f1e34531d807e9e27755b234b4a6ec0c152a8" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +node-pre-gyp@^0.6.29: + version "0.6.32" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz#fc452b376e7319b3d255f5f34853ef6fd8fe1fd5" + dependencies: + mkdirp "~0.5.1" + nopt "~3.0.6" + npmlog "^4.0.1" + rc "~1.1.6" + request "^2.79.0" + rimraf "~2.5.4" + semver "~5.3.0" + tar "~2.2.1" + tar-pack "~3.3.0" + +node-uuid@~1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" + +nopt@~3.0.6, nopt@3.0.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +normalize-package-data@^2.3.2: + version "2.3.5" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.5.tgz#8d924f142960e1777e7ffe170543631cc7cb02df" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.0.1.tgz#47886ac1662760d4261b7d979d241709d3ce3f7a" + +npmlog@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.1" + set-blocking "~2.0.0" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" + +object-component@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" + +object-path@^0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +openurl@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.0.tgz#e2f2189d999c04823201f083f0f1a7cd8903187a" + +opn@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +options@>=0.0.5: + version "0.0.6" + resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" + +os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parsejson@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab" + dependencies: + better-assert "~1.0.0" + +parseqs@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" + dependencies: + better-assert "~1.0.0" + +parseuri@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" + dependencies: + better-assert "~1.0.0" + +parseurl@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +portscanner@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96" + dependencies: + async "1.5.2" + is-number-like "^1.0.3" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +"qs@>= 0.4.0", qs@~6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.0.tgz#f403b264f23bc01228c74131b407f18d5ea5d442" + +qs@0.4.x: + version "0.4.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-0.4.2.tgz#3cac4c861e371a8c9c4770ac23cda8de639b8e5f" + +qs@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" + +randomatic@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" + dependencies: + is-number "^2.0.2" + kind-of "^3.0.2" + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +rc@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.1.6.tgz#43651b76b6ae53b5c802f1151fa3fc3b059969c9" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~1.0.4" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +"readable-stream@^2.0.0 || ^1.1.13", readable-stream@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.2.tgz#a9e6fec3c7dda85f8bb1b3ba7028604556fc825e" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readable-stream@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +regex-cache@^0.4.2: + version "0.4.3" + resolved "http://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145" + dependencies: + is-equal-shallow "^0.1.3" + is-primitive "^2.0.0" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +request@^2.79.0: + version "2.79.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + uuid "^3.0.0" + +request@2.78.0: + version "2.78.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.1" + qs "~6.3.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +requires-port@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + +resp-modifier@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f" + dependencies: + debug "^2.2.0" + minimatch "^3.0.2" + +rimraf@~2.5.1, rimraf@~2.5.4, rimraf@2: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + +rx@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + +semver@~5.3.0, "semver@2 || 3 || 4 || 5": + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +send@0.14.1: + version "0.14.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.14.1.tgz#a954984325392f51532a7760760e459598c89f7a" + dependencies: + debug "~2.2.0" + depd "~1.1.0" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.7.0" + fresh "0.3.0" + http-errors "~1.5.0" + mime "1.3.4" + ms "0.7.1" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.0" + +serve-index@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b" + dependencies: + accepts "~1.3.3" + batch "0.5.3" + debug "~2.2.0" + escape-html "~1.0.3" + http-errors "~1.5.0" + mime-types "~2.1.11" + parseurl "~1.3.1" + +serve-static@1.11.1: + version "1.11.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.11.1.tgz#d6cce7693505f733c759de57befc1af76c0f0805" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.1" + send "0.14.1" + +server-destroy@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +setprototypeof@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +socket.io-adapter@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b" + dependencies: + debug "2.3.3" + socket.io-parser "2.3.1" + +socket.io-client@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.6.0.tgz#5b668f4f771304dfeed179064708386fa6717853" + dependencies: + backo2 "1.0.2" + component-bind "1.0.0" + component-emitter "1.2.1" + debug "2.3.3" + engine.io-client "1.8.0" + has-binary "0.1.7" + indexof "0.0.1" + object-component "0.0.3" + parseuri "0.0.5" + socket.io-parser "2.3.1" + to-array "0.1.4" + +socket.io-parser@2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0" + dependencies: + component-emitter "1.1.2" + debug "2.2.0" + isarray "0.0.1" + json3 "3.3.2" + +socket.io@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.6.0.tgz#3e40d932637e6bd923981b25caf7c53e83b6e2e1" + dependencies: + debug "2.3.3" + engine.io "1.8.0" + has-binary "0.1.7" + object-assign "4.1.0" + socket.io-adapter "0.5.0" + socket.io-client "1.6.0" + socket.io-parser "2.3.1" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +sshpk@^1.7.0: + version "1.10.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.10.1.tgz#30e1a5d329244974a1af61511339d595af6638b0" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jodid25519 "^1.0.0" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +"statuses@>= 1.3.1 < 2", statuses@~1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + +stream-throttle@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" + dependencies: + commander "^2.2.0" + limiter "^1.0.5" + +string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +stringstream@~0.0.4: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-json-comments@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" + +supports-color@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +tar-pack@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.3.0.tgz#30931816418f55afc4d21775afdd6720cee45dae" + dependencies: + debug "~2.2.0" + fstream "~1.0.10" + fstream-ignore "~1.0.5" + once "~1.3.3" + readable-stream "~2.1.4" + rimraf "~2.5.1" + tar "~2.2.1" + uid-number "~0.0.6" + +tar@~2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +tfunk@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b" + dependencies: + chalk "^1.1.1" + object-path "^0.9.0" + +to-array@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + +tough-cookie@~2.3.0: + version "2.3.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" + dependencies: + punycode "^1.4.1" + +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +ua-parser-js@0.7.12: + version "0.7.12" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb" + +uid-number@~0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +ultron@1.0.x: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" + +underscore@1.7.x: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + +unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +utils-merge@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" + +uuid@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +verror@1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" + dependencies: + extsprintf "1.0.2" + +vlq@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vlq/-/vlq-0.2.1.tgz#14439d711891e682535467f8587c5630e4222a6c" + +weinre@^2.0.0-pre-I0Z7U9OV: + version "2.0.0-pre-I0Z7U9OV" + resolved "https://registry.yarnpkg.com/weinre/-/weinre-2.0.0-pre-I0Z7U9OV.tgz#fef8aa223921f7b40bbbbd4c3ed4302f6fd0a813" + dependencies: + express "2.5.x" + nopt "3.0.x" + underscore "1.7.x" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +wide-align@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.0.tgz#40edde802a71fea1f070da3e62dcda2e7add96ad" + dependencies: + string-width "^1.0.1" + +window-size@^0.1.2: + version "0.1.4" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" + +window-size@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +ws@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.1.tgz#082ddb6c641e85d4bb451f03d52f06eabdb1f018" + dependencies: + options ">=0.0.5" + ultron "1.0.x" + +wtf-8@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" + +xmlhttprequest-ssl@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.0, y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yargs-parser@^4.1.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + dependencies: + camelcase "^3.0.0" + +yargs@3.29.0: + version "3.29.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.29.0.tgz#1aab9660eae79d8b8f675bcaeeab6ee34c2cf69c" + dependencies: + camelcase "^1.2.1" + cliui "^3.0.3" + decamelize "^1.0.0" + os-locale "^1.4.0" + window-size "^0.1.2" + y18n "^3.2.0" + +yargs@6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^4.1.0" + +yeast@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" + From 6820211efbf717ee7621295c947ec0858527431c Mon Sep 17 00:00:00 2001 From: Edgard Kozlowski Date: Wed, 4 Jan 2017 22:56:19 -0200 Subject: [PATCH 30/30] =?UTF-8?q?Finished=20=F0=9F=99=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 29 - Countown Timer/scripts-START.js | 0 .../index.html | 1 + .../scripts-FINISHED.js | 1 + 29-Countown-Timer/scripts-START.js | 24 +++++++++++++++++++ .../style.css | 0 5 files changed, 26 insertions(+) delete mode 100644 29 - Countown Timer/scripts-START.js rename {29 - Countown Timer => 29-Countown-Timer}/index.html (94%) rename {29 - Countown Timer => 29-Countown-Timer}/scripts-FINISHED.js (99%) create mode 100644 29-Countown-Timer/scripts-START.js rename {29 - Countown Timer => 29-Countown-Timer}/style.css (100%) diff --git a/29 - Countown Timer/scripts-START.js b/29 - Countown Timer/scripts-START.js deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/29 - Countown Timer/index.html b/29-Countown-Timer/index.html similarity index 94% rename from 29 - Countown Timer/index.html rename to 29-Countown-Timer/index.html index d54f447dd9..72a94c4fd6 100644 --- a/29 - Countown Timer/index.html +++ b/29-Countown-Timer/index.html @@ -24,6 +24,7 @@

      + diff --git a/29 - Countown Timer/scripts-FINISHED.js b/29-Countown-Timer/scripts-FINISHED.js similarity index 99% rename from 29 - Countown Timer/scripts-FINISHED.js rename to 29-Countown-Timer/scripts-FINISHED.js index 581cadb270..9064365f27 100644 --- a/29 - Countown Timer/scripts-FINISHED.js +++ b/29-Countown-Timer/scripts-FINISHED.js @@ -14,6 +14,7 @@ function timer(seconds) { countdown = setInterval(() => { const secondsLeft = Math.round((then - Date.now()) / 1000); + // check if we should stop it! if(secondsLeft < 0) { clearInterval(countdown); diff --git a/29-Countown-Timer/scripts-START.js b/29-Countown-Timer/scripts-START.js new file mode 100644 index 0000000000..9fb38dfd48 --- /dev/null +++ b/29-Countown-Timer/scripts-START.js @@ -0,0 +1,24 @@ +const timers = document.querySelectorAll('.timer__button'); +const timeLeft = document.querySelector('.display__time-left'); + +function getTime() { + const time = Number(this.dataset.time); + + function includeZero(number){ + if(number.length < 2){ + return Number(`0${number}`); + } + } + + if(time <= 60) { + timeLeft.innerHTML = '0:' + includeNumber(Number(this.dataset.time)); + } else { + timeLeft.innerHTML = `${time / 60}:${time % 60}`; + } +} + +function decreaseTime() { + +} + +timers.forEach(time => time.addEventListener('click', getTime)); diff --git a/29 - Countown Timer/style.css b/29-Countown-Timer/style.css similarity index 100% rename from 29 - Countown Timer/style.css rename to 29-Countown-Timer/style.css