From 20de8ee7a41fc560486f1b2ee0bb48b5ae45057a Mon Sep 17 00:00:00 2001 From: Emil Sayahi <32737166+limeschool@users.noreply.github.com> Date: Tue, 3 Mar 2020 10:09:12 -0500 Subject: [PATCH 001/117] Initial commit --- README.md | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index dce6d14..0000000 --- a/README.md +++ /dev/null @@ -1,7 +0,0 @@ -![deck](https://github.com/MadeByEmil/deck/raw/master/branding/regular/logo.png) - -The experimental live video platform. - -P2P, serverless video streaming. As indie as you can make it. - -# Currently being rewritten from scratch, lots of development taking place on [deck-stream](https://github.com/MadeByEmil/deck-stream), web interface will collect `deck-stream` streams, abandoning HLS + GitHub Pages model. Transitioning to hyper:// protocol instead. \ No newline at end of file From eab381647d10bc59f7ae57ffd699691e9bd62832 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Fri, 6 Mar 2020 10:07:14 -0500 Subject: [PATCH 002/117] Created initial platform files --- _channels/_config.json | 3 +++ _channels/emil.md | 9 +++++++++ _config.json | 38 ++++++++++++++++++++++++++++++++++++++ _includes/head.html | 2 ++ _includes/player.html | 31 +++++++++++++++++++++++++++++++ _layouts/channel.html | 7 +++++++ _posts/_config.json | 3 +++ 7 files changed, 93 insertions(+) create mode 100644 _channels/_config.json create mode 100644 _channels/emil.md create mode 100644 _config.json create mode 100644 _includes/head.html create mode 100644 _includes/player.html create mode 100644 _layouts/channel.html create mode 100644 _posts/_config.json diff --git a/_channels/_config.json b/_channels/_config.json new file mode 100644 index 0000000..ee7f350 --- /dev/null +++ b/_channels/_config.json @@ -0,0 +1,3 @@ +{ + "output": true +} diff --git a/_channels/emil.md b/_channels/emil.md new file mode 100644 index 0000000..eefb236 --- /dev/null +++ b/_channels/emil.md @@ -0,0 +1,9 @@ +--- +title: Emil +layout: channel +source: "http://clappr.io/highline.mp4" +mute: true +autoplay: false +--- +{% include player.html %} +

Contact me

diff --git a/_config.json b/_config.json new file mode 100644 index 0000000..44ff37f --- /dev/null +++ b/_config.json @@ -0,0 +1,38 @@ +{ + "source": ".", + "destination": "./_site", + "collections_dir": ".", + "plugins_dir": "_plugins", + "layouts_dir": "_layouts", + "data_dir": "_data", + "includes_dir": "_includes", + "sass_dir": "_sass", + "collections": [ + "posts", + "channels" + ], + "include": [ + ".htaccess" + ], + "exclude": [], + "keep_files": [ + ".git", + ".svn" + ], + "culture": "en-US", + "markdown_ext": "markdown,mkdown,mkdn,mkd,md", + "whitelist": [], + "plugins": [], + "excerpt_separator": "\\n\\n", + "baseurl": "", + "show_dir_listing": false, + "permalink": "date", + "url": "https://madebyemil.github.io/deck/", + "TAGS": {}, + "time": "1970-01-01T00:00:00.0000000Z", + "defaults": null, + "user": { + "author": "WDHAN User", + "title": "WDHAN Project" + } +} diff --git a/_includes/head.html b/_includes/head.html new file mode 100644 index 0000000..a845151 --- /dev/null +++ b/_includes/head.html @@ -0,0 +1,2 @@ +--- +--- diff --git a/_includes/player.html b/_includes/player.html new file mode 100644 index 0000000..8d40d1c --- /dev/null +++ b/_includes/player.html @@ -0,0 +1,31 @@ +--- +--- + + + + + + + + + + + +
+ +
diff --git a/_layouts/channel.html b/_layouts/channel.html new file mode 100644 index 0000000..4b428bc --- /dev/null +++ b/_layouts/channel.html @@ -0,0 +1,7 @@ +--- +--- +{% include head.html %} + +

{{ page.title }}

+{{ content }} + diff --git a/_posts/_config.json b/_posts/_config.json new file mode 100644 index 0000000..f8268be --- /dev/null +++ b/_posts/_config.json @@ -0,0 +1,3 @@ +{ + "output": true +} \ No newline at end of file From f0b62fe614cb5c89c5e63f62a12f0b326f6ddad0 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Fri, 6 Mar 2020 10:08:14 -0500 Subject: [PATCH 003/117] Created GitHub workflow --- .github/workflows/main.yml | 44 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..5e34b03 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,44 @@ +name: Publish 'basic' theme + +on: [push] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + with: + # Repository name with owner. For example, actions/checkout + # Default: ${{ github.repository }} + repository: 'MadeByEmil/WDHAN' + - name: Setup .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1.100 + - name: Build with dotnet + run: | + dotnet build --configuration Release + - uses: actions/checkout@v2 + with: + path: ./bin/Release/netcoreapp3.1/basic + - name: Build 'basic' theme + run: | + cd ./bin/Release/netcoreapp3.1 + cp -avr ./basic/* ./ + rm -r ./basic/ + ./WDHAN build + - name: Output current directory listing + run: | + cd ./bin/Release/netcoreapp3.1/_site/ + ls + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + with: + deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} + publish_dir: ./bin/Release/netcoreapp3.1/_site/ + publish_branch: gh-pages # deploying branch + user_name: WDHAN + user_email: em@emsa.cf + commit_message: "Building 'basic' theme" From 6e69540f94b6875c5bd27cea1ff99d17cb52751e Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Fri, 6 Mar 2020 10:09:04 -0500 Subject: [PATCH 004/117] Modified workflow --- .github/workflows/main.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5e34b03..546c3e2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Publish 'basic' theme +name: Publish on: [push] @@ -10,8 +10,6 @@ jobs: steps: - uses: actions/checkout@v2 with: - # Repository name with owner. For example, actions/checkout - # Default: ${{ github.repository }} repository: 'MadeByEmil/WDHAN' - name: Setup .NET Core uses: actions/setup-dotnet@v1 @@ -22,12 +20,12 @@ jobs: dotnet build --configuration Release - uses: actions/checkout@v2 with: - path: ./bin/Release/netcoreapp3.1/basic - - name: Build 'basic' theme + path: ./bin/Release/netcoreapp3.1/project + - name: Build project run: | cd ./bin/Release/netcoreapp3.1 - cp -avr ./basic/* ./ - rm -r ./basic/ + cp -avr ./project/* ./ + rm -r ./project/ ./WDHAN build - name: Output current directory listing run: | @@ -41,4 +39,4 @@ jobs: publish_branch: gh-pages # deploying branch user_name: WDHAN user_email: em@emsa.cf - commit_message: "Building 'basic' theme" + commit_message: "Building WDHAN project" From 16af1137f277dad19b1d9069f2a719880cd57938 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 7 Mar 2020 16:47:53 -0500 Subject: [PATCH 005/117] Began work on channel manager --- _channels/emil.md | 2 +- _channels/test.md | 8 ++++++ _config.json | 7 +++-- _plugins/ChannelManager.cs | 58 ++++++++++++++++++++++++++++++++++++++ _posts/init.md | 2 ++ 5 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 _channels/test.md create mode 100644 _plugins/ChannelManager.cs create mode 100644 _posts/init.md diff --git a/_channels/emil.md b/_channels/emil.md index eefb236..37c4e9b 100644 --- a/_channels/emil.md +++ b/_channels/emil.md @@ -1,7 +1,7 @@ --- title: Emil layout: channel -source: "http://clappr.io/highline.mp4" +source: "https://playertest.longtailvideo.com/streams/live-vtt-countdown/live.m3u8" mute: true autoplay: false --- diff --git a/_channels/test.md b/_channels/test.md new file mode 100644 index 0000000..4115093 --- /dev/null +++ b/_channels/test.md @@ -0,0 +1,8 @@ +--- +title: test +layout: channel +source: "" +mute: true +autoplay: false +--- +{% include player.html %} diff --git a/_config.json b/_config.json index 44ff37f..d9fd40d 100644 --- a/_config.json +++ b/_config.json @@ -22,7 +22,9 @@ "culture": "en-US", "markdown_ext": "markdown,mkdown,mkdn,mkd,md", "whitelist": [], - "plugins": [], + "plugins": [ + "ChannelManager" + ], "excerpt_separator": "\\n\\n", "baseurl": "", "show_dir_listing": false, @@ -32,7 +34,6 @@ "time": "1970-01-01T00:00:00.0000000Z", "defaults": null, "user": { - "author": "WDHAN User", - "title": "WDHAN Project" + } } diff --git a/_plugins/ChannelManager.cs b/_plugins/ChannelManager.cs new file mode 100644 index 0000000..5b60919 --- /dev/null +++ b/_plugins/ChannelManager.cs @@ -0,0 +1,58 @@ +using System; +using System.IO; +using System.Text; +using System.Collections.Generic; +using System.Globalization; +using System.Diagnostics; +using System.Net; +using System.IO.Compression; + +public class ChannelManager +{ + public void Main(string[] args) + { + if(args[0].Equals("build", StringComparison.OrdinalIgnoreCase) || args[0].Equals("b", StringComparison.OrdinalIgnoreCase)) + { + Console.WriteLine("Channel manager is ready."); + var manInput = Console.ReadLine(); + if(chunkInput(manInput)[0].Equals("create", StringComparison.OrdinalIgnoreCase)) + { + var defaultChannel = "---\ntitle: " + chunkInput(manInput)[1] + "\nlayout: channel\nsource: \"\"\nmute: true\nautoplay: false\n---\n{% include player.html %}"; + using (FileStream fs = File.Create("./_channels/" + chunkInput(manInput)[1] + ".md")) + { + fs.Write(Encoding.UTF8.GetBytes(defaultChannel), 0, Encoding.UTF8.GetBytes(defaultChannel).Length); + } + } + } + } + public static string[] chunkInput(string input) + { + input = input.Trim(); + List chunkedInput = new List(); + string currentChunk = ""; + int lastSpace = 0; + + for(int i = 0; i < input.Length - 1; i++) + { + if(input[i].Equals(' ')) + { + chunkedInput.Add(currentChunk); + currentChunk = ""; + lastSpace = i; + } + else + { + currentChunk += input[i]; + } + } + currentChunk = ""; + + for(int i = lastSpace + 1; i < input.Length; i++) + { + currentChunk += input[i]; + } + chunkedInput.Add(currentChunk); + + return chunkedInput.ToArray(); + } +} diff --git a/_posts/init.md b/_posts/init.md new file mode 100644 index 0000000..a845151 --- /dev/null +++ b/_posts/init.md @@ -0,0 +1,2 @@ +--- +--- From 9785bf539f1307be475b0a46fc818565da0ce7c0 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 7 Mar 2020 17:07:41 -0500 Subject: [PATCH 006/117] Resolved build exception --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 546c3e2..2c007c2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,7 +26,7 @@ jobs: cd ./bin/Release/netcoreapp3.1 cp -avr ./project/* ./ rm -r ./project/ - ./WDHAN build + echo -e " \n" | ./WDHAN build - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/_site/ From 85d6ffa8b34f54ae72e239d4759a7c77babecbf6 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 8 Mar 2020 16:09:03 -0400 Subject: [PATCH 007/117] Created basic styling, index pages --- _channels/index.md | 7 ++ _includes/head.html | 5 ++ _includes/player.html | 2 +- _layouts/default.html | 4 + css/main.css | 183 ------------------------------------------ index.md | 7 ++ 6 files changed, 24 insertions(+), 184 deletions(-) create mode 100644 _channels/index.md create mode 100644 _layouts/default.html delete mode 100644 css/main.css create mode 100644 index.md diff --git a/_channels/index.md b/_channels/index.md new file mode 100644 index 0000000..9b93c99 --- /dev/null +++ b/_channels/index.md @@ -0,0 +1,7 @@ +--- +title: deck +layout: default +--- +{% for channel in channels.entries %} +{{ channel.title }} +{% endfor %} diff --git a/_includes/head.html b/_includes/head.html index a845151..0e5757b 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -1,2 +1,7 @@ --- --- + + + {{ page.title }} + + diff --git a/_includes/player.html b/_includes/player.html index 8d40d1c..fc935ef 100644 --- a/_includes/player.html +++ b/_includes/player.html @@ -1,6 +1,6 @@ --- --- - + diff --git a/_layouts/default.html b/_layouts/default.html new file mode 100644 index 0000000..bbffa62 --- /dev/null +++ b/_layouts/default.html @@ -0,0 +1,4 @@ +--- +--- +{% include head.html %} +{{ content }} diff --git a/css/main.css b/css/main.css deleted file mode 100644 index 28b0c1a..0000000 --- a/css/main.css +++ /dev/null @@ -1,183 +0,0 @@ -@font-face { - font-family: 'blackentina_4fregular'; - src: url('css/fonts/blackentina_4f-webfont.woff2') format('woff2'), - url('css/fonts/blackentina_4f-webfont.woff') format('woff'); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: 'blackentina_4fitalic'; - src: url('css/fonts/blackentina_4f-italic-webfont.woff2') format('woff2'), - url('css/fonts/blackentina_4f-italic-webfont.woff') format('woff'); - font-weight: normal; - font-style: normal; -} - -@-webkit-keyframes rotate-center { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); - } - 75% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - } -} -@keyframes rotate-center { - 0% { - -webkit-transform: rotate(0); - transform: rotate(0); - } - 75% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); - } - 100% { - -webkit-transform: scale(0.5); - transform: scale(0.5); - } -} - -.active { - cursor: default; - text-decoration: none; -} - -.rotate-center { - -webkit-animation: rotate-center 600ms ease-in-out both; - animation: rotate-center 600ms ease-in-out both; -} - -.wrapper -{ - display: flex; - margin: auto; - width: 50%; - z-index: -1; - justify-content: center; - align-items: center; -} - -body { - font:16px/1 "Helvetica Neue", Helvetica, Arial, sans-serif; - color: #666; - -webkit-font-smoothing: antialiased; - text-rendering: optimizeLegibility; - line-height: 2; -} - -h1 { - font-size: 30px; - letter-spacing: -1px; - color: #222; - font-weight: bold; -} - -h2 { - font: normal 17px/1.5em "Helvetica Neue",Helvetica,Arial,sans-serif; - color: #aaa; -} - -p.small { - all: unset; - color: #bbb; - font-size: 14px; - line-height: 0.5; -} - -textarea -{ - height: 24px; - vertical-align: middle; -} - -#account-image -{ - height: 20px; - width: 20px; - vertical-align: middle; - border-radius: 3px; -} - -#account-image.big -{ - height: 200px; - width: 200px; - vertical-align: middle; - border-radius: 6px; -} - -#account-details -{ - width: 600px; - padding: 20px 20px; - background-color: #f1f1f1; - overflow-wrap: break-word; - border-radius: 10px; -} - -#settings-account -{ - display: inline-block; - padding-right: 24px; -} - -#user-settings -{ - display: block; - padding-left: 24px; -} - -#dangerous-actions -{ - position: absolute; -} - -#cover -{ - background-color: white; - width: 100%; - height: auto; - bottom: 0px; - top: 0px; - left: 0; - position: absolute; - z-index: 1; - overflow: hidden; -} - -#cover-image -{ - width: 100%; - height: 100vh; - display: flex; - justify-content: center; - align-items: center; -} - -#dangerous-actions > * -{ - margin-top: 12px; -} - -#user-settings > * -{ - padding-bottom: 12px; -} - -#settings-account > * -{ - padding-bottom: 8px; - display: block; -} - -.navbar -{ - background-color: #222; - border-radius: 0px 0px 5px 5px; -} diff --git a/index.md b/index.md new file mode 100644 index 0000000..9b93c99 --- /dev/null +++ b/index.md @@ -0,0 +1,7 @@ +--- +title: deck +layout: default +--- +{% for channel in channels.entries %} +{{ channel.title }} +{% endfor %} From 37141c95babd2e697a3733a3bd604805e490497b Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 8 Mar 2020 16:12:09 -0400 Subject: [PATCH 008/117] Turned index pages into lists --- _channels/index.html | 9 +++++++++ _channels/index.md | 7 ------- index.md | 4 +++- 3 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 _channels/index.html delete mode 100644 _channels/index.md diff --git a/_channels/index.html b/_channels/index.html new file mode 100644 index 0000000..3c82d57 --- /dev/null +++ b/_channels/index.html @@ -0,0 +1,9 @@ +--- +title: deck +layout: default +--- + diff --git a/_channels/index.md b/_channels/index.md deleted file mode 100644 index 9b93c99..0000000 --- a/_channels/index.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: deck -layout: default ---- -{% for channel in channels.entries %} -{{ channel.title }} -{% endfor %} diff --git a/index.md b/index.md index 9b93c99..3c82d57 100644 --- a/index.md +++ b/index.md @@ -2,6 +2,8 @@ title: deck layout: default --- + From 34059daa2d77415586a0f4863c3b3c86d11cefe7 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 8 Mar 2020 16:13:47 -0400 Subject: [PATCH 009/117] Corrected styling bug --- _includes/head.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/head.html b/_includes/head.html index 0e5757b..64f6e06 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -3,5 +3,5 @@ {{ page.title }} - + From 261593e5eb0b6a1e20bf5688af1d7c057db09a67 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Fri, 13 Mar 2020 12:06:30 -0400 Subject: [PATCH 010/117] Began work on login page --- _includes/firebase.html | 54 +++++++++++++++++++++++++++++++++++++++++ _layouts/login.html | 7 ++++++ login.html | 5 ++++ 3 files changed, 66 insertions(+) create mode 100644 _includes/firebase.html create mode 100644 _layouts/login.html create mode 100644 login.html diff --git a/_includes/firebase.html b/_includes/firebase.html new file mode 100644 index 0000000..67e7582 --- /dev/null +++ b/_includes/firebase.html @@ -0,0 +1,54 @@ +--- +--- + + + + + + + + + + + + diff --git a/_layouts/login.html b/_layouts/login.html new file mode 100644 index 0000000..68cc287 --- /dev/null +++ b/_layouts/login.html @@ -0,0 +1,7 @@ +--- +--- +{% include head.html %} + + {{ content }} + {% include firebase.html %} + diff --git a/login.html b/login.html new file mode 100644 index 0000000..e1f8a00 --- /dev/null +++ b/login.html @@ -0,0 +1,5 @@ +--- +layout: login +title: Login +--- +

Login

From a778384abb469b97b1a014e2b327a33160e9fae4 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Fri, 13 Mar 2020 12:47:34 -0400 Subject: [PATCH 011/117] Began work on login page UI --- _config.json | 4 ++-- _includes/firebase_ui.html | 27 +++++++++++++++++++++++++++ _includes/head.html | 3 --- _layouts/channel.html | 5 ++++- _layouts/default.html | 5 ++++- _layouts/login.html | 6 +++++- login.html | 3 ++- 7 files changed, 44 insertions(+), 9 deletions(-) create mode 100644 _includes/firebase_ui.html diff --git a/_config.json b/_config.json index d9fd40d..8c8c6e1 100644 --- a/_config.json +++ b/_config.json @@ -29,11 +29,11 @@ "baseurl": "", "show_dir_listing": false, "permalink": "date", - "url": "https://madebyemil.github.io/deck/", + "url": "https://madebyemil.github.io/deck", "TAGS": {}, "time": "1970-01-01T00:00:00.0000000Z", "defaults": null, "user": { - + } } diff --git a/_includes/firebase_ui.html b/_includes/firebase_ui.html new file mode 100644 index 0000000..d443aa9 --- /dev/null +++ b/_includes/firebase_ui.html @@ -0,0 +1,27 @@ +--- +--- + + + + diff --git a/_includes/head.html b/_includes/head.html index 64f6e06..85b0443 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -1,7 +1,4 @@ --- --- - - {{ page.title }} - diff --git a/_layouts/channel.html b/_layouts/channel.html index 4b428bc..d65fe66 100644 --- a/_layouts/channel.html +++ b/_layouts/channel.html @@ -1,6 +1,9 @@ --- --- -{% include head.html %} + + {{ page.title }} + {% include head.html %} +

{{ page.title }}

{{ content }} diff --git a/_layouts/default.html b/_layouts/default.html index bbffa62..bace537 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,4 +1,7 @@ --- --- -{% include head.html %} + + {{ page.title }} + {% include head.html %} + {{ content }} diff --git a/_layouts/login.html b/_layouts/login.html index 68cc287..3f4ef0e 100644 --- a/_layouts/login.html +++ b/_layouts/login.html @@ -1,7 +1,11 @@ --- --- -{% include head.html %} + + {{ page.title }} + {% include head.html %} + {{ content }} {% include firebase.html %} + {% include firebase_ui.html %} diff --git a/login.html b/login.html index e1f8a00..cd9f22d 100644 --- a/login.html +++ b/login.html @@ -2,4 +2,5 @@ layout: login title: Login --- -

Login

+

Login

+
From 94354f3d47b83c58c9f9efd51f31dc7c5d44799a Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Fri, 13 Mar 2020 12:49:54 -0400 Subject: [PATCH 012/117] Remove redirect on load of login page --- _includes/firebase.html | 2 ++ 1 file changed, 2 insertions(+) diff --git a/_includes/firebase.html b/_includes/firebase.html index 67e7582..2c5ad05 100644 --- a/_includes/firebase.html +++ b/_includes/firebase.html @@ -32,6 +32,7 @@ provider.setCustomParameters({ 'allow_signup': 'true' }); + /* firebase.auth().signInWithRedirect(provider); firebase.auth().getRedirectResult().then(function(result) { if (result.credential) { @@ -50,5 +51,6 @@ // The firebase.auth.AuthCredential type that was used. var credential = error.credential; // ... + */ }); From b958079591f15ecc836967dca5cf86e8e9b2ce87 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Fri, 13 Mar 2020 12:53:45 -0400 Subject: [PATCH 013/117] Corrected improper JS token --- _includes/firebase.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_includes/firebase.html b/_includes/firebase.html index 2c5ad05..75423d4 100644 --- a/_includes/firebase.html +++ b/_includes/firebase.html @@ -52,5 +52,6 @@ var credential = error.credential; // ... */ - }); + //}); + ); From e9832b5d77c84546eb4886f450e718e573f830d3 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Fri, 13 Mar 2020 12:56:05 -0400 Subject: [PATCH 014/117] Just ... I can't code well today. --- _includes/firebase.html | 1 - 1 file changed, 1 deletion(-) diff --git a/_includes/firebase.html b/_includes/firebase.html index 75423d4..5229615 100644 --- a/_includes/firebase.html +++ b/_includes/firebase.html @@ -53,5 +53,4 @@ // ... */ //}); - ); From 5c29af4487be1efe31ba872547afd8e81bf60c2d Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Fri, 13 Mar 2020 13:45:48 -0400 Subject: [PATCH 015/117] Added authentication information --- _includes/auth.html | 44 +++++++++++++++++++++++++++++++++++++++++ _includes/firebase.html | 1 + _layouts/channel.html | 3 +++ _layouts/default.html | 4 ---- index.md | 3 +++ 5 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 _includes/auth.html diff --git a/_includes/auth.html b/_includes/auth.html new file mode 100644 index 0000000..34ab19b --- /dev/null +++ b/_includes/auth.html @@ -0,0 +1,44 @@ +--- +--- +{% include firebase.html %} + diff --git a/_includes/firebase.html b/_includes/firebase.html index 5229615..054de35 100644 --- a/_includes/firebase.html +++ b/_includes/firebase.html @@ -29,6 +29,7 @@ firebase.analytics(); var provider = new firebase.auth.GithubAuthProvider(); + provider.addScope('repo'); provider.setCustomParameters({ 'allow_signup': 'true' }); diff --git a/_layouts/channel.html b/_layouts/channel.html index d65fe66..0585c11 100644 --- a/_layouts/channel.html +++ b/_layouts/channel.html @@ -6,5 +6,8 @@

{{ page.title }}

+
+
+

 {{ content }}
 
diff --git a/_layouts/default.html b/_layouts/default.html
index bace537..7929c73 100644
--- a/_layouts/default.html
+++ b/_layouts/default.html
@@ -1,7 +1,3 @@
 ---
 ---
-
-  {{ page.title }}
-  {% include head.html %}
-
 {{ content }}
diff --git a/index.md b/index.md
index 3c82d57..6496472 100644
--- a/index.md
+++ b/index.md
@@ -2,6 +2,9 @@
 title: deck
 layout: default
 ---
+
+
+

 
    {% for channel in channels.entries %}
  • {{ channel.title }}
  • From dc7797159167bbae199658cfaa0195192cd68e6e Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Fri, 13 Mar 2020 13:48:48 -0400 Subject: [PATCH 016/117] Corrected lack of styling in index --- index.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/index.md b/index.md index 6496472..3513ccd 100644 --- a/index.md +++ b/index.md @@ -2,11 +2,19 @@ title: deck layout: default --- -
    -
    -
    
    -
    +
    +  {{ page.title }}
    +  {% include head.html %}
    +  {% include auth.html %}
    +
    +
    +
    +  
    +
    +
    
    +  
    +
    
    From 5cb2b4efcef79e7fd514785b4bc32490436ddb30 Mon Sep 17 00:00:00 2001
    From: Emil Sayahi 
    Date: Sat, 14 Mar 2020 00:24:21 -0400
    Subject: [PATCH 017/117] Update include calls
    
    ---
     _channels/emil.md     | 2 +-
     _channels/test.md     | 2 +-
     _config.json          | 2 +-
     _includes/auth.html   | 1 -
     _layouts/channel.html | 2 +-
     _layouts/login.html   | 6 +++---
     index.md              | 5 +++--
     7 files changed, 10 insertions(+), 10 deletions(-)
    
    diff --git a/_channels/emil.md b/_channels/emil.md
    index 37c4e9b..61d5484 100644
    --- a/_channels/emil.md
    +++ b/_channels/emil.md
    @@ -5,5 +5,5 @@ source: "https://playertest.longtailvideo.com/streams/live-vtt-countdown/live.m3
     mute: true
     autoplay: false
     ---
    -{% include player.html %}
    +{% inc player.html %}
     

    Contact me

    diff --git a/_channels/test.md b/_channels/test.md index 4115093..26edac4 100644 --- a/_channels/test.md +++ b/_channels/test.md @@ -5,4 +5,4 @@ source: "" mute: true autoplay: false --- -{% include player.html %} +{% inc player.html %} diff --git a/_config.json b/_config.json index 8c8c6e1..4f0caf9 100644 --- a/_config.json +++ b/_config.json @@ -28,7 +28,7 @@ "excerpt_separator": "\\n\\n", "baseurl": "", "show_dir_listing": false, - "permalink": "date", + "permalink": "", "url": "https://madebyemil.github.io/deck", "TAGS": {}, "time": "1970-01-01T00:00:00.0000000Z", diff --git a/_includes/auth.html b/_includes/auth.html index 34ab19b..99c4e1b 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -1,6 +1,5 @@ --- --- -{% include firebase.html %} From 9c8de285e092a6513a9a3723b23b498f0853a62b Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 03:36:56 -0400 Subject: [PATCH 029/117] Log access token --- _includes/auth.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/auth.html b/_includes/auth.html index 9a1f7b3..dde4ba2 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -12,7 +12,7 @@ var uid = user.uid; var phoneNumber = user.phoneNumber; var providerData = user.providerData; - console.log(user.getIdToken()); + console.log(user.getCredential().getAccessToken()); user.getIdToken().then(function(accessToken) { var accountDetails = JSON.stringify({ displayName: displayName, From 318f4c1441d9e606abafe0205543efd9cee228f0 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 03:42:24 -0400 Subject: [PATCH 030/117] Implemented profile pictures --- _includes/auth.html | 3 ++- index.md | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/_includes/auth.html b/_includes/auth.html index dde4ba2..e6e9c1e 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -12,7 +12,7 @@ var uid = user.uid; var phoneNumber = user.phoneNumber; var providerData = user.providerData; - console.log(user.getCredential().getAccessToken()); + console.log(user.getCredential()); user.getIdToken().then(function(accessToken) { var accountDetails = JSON.stringify({ displayName: displayName, @@ -27,6 +27,7 @@ document.getElementById('sign-in-status').textContent = 'Signed in'; document.getElementById('sign-in').textContent = 'Sign out'; document.getElementById('account-details').textContent = accountDetails; + document.getElementById('account-image').setAttribute("src", JSON.parse(accountDetails).photoURL); document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://api.github.com/repos/MadeByEmil/deck/dispatches\", {\r\n body: \"{\\\"event_type\\\": \\\"create-channel\\\", \\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n Accept: \"application/vnd.github.everest-preview+json\",\r\n Authorization: \"token " + escape(JSON.parse(accountDetails).accessToken) + "\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n method: \"POST\"\r\n });"); }); } else { diff --git a/index.md b/index.md index 93bf9e4..f1ce393 100644 --- a/index.md +++ b/index.md @@ -10,10 +10,13 @@ layout: default +
    +
    
       
    +
      {% for channel in channels.entries %}
    • {{ channel.title }}
    • From b394c29f3e31998d4dfd83cf07c3f4020336e48c Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 03:44:50 -0400 Subject: [PATCH 031/117] Fixed logging statement --- _includes/auth.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/auth.html b/_includes/auth.html index e6e9c1e..71423e7 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -12,7 +12,7 @@ var uid = user.uid; var phoneNumber = user.phoneNumber; var providerData = user.providerData; - console.log(user.getCredential()); + console.log(user.getIdToken().getAccessToken()); user.getIdToken().then(function(accessToken) { var accountDetails = JSON.stringify({ displayName: displayName, From aa0459ce11bae231435c27ca61eaee481de6dc73 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 03:47:12 -0400 Subject: [PATCH 032/117] Fixed it again! --- _includes/auth.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/auth.html b/_includes/auth.html index 71423e7..93a07fe 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -12,7 +12,7 @@ var uid = user.uid; var phoneNumber = user.phoneNumber; var providerData = user.providerData; - console.log(user.getIdToken().getAccessToken()); + console.log(user.getIdToken(); user.getIdToken().then(function(accessToken) { var accountDetails = JSON.stringify({ displayName: displayName, From 79187249cce153f95c19abe722b3d5846bbe9065 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 03:50:12 -0400 Subject: [PATCH 033/117] Boy gee, I missed a token! --- _includes/auth.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/auth.html b/_includes/auth.html index 93a07fe..64e24e0 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -12,7 +12,7 @@ var uid = user.uid; var phoneNumber = user.phoneNumber; var providerData = user.providerData; - console.log(user.getIdToken(); + console.log(user.getIdToken()); user.getIdToken().then(function(accessToken) { var accountDetails = JSON.stringify({ displayName: displayName, From 5de7ffea0a2b46cd5269683a0a40e75b7a51e503 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 12:53:34 -0400 Subject: [PATCH 034/117] Integrate pipedream workflow --- _includes/auth.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_includes/auth.html b/_includes/auth.html index 64e24e0..f045851 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -28,7 +28,8 @@ document.getElementById('sign-in').textContent = 'Sign out'; document.getElementById('account-details').textContent = accountDetails; document.getElementById('account-image').setAttribute("src", JSON.parse(accountDetails).photoURL); - document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://api.github.com/repos/MadeByEmil/deck/dispatches\", {\r\n body: \"{\\\"event_type\\\": \\\"create-channel\\\", \\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n Accept: \"application/vnd.github.everest-preview+json\",\r\n Authorization: \"token " + escape(JSON.parse(accountDetails).accessToken) + "\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n method: \"POST\"\r\n });"); + //document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://api.github.com/repos/MadeByEmil/deck/dispatches\", {\r\n body: \"{\\\"event_type\\\": \\\"create-channel\\\", \\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n Accept: \"application/vnd.github.everest-preview+json\",\r\n Authorization: \"token " + escape(JSON.parse(accountDetails).accessToken) + "\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n method: \"POST\"\r\n });"); + document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); }); } else { // User is signed out. From f975184b0576dfaa6e935c5387e29b124055d477 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 12:58:14 -0400 Subject: [PATCH 035/117] Trying to resolve issue with HTTP request --- _includes/auth.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/auth.html b/_includes/auth.html index f045851..00511be 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -29,7 +29,7 @@ document.getElementById('account-details').textContent = accountDetails; document.getElementById('account-image').setAttribute("src", JSON.parse(accountDetails).photoURL); //document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://api.github.com/repos/MadeByEmil/deck/dispatches\", {\r\n body: \"{\\\"event_type\\\": \\\"create-channel\\\", \\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n Accept: \"application/vnd.github.everest-preview+json\",\r\n Authorization: \"token " + escape(JSON.parse(accountDetails).accessToken) + "\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n method: \"POST\"\r\n });"); - document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); + document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + escape(JSON.stringify(JSON.parse(accountDetails).providerData)) + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); }); } else { // User is signed out. From 101ae990c603ed7c3b4c4df51e65c45b41fb168e Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:01:17 -0400 Subject: [PATCH 036/117] Fixing malformed string --- _includes/auth.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/auth.html b/_includes/auth.html index 00511be..ac9ada8 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -29,7 +29,7 @@ document.getElementById('account-details').textContent = accountDetails; document.getElementById('account-image').setAttribute("src", JSON.parse(accountDetails).photoURL); //document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://api.github.com/repos/MadeByEmil/deck/dispatches\", {\r\n body: \"{\\\"event_type\\\": \\\"create-channel\\\", \\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n Accept: \"application/vnd.github.everest-preview+json\",\r\n Authorization: \"token " + escape(JSON.parse(accountDetails).accessToken) + "\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n method: \"POST\"\r\n });"); - document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + escape(JSON.stringify(JSON.parse(accountDetails).providerData)) + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); + document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + JSON.stringify(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); }); } else { // User is signed out. From 3a72c4451d6b19bfcee50223c3fc34591c3dbe09 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:05:22 -0400 Subject: [PATCH 037/117] We need to do some string escaping! --- _includes/auth.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/auth.html b/_includes/auth.html index ac9ada8..7009f11 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -29,7 +29,7 @@ document.getElementById('account-details').textContent = accountDetails; document.getElementById('account-image').setAttribute("src", JSON.parse(accountDetails).photoURL); //document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://api.github.com/repos/MadeByEmil/deck/dispatches\", {\r\n body: \"{\\\"event_type\\\": \\\"create-channel\\\", \\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n Accept: \"application/vnd.github.everest-preview+json\",\r\n Authorization: \"token " + escape(JSON.parse(accountDetails).accessToken) + "\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n method: \"POST\"\r\n });"); - document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + JSON.stringify(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); + document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + JSON.stringify(JSON.parse(accountDetails).providerData).replace(/\\([\s\S])|(")/g, "\\$1$2") + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); }); } else { // User is signed out. From 30c5a88e89af21f403ca8ea63af73521333c7f87 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:26:31 -0400 Subject: [PATCH 038/117] Corrected issue with channel creation workflow --- .github/workflows/create-channel.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index b519ebc..e8bbd3e 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -30,14 +30,14 @@ jobs: echo -e " ${{ github.event.client_payload.displayName }}\n" | ./WDHAN serve - name: Output current directory listing run: | - cd ./bin/Release/netcoreapp3.1/_site/ + cd ./ ls - name: Deploy uses: peaceiris/actions-gh-pages@v3 with: deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} - publish_dir: ./bin/Release/netcoreapp3.1/_site/ - publish_branch: gh-pages # deploying branch + publish_dir: ./ + publish_branch: master # deploying branch user_name: WDHAN user_email: em@emsa.cf commit_message: "Creating channel" From 064ecef3c6c521e7db3f8975c96e03f0429b2800 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:30:25 -0400 Subject: [PATCH 039/117] Fixed major workflow problem --- .github/workflows/create-channel.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index e8bbd3e..4aecdbf 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -30,13 +30,13 @@ jobs: echo -e " ${{ github.event.client_payload.displayName }}\n" | ./WDHAN serve - name: Output current directory listing run: | - cd ./ + cd ./bin/Release/netcoreapp3.1 ls - name: Deploy uses: peaceiris/actions-gh-pages@v3 with: deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} - publish_dir: ./ + publish_dir: ./bin/Release/netcoreapp3.1 publish_branch: master # deploying branch user_name: WDHAN user_email: em@emsa.cf From edf856f5f52d8a8153c769d27a2aba9cfb8488bc Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:33:24 -0400 Subject: [PATCH 040/117] Whoa, we don't want WDHAN included! --- .github/workflows/create-channel.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 4aecdbf..80ea20d 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -25,18 +25,16 @@ jobs: - name: Create channel run: | cd ./bin/Release/netcoreapp3.1 - cp -avr ./project/* ./ - rm -r ./project/ - echo -e " ${{ github.event.client_payload.displayName }}\n" | ./WDHAN serve + echo -e " ${{ github.event.client_payload.displayName }}\n" | ./WDHAN serve ./project/ - name: Output current directory listing run: | - cd ./bin/Release/netcoreapp3.1 + cd ./bin/Release/netcoreapp3.1/project/ ls - name: Deploy uses: peaceiris/actions-gh-pages@v3 with: deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} - publish_dir: ./bin/Release/netcoreapp3.1 + publish_dir: ./bin/Release/netcoreapp3.1/project/ publish_branch: master # deploying branch user_name: WDHAN user_email: em@emsa.cf From dccb422d6288ad5295615fba458dae271c641995 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:42:13 -0400 Subject: [PATCH 041/117] Investigating ... --- .github/workflows/create-channel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 80ea20d..ec5cfef 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -25,7 +25,7 @@ jobs: - name: Create channel run: | cd ./bin/Release/netcoreapp3.1 - echo -e " ${{ github.event.client_payload.displayName }}\n" | ./WDHAN serve ./project/ + echo -e " ${{ github.event.client_payload }}\n" | ./WDHAN serve ./project/ - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/ From bf91a700e424fc7d88c376f60015a35060853ca8 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:42:29 -0400 Subject: [PATCH 042/117] Output all contents in workflow --- .github/workflows/create-channel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index ec5cfef..54cfec4 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -29,7 +29,7 @@ jobs: - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/ - ls + ls -a - name: Deploy uses: peaceiris/actions-gh-pages@v3 with: From 6e989d502701ee8291257b56043685c4358ca56c Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:45:38 -0400 Subject: [PATCH 043/117] Ensure workflow fails if data string is null --- .github/workflows/create-channel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 54cfec4..5111303 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -25,7 +25,7 @@ jobs: - name: Create channel run: | cd ./bin/Release/netcoreapp3.1 - echo -e " ${{ github.event.client_payload }}\n" | ./WDHAN serve ./project/ + echo -e "${{ github.event.client_payload }}\n" | ./WDHAN serve ./project/ - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/ From e2c2f605f9797805ea86de979c57944e3edef2b3 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:47:55 -0400 Subject: [PATCH 044/117] Try some logging to investigate --- .github/workflows/create-channel.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 5111303..149b746 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -25,6 +25,8 @@ jobs: - name: Create channel run: | cd ./bin/Release/netcoreapp3.1 + echo 1 ${{ github.event.client_payload }} + echo 2 {{ github.event.client_payload }} echo -e "${{ github.event.client_payload }}\n" | ./WDHAN serve ./project/ - name: Output current directory listing run: | From b1a190c09c8b64bd8317802d51149ad71a3ffd3a Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:50:28 -0400 Subject: [PATCH 045/117] Reintroduced displayName --- .github/workflows/create-channel.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 149b746..b304ad2 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -25,9 +25,9 @@ jobs: - name: Create channel run: | cd ./bin/Release/netcoreapp3.1 - echo 1 ${{ github.event.client_payload }} - echo 2 {{ github.event.client_payload }} - echo -e "${{ github.event.client_payload }}\n" | ./WDHAN serve ./project/ + echo 1 ${{ github.event.client_payload.displayName }} + echo 2 {{ github.event.client_payload.displayName }} + echo -e "${{ github.event.client_payload.displayName }}\n" | ./WDHAN serve ./project/ - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/ From 7e270d26316c3ff77bcf5b5d8336d2687d1e7308 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:53:53 -0400 Subject: [PATCH 046/117] Remove newline in workflow --- .github/workflows/create-channel.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index b304ad2..c701c5d 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -25,9 +25,8 @@ jobs: - name: Create channel run: | cd ./bin/Release/netcoreapp3.1 - echo 1 ${{ github.event.client_payload.displayName }} - echo 2 {{ github.event.client_payload.displayName }} - echo -e "${{ github.event.client_payload.displayName }}\n" | ./WDHAN serve ./project/ + echo Creating channel: ${{ github.event.client_payload.displayName }} + echo "${{ github.event.client_payload.displayName }}" | ./WDHAN serve ./project/ - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/ From dd52fae03a9cfbe4abc25b818245d1bdc0abe8b9 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:57:32 -0400 Subject: [PATCH 047/117] Add create command to workflow --- .github/workflows/create-channel.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index c701c5d..95d0c9f 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -24,9 +24,10 @@ jobs: path: ./bin/Release/netcoreapp3.1/project - name: Create channel run: | - cd ./bin/Release/netcoreapp3.1 + cd ./bin/Release/netcoreapp3.1' echo Creating channel: ${{ github.event.client_payload.displayName }} - echo "${{ github.event.client_payload.displayName }}" | ./WDHAN serve ./project/ + run: + 'echo "create ${{ github.event.client_payload.displayName }}" | ./WDHAN serve ./bin/Release/netcoreapp3.1/project/"' - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/ From 6bd7514a8fc0a6f7e20ce36b8510181d9fbe9f8f Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 13:59:33 -0400 Subject: [PATCH 048/117] Resolved incorrect YAML in workflow --- .github/workflows/create-channel.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 95d0c9f..6f15e07 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -23,11 +23,9 @@ jobs: with: path: ./bin/Release/netcoreapp3.1/project - name: Create channel - run: | - cd ./bin/Release/netcoreapp3.1' - echo Creating channel: ${{ github.event.client_payload.displayName }} run: - 'echo "create ${{ github.event.client_payload.displayName }}" | ./WDHAN serve ./bin/Release/netcoreapp3.1/project/"' + 'echo Creating channel: ${{ github.event.client_payload.displayName }}'' + 'echo "create ${{ github.event.client_payload.displayName }}" | ./WDHAN serve ./bin/Release/netcoreapp3.1/project/'' - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/ From f796bb8d06440ae5d26dc4511ec021a6ee546e9a Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:01:04 -0400 Subject: [PATCH 049/117] I put too many quotes --- .github/workflows/create-channel.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 6f15e07..2bfbf17 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -24,8 +24,8 @@ jobs: path: ./bin/Release/netcoreapp3.1/project - name: Create channel run: - 'echo Creating channel: ${{ github.event.client_payload.displayName }}'' - 'echo "create ${{ github.event.client_payload.displayName }}" | ./WDHAN serve ./bin/Release/netcoreapp3.1/project/'' + 'echo Creating channel: ${{ github.event.client_payload.displayName }}' + 'echo "create ${{ github.event.client_payload.displayName }}" | ./WDHAN serve ./bin/Release/netcoreapp3.1/project/' - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/ From 52c667de370e51e47d0c973880252ae7a527ffa9 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:02:51 -0400 Subject: [PATCH 050/117] Why is this so hard!?!? --- .github/workflows/create-channel.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 2bfbf17..b648189 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -23,9 +23,9 @@ jobs: with: path: ./bin/Release/netcoreapp3.1/project - name: Create channel - run: - 'echo Creating channel: ${{ github.event.client_payload.displayName }}' - 'echo "create ${{ github.event.client_payload.displayName }}" | ./WDHAN serve ./bin/Release/netcoreapp3.1/project/' + run: | + echo Creating channel: ${{ github.event.client_payload.displayName }} + echo "create ${{ github.event.client_payload.displayName }}" | ./WDHAN serve ./bin/Release/netcoreapp3.1/project/ - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/ From fc9fcdfbcb1a6c5b9e34b6694526cdca9bcb97f8 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:04:26 -0400 Subject: [PATCH 051/117] Fixed path to WDHAN --- .github/workflows/create-channel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index b648189..7daeb0d 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -25,7 +25,7 @@ jobs: - name: Create channel run: | echo Creating channel: ${{ github.event.client_payload.displayName }} - echo "create ${{ github.event.client_payload.displayName }}" | ./WDHAN serve ./bin/Release/netcoreapp3.1/project/ + echo "create ${{ github.event.client_payload.displayName }}" | ./bin/Release/netcoreapp3.1/WDHAN serve ./bin/Release/netcoreapp3.1/project/ - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/ From 4e507310c6a7c34f8e65d9f72ced694e4e7f1bf1 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:07:33 -0400 Subject: [PATCH 052/117] Hopefully this works --- .github/workflows/create-channel.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 7daeb0d..cdbff34 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -23,12 +23,11 @@ jobs: with: path: ./bin/Release/netcoreapp3.1/project - name: Create channel - run: | - echo Creating channel: ${{ github.event.client_payload.displayName }} - echo "create ${{ github.event.client_payload.displayName }}" | ./bin/Release/netcoreapp3.1/WDHAN serve ./bin/Release/netcoreapp3.1/project/ + run: + 'echo -e "create ${{ github.event.client_payload.displayName }}\n" | ./bin/Release/netcoreapp3.1/WDHAN serve ./bin/Release/netcoreapp3.1/project/' - name: Output current directory listing run: | - cd ./bin/Release/netcoreapp3.1/project/ + cd ./bin/Release/netcoreapp3.1/project/_channels ls -a - name: Deploy uses: peaceiris/actions-gh-pages@v3 From df17676463b898bf9529f38c02987e5faa736e5b Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:11:49 -0400 Subject: [PATCH 053/117] New pushing to repo from workflow --- .github/workflows/create-channel.yml | 39 +++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 7 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index cdbff34..cb20f2a 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -30,11 +30,36 @@ jobs: cd ./bin/Release/netcoreapp3.1/project/_channels ls -a - name: Deploy - uses: peaceiris/actions-gh-pages@v3 + uses: EndBug/add-and-commit@v4 # You can change this to use a specific version with: - deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} - publish_dir: ./bin/Release/netcoreapp3.1/project/ - publish_branch: master # deploying branch - user_name: WDHAN - user_email: em@emsa.cf - commit_message: "Creating channel" + # The arguments for the git add command (see the paragraph below for more info) + # Default: '.' + add: '_channels' + + # The name of the user that will be displayed as the author of the commit + # Default: author of the commit that triggered the run + author_name: WDHAN + + # The The email of the user that will be displayed as the author of the commit + # Default: author of the commit that triggered the run + author_email: em@emsa.cf + + # The local path to the directory where your repository is located. You should use actions/checkout first to set it up + # Default: '.' + cwd: './bin/Release/netcoreapp3.1/project/' + + # Whether to use the --force option on git add, in order to bypass eventual gitignores + # Default: false + force: true + + # The message for the commit + # Default: 'Commit from GitHub Actions' + message: 'Creating channel: ${{ github.event.client_payload.displayName }}' + + # The arguments for the git rm command (see the paragraph below for more info) + # Default: '' + remove: "" + + env: + # This is necessary in order to push a commit to the repo + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this line unchanged From fdf03af12d114d47c42c0421b7fb1948ac298884 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:16:45 -0400 Subject: [PATCH 054/117] Why is the workflow failing? --- .github/workflows/create-channel.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index cb20f2a..74e6fd4 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -34,32 +34,25 @@ jobs: with: # The arguments for the git add command (see the paragraph below for more info) # Default: '.' - add: '_channels' - + add: '*' # The name of the user that will be displayed as the author of the commit # Default: author of the commit that triggered the run author_name: WDHAN - + author: WDHAN # The The email of the user that will be displayed as the author of the commit # Default: author of the commit that triggered the run author_email: em@emsa.cf - # The local path to the directory where your repository is located. You should use actions/checkout first to set it up # Default: '.' cwd: './bin/Release/netcoreapp3.1/project/' - # Whether to use the --force option on git add, in order to bypass eventual gitignores # Default: false force: true - # The message for the commit # Default: 'Commit from GitHub Actions' message: 'Creating channel: ${{ github.event.client_payload.displayName }}' - # The arguments for the git rm command (see the paragraph below for more info) # Default: '' - remove: "" - env: # This is necessary in order to push a commit to the repo GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this line unchanged From 7efb8dc78587ca1eb0fc5e7a3f60a91e71db0798 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:19:02 -0400 Subject: [PATCH 055/117] Maybe whitespace issues? --- .github/workflows/create-channel.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 74e6fd4..51ebd52 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -38,7 +38,6 @@ jobs: # The name of the user that will be displayed as the author of the commit # Default: author of the commit that triggered the run author_name: WDHAN - author: WDHAN # The The email of the user that will be displayed as the author of the commit # Default: author of the commit that triggered the run author_email: em@emsa.cf @@ -50,7 +49,7 @@ jobs: force: true # The message for the commit # Default: 'Commit from GitHub Actions' - message: 'Creating channel: ${{ github.event.client_payload.displayName }}' + message: 'Creating channel' # The arguments for the git rm command (see the paragraph below for more info) # Default: '' env: From 97f9f178a949e06bcbc65ddd337580ea770f2449 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:21:57 -0400 Subject: [PATCH 056/117] Completely new action --- .github/workflows/create-channel.yml | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 51ebd52..d474b28 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -30,28 +30,6 @@ jobs: cd ./bin/Release/netcoreapp3.1/project/_channels ls -a - name: Deploy - uses: EndBug/add-and-commit@v4 # You can change this to use a specific version + uses: stefanzweifel/git-auto-commit-action@v4.1.1 with: - # The arguments for the git add command (see the paragraph below for more info) - # Default: '.' - add: '*' - # The name of the user that will be displayed as the author of the commit - # Default: author of the commit that triggered the run - author_name: WDHAN - # The The email of the user that will be displayed as the author of the commit - # Default: author of the commit that triggered the run - author_email: em@emsa.cf - # The local path to the directory where your repository is located. You should use actions/checkout first to set it up - # Default: '.' - cwd: './bin/Release/netcoreapp3.1/project/' - # Whether to use the --force option on git add, in order to bypass eventual gitignores - # Default: false - force: true - # The message for the commit - # Default: 'Commit from GitHub Actions' - message: 'Creating channel' - # The arguments for the git rm command (see the paragraph below for more info) - # Default: '' - env: - # This is necessary in order to push a commit to the repo - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this line unchanged + commit_message: Creating channel: ${{ github.event.client_payload.displayName }} From 22d049d071d8822f61285a047bb4c852ba227942 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:22:52 -0400 Subject: [PATCH 057/117] Can I swear in my commit messages? --- .github/workflows/create-channel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index d474b28..0db3ec8 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -32,4 +32,4 @@ jobs: - name: Deploy uses: stefanzweifel/git-auto-commit-action@v4.1.1 with: - commit_message: Creating channel: ${{ github.event.client_payload.displayName }} + commit_message: "Creating channel: ${{ github.event.client_payload.displayName }}" From ea7def729f9d41106102a0acdd7a990a973511a7 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:26:09 -0400 Subject: [PATCH 058/117] I'm calm --- .github/workflows/create-channel.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 0db3ec8..669b87d 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -32,4 +32,5 @@ jobs: - name: Deploy uses: stefanzweifel/git-auto-commit-action@v4.1.1 with: - commit_message: "Creating channel: ${{ github.event.client_payload.displayName }}" + repository: './bin/Release/netcoreapp3.1/project/' + commit_message: 'Creating channel: ${{ github.event.client_payload.displayName }}' From a534f06d1be17d0d69b435dbb6bca5cccc5116e0 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:29:36 -0400 Subject: [PATCH 059/117] WOOHOO! --- .github/workflows/create-channel.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 669b87d..8e6a0c8 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -33,4 +33,5 @@ jobs: uses: stefanzweifel/git-auto-commit-action@v4.1.1 with: repository: './bin/Release/netcoreapp3.1/project/' + commit_user_name: 'WDHAN' commit_message: 'Creating channel: ${{ github.event.client_payload.displayName }}' From 76aafe8c15943bbe430faeae901c3826edda8303 Mon Sep 17 00:00:00 2001 From: limeschool Date: Sat, 14 Mar 2020 18:30:47 +0000 Subject: [PATCH 060/117] Creating channel: Emil Sayahi --- _channels/EmilSayahi.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 _channels/EmilSayahi.md diff --git a/_channels/EmilSayahi.md b/_channels/EmilSayahi.md new file mode 100644 index 0000000..bc595ce --- /dev/null +++ b/_channels/EmilSayahi.md @@ -0,0 +1,8 @@ +--- +title: EmilSayahi +layout: channel +source: "" +mute: true +autoplay: false +--- +{% inc player.html %} \ No newline at end of file From d93f9cfc671b686577eae42ccd7ca7b1eccb79ae Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:36:09 -0400 Subject: [PATCH 061/117] Created manual publishing workflow --- .github/workflows/create-channel.yml | 6 ++++ .github/workflows/publish-manual.yml | 44 ++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 .github/workflows/publish-manual.yml diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 8e6a0c8..c480f0d 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -35,3 +35,9 @@ jobs: repository: './bin/Release/netcoreapp3.1/project/' commit_user_name: 'WDHAN' commit_message: 'Creating channel: ${{ github.event.client_payload.displayName }}' + - name: Publish channel + run: 'curl -H "Accept: application/vnd.github.everest-preview+json" \ + -H "Authorization: token ${{ secrets.ACTIONS_DEPLOY_KEY }}" \ + --request POST \ + --data '{"event_type": "publish"}' \ + https://api.github.com/repos/MadeByEmil/deck/dispatches' diff --git a/.github/workflows/publish-manual.yml b/.github/workflows/publish-manual.yml new file mode 100644 index 0000000..44f399a --- /dev/null +++ b/.github/workflows/publish-manual.yml @@ -0,0 +1,44 @@ +name: Publish + +on: + repository_dispatch: + types: publish + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + with: + repository: 'MadeByEmil/WDHAN' + - name: Setup .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1.100 + - name: Build with dotnet + run: | + dotnet build --configuration Release + - uses: actions/checkout@v2 + with: + path: ./bin/Release/netcoreapp3.1/project + - name: Build project + run: | + cd ./bin/Release/netcoreapp3.1 + cp -avr ./project/* ./ + rm -r ./project/ + ./WDHAN build + - name: Output current directory listing + run: | + cd ./bin/Release/netcoreapp3.1/_site/ + ls + - name: Deploy + uses: peaceiris/actions-gh-pages@v3 + with: + deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} + publish_dir: ./bin/Release/netcoreapp3.1/_site/ + publish_branch: gh-pages # deploying branch + user_name: WDHAN + user_email: em@emsa.cf + commit_message: "Building WDHAN project" From 11ee61ff66e3e67879020fcedc7e0ab92082d788 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:38:10 -0400 Subject: [PATCH 062/117] Maybe I have to escape the string? --- .github/workflows/create-channel.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index c480f0d..88f5a6c 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -36,8 +36,4 @@ jobs: commit_user_name: 'WDHAN' commit_message: 'Creating channel: ${{ github.event.client_payload.displayName }}' - name: Publish channel - run: 'curl -H "Accept: application/vnd.github.everest-preview+json" \ - -H "Authorization: token ${{ secrets.ACTIONS_DEPLOY_KEY }}" \ - --request POST \ - --data '{"event_type": "publish"}' \ - https://api.github.com/repos/MadeByEmil/deck/dispatches' + run: 'curl -H \"Accept: application/vnd.github.everest-preview+json\" \\\r\n -H \"Authorization: token ${{ secrets.ACTIONS_DEPLOY_KEY }}\" \\\r\n --request POST \\\r\n --data '{\"event_type\": \"publish\"}' \\\r\n https://api.github.com/repos/MadeByEmil/deck/dispatches' From 4daa6b357ff2c800b71c4e51b82c79f15ebdfd17 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:40:42 -0400 Subject: [PATCH 063/117] Wrong approach, apparently --- .github/workflows/create-channel.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 88f5a6c..7037216 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -36,4 +36,9 @@ jobs: commit_user_name: 'WDHAN' commit_message: 'Creating channel: ${{ github.event.client_payload.displayName }}' - name: Publish channel - run: 'curl -H \"Accept: application/vnd.github.everest-preview+json\" \\\r\n -H \"Authorization: token ${{ secrets.ACTIONS_DEPLOY_KEY }}\" \\\r\n --request POST \\\r\n --data '{\"event_type\": \"publish\"}' \\\r\n https://api.github.com/repos/MadeByEmil/deck/dispatches' + run: | + curl -H "Accept: application/vnd.github.everest-preview+json" \ + -H "Authorization: token ${{ secrets.ACTIONS_DEPLOY_KEY }}" \ + --request POST \ + --data '{"event_type": "publish"}' \ + https://api.github.com/repos/MadeByEmil/deck/dispatches From 7969896b26dbe85400431af5e5435d2448f36375 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:43:53 -0400 Subject: [PATCH 064/117] Changed secret in workflow --- .github/workflows/create-channel.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 7037216..4976544 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -38,7 +38,7 @@ jobs: - name: Publish channel run: | curl -H "Accept: application/vnd.github.everest-preview+json" \ - -H "Authorization: token ${{ secrets.ACTIONS_DEPLOY_KEY }}" \ + -H "Authorization: token ${{ secrets.API_KEY }}" \ --request POST \ --data '{"event_type": "publish"}' \ https://api.github.com/repos/MadeByEmil/deck/dispatches From ff4d861dcfd1168722728b82a7b79e566c4660cb Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 14:47:22 -0400 Subject: [PATCH 065/117] Removed unused channels --- _channels/EmilSayahi.md | 8 -------- _channels/test.md | 8 -------- 2 files changed, 16 deletions(-) delete mode 100644 _channels/EmilSayahi.md delete mode 100644 _channels/test.md diff --git a/_channels/EmilSayahi.md b/_channels/EmilSayahi.md deleted file mode 100644 index bc595ce..0000000 --- a/_channels/EmilSayahi.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: EmilSayahi -layout: channel -source: "" -mute: true -autoplay: false ---- -{% inc player.html %} \ No newline at end of file diff --git a/_channels/test.md b/_channels/test.md deleted file mode 100644 index 26edac4..0000000 --- a/_channels/test.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: test -layout: channel -source: "" -mute: true -autoplay: false ---- -{% inc player.html %} From 3ede17573650b4a312436712ac6b6c90cec77126 Mon Sep 17 00:00:00 2001 From: limeschool Date: Sat, 14 Mar 2020 18:52:49 +0000 Subject: [PATCH 066/117] Creating channel: Emil Sayahi --- _channels/EmilSayahi.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 _channels/EmilSayahi.md diff --git a/_channels/EmilSayahi.md b/_channels/EmilSayahi.md new file mode 100644 index 0000000..bc595ce --- /dev/null +++ b/_channels/EmilSayahi.md @@ -0,0 +1,8 @@ +--- +title: EmilSayahi +layout: channel +source: "" +mute: true +autoplay: false +--- +{% inc player.html %} \ No newline at end of file From f05c67cac0be51fe7b2b943694632af85f4316a1 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 23:18:47 -0400 Subject: [PATCH 067/117] Changed channel creation, added settings page --- .github/workflows/create-channel.yml | 4 +- _includes/auth.html | 3 + _plugins/ChannelManager.cs | 28 +++++-- index.md | 5 +- me.html | 105 +++++++++++++++++++++++++++ 5 files changed, 132 insertions(+), 13 deletions(-) create mode 100644 me.html diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml index 4976544..625deb4 100644 --- a/.github/workflows/create-channel.yml +++ b/.github/workflows/create-channel.yml @@ -24,7 +24,7 @@ jobs: path: ./bin/Release/netcoreapp3.1/project - name: Create channel run: - 'echo -e "create ${{ github.event.client_payload.displayName }}\n" | ./bin/Release/netcoreapp3.1/WDHAN serve ./bin/Release/netcoreapp3.1/project/' + 'echo -e "create ${{ github.event.client_payload.uid }} ${{ github.event.client_payload.displayName }}\n" | ./bin/Release/netcoreapp3.1/WDHAN serve ./bin/Release/netcoreapp3.1/project/' - name: Output current directory listing run: | cd ./bin/Release/netcoreapp3.1/project/_channels @@ -34,7 +34,7 @@ jobs: with: repository: './bin/Release/netcoreapp3.1/project/' commit_user_name: 'WDHAN' - commit_message: 'Creating channel: ${{ github.event.client_payload.displayName }}' + commit_message: 'Creating channel: ${{ github.event.client_payload.uid }}' - name: Publish channel run: | curl -H "Accept: application/vnd.github.everest-preview+json" \ diff --git a/_includes/auth.html b/_includes/auth.html index 7009f11..f5ad534 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -26,8 +26,10 @@ }, null, ' '); document.getElementById('sign-in-status').textContent = 'Signed in'; document.getElementById('sign-in').textContent = 'Sign out'; + document.getElementById('sign-in').setAttribute("href", "/logout"); document.getElementById('account-details').textContent = accountDetails; document.getElementById('account-image').setAttribute("src", JSON.parse(accountDetails).photoURL); + document.getElementById('account-name').textContent = JSON.parse(accountDetails).providerData.uid; //document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://api.github.com/repos/MadeByEmil/deck/dispatches\", {\r\n body: \"{\\\"event_type\\\": \\\"create-channel\\\", \\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n Accept: \"application/vnd.github.everest-preview+json\",\r\n Authorization: \"token " + escape(JSON.parse(accountDetails).accessToken) + "\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n method: \"POST\"\r\n });"); document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + JSON.stringify(JSON.parse(accountDetails).providerData).replace(/\\([\s\S])|(")/g, "\\$1$2") + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); }); @@ -35,6 +37,7 @@ // User is signed out. document.getElementById('sign-in-status').textContent = 'Signed out'; document.getElementById('sign-in').textContent = 'Sign in'; + document.getElementById('sign-in').setAttribute("href", "/login"); document.getElementById('account-details').textContent = 'null'; } }, function(error) { diff --git a/_plugins/ChannelManager.cs b/_plugins/ChannelManager.cs index b75e931..06c285d 100644 --- a/_plugins/ChannelManager.cs +++ b/_plugins/ChannelManager.cs @@ -14,27 +14,41 @@ public void Main(string[] args) Console.WriteLine("Channel manager is ready."); var manInput = Console.ReadLine(); var channelCommand = chunkInput(manInput)[0]; - var commandOptions = getCommandOptions(chunkInput(manInput)); if(channelCommand.Equals("create", StringComparison.OrdinalIgnoreCase)) { - if(!File.Exists("./_channels/" + commandOptions + ".md")) + var commandOptions = getCommandOptions(chunkInput(manInput), 2); + if(!File.Exists("./_channels/" + chunkInput(manInput)[1] + ".md")) { var defaultChannel = "---\ntitle: " + commandOptions + "\nlayout: channel\nsource: \"\"\nmute: true\nautoplay: false\n---\n{% inc player.html %}"; - using (FileStream fs = File.Create("./_channels/" + commandOptions + ".md")) + using (FileStream fs = File.Create("./_channels/" + chunkInput(manInput)[1] + ".md")) { fs.Write(Encoding.UTF8.GetBytes(defaultChannel), 0, Encoding.UTF8.GetBytes(defaultChannel).Length); } } } + else if(channelCommand.Equals("modify", StringComparison.OrdinalIgnoreCase)) + { + var commandOptions = getCommandOptions(chunkInput(manInput), 2); + string channelContents = ""; + for(int i = 6; i < File.ReadAllLines("./_channels/" + chunkInput(manInput)[1] + ".md").Length; i++) + { + channelContents += File.ReadAllLines("./_channels/" + chunkInput(manInput)[1] + ".md")[i]; + } + channelContents = commandOptions + channelContents; + using (FileStream fs = File.Create("./_channels/" + chunkInput(manInput)[1] + ".md")) + { + fs.Write(Encoding.UTF8.GetBytes(channelContents), 0, Encoding.UTF8.GetBytes(channelContents).Length); + } + } } - public static string getCommandOptions(string[] chunkedInput) + public static string getCommandOptions(string[] chunkedInput, int initial) { string commandOptions = ""; - for(int i = 1; i < chunkedInput.Length; i++) + for(int i = initial; i < chunkedInput.Length; i++) { - commandOptions += chunkedInput[i]; + commandOptions += " " + chunkedInput[i]; } - return commandOptions; + return commandOptions.Trim(); } public static string[] chunkInput(string input) { diff --git a/index.md b/index.md index f1ce393..16480f5 100644 --- a/index.md +++ b/index.md @@ -11,11 +11,8 @@ layout: default
      -
      -
      +
      -
      
      -  
       
         
        {% for channel in channels.entries %} diff --git a/me.html b/me.html new file mode 100644 index 0000000..49d05d0 --- /dev/null +++ b/me.html @@ -0,0 +1,105 @@ +--- +title: Settings +layout: default +--- + + {{ page.title }} + {% inc head.html %} + {% inc firebase.html %} + {% inc auth.html %} + + + + + +

        +

        + + + + + From b6998ad9b4d8ad8ecdfa9cad591487e828e0ea32 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 23:22:09 -0400 Subject: [PATCH 068/117] Added link to settings from index --- _includes/auth.html | 4 ++-- index.md | 2 +- me.html | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/_includes/auth.html b/_includes/auth.html index f5ad534..0435709 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -26,7 +26,7 @@ }, null, ' '); document.getElementById('sign-in-status').textContent = 'Signed in'; document.getElementById('sign-in').textContent = 'Sign out'; - document.getElementById('sign-in').setAttribute("href", "/logout"); + document.getElementById('sign-in').setAttribute("href", "{{ site.url }}/logout"); document.getElementById('account-details').textContent = accountDetails; document.getElementById('account-image').setAttribute("src", JSON.parse(accountDetails).photoURL); document.getElementById('account-name').textContent = JSON.parse(accountDetails).providerData.uid; @@ -37,7 +37,7 @@ // User is signed out. document.getElementById('sign-in-status').textContent = 'Signed out'; document.getElementById('sign-in').textContent = 'Sign in'; - document.getElementById('sign-in').setAttribute("href", "/login"); + document.getElementById('sign-in').setAttribute("href", "{{ site.url }}/login"); document.getElementById('account-details').textContent = 'null'; } }, function(error) { diff --git a/index.md b/index.md index 16480f5..c99f47e 100644 --- a/index.md +++ b/index.md @@ -12,7 +12,7 @@ layout: default
        - +
          {% for channel in channels.entries %} diff --git a/me.html b/me.html index 49d05d0..3da2d55 100644 --- a/me.html +++ b/me.html @@ -99,7 +99,7 @@

          Channel settings

          From a2040d64ed6ee25ab04e8313a7645fe52f43f6f7 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 23:25:48 -0400 Subject: [PATCH 069/117] Corrected improper accessing of uid --- _includes/auth.html | 2 +- me.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/_includes/auth.html b/_includes/auth.html index 0435709..5e13ea8 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -29,7 +29,7 @@ document.getElementById('sign-in').setAttribute("href", "{{ site.url }}/logout"); document.getElementById('account-details').textContent = accountDetails; document.getElementById('account-image').setAttribute("src", JSON.parse(accountDetails).photoURL); - document.getElementById('account-name').textContent = JSON.parse(accountDetails).providerData.uid; + document.getElementById('account-name').textContent = JSON.parse(accountDetails).providerData[0].uid; //document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://api.github.com/repos/MadeByEmil/deck/dispatches\", {\r\n body: \"{\\\"event_type\\\": \\\"create-channel\\\", \\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n Accept: \"application/vnd.github.everest-preview+json\",\r\n Authorization: \"token " + escape(JSON.parse(accountDetails).accessToken) + "\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n method: \"POST\"\r\n });"); document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + JSON.stringify(JSON.parse(accountDetails).providerData).replace(/\\([\s\S])|(")/g, "\\$1$2") + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); }); diff --git a/me.html b/me.html index 3da2d55..f727de0 100644 --- a/me.html +++ b/me.html @@ -55,7 +55,7 @@

          Channel settings

          +{% inc firebase.html %} +{% inc auth.html %} From 6e45f0d372e5e81741089aa6a2bc06cc311a89ae Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sat, 14 Mar 2020 23:55:54 -0400 Subject: [PATCH 076/117] auth.html would throw errors without certain HTML elements --- index.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/index.md b/index.md index 5b292dc..20995b3 100644 --- a/index.md +++ b/index.md @@ -10,7 +10,10 @@ layout: default
          + + +

            {% for channel in channels.entries %} From acab5a786f174fc209a36a216436850c06bc0058 Mon Sep 17 00:00:00 2001 From: limeschool Date: Sun, 15 Mar 2020 04:00:42 +0000 Subject: [PATCH 077/117] Creating channel: 32737166 --- _channels/32737166.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 _channels/32737166.md diff --git a/_channels/32737166.md b/_channels/32737166.md new file mode 100644 index 0000000..5113f13 --- /dev/null +++ b/_channels/32737166.md @@ -0,0 +1,8 @@ +--- +title: Emil Sayahi +layout: channel +source: "" +mute: true +autoplay: false +--- +{% inc player.html %} \ No newline at end of file From 57d6c6fa50b4a53bb38a52087b6cf345f16fdcb1 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 15 Mar 2020 00:04:18 -0400 Subject: [PATCH 078/117] Moved scripts on settings page to inc --- _includes/me.html | 51 ++++++++++++++++++++++++++++++++++++++++++++++ index.md | 1 + me.html | 52 ++--------------------------------------------- 3 files changed, 54 insertions(+), 50 deletions(-) create mode 100644 _includes/me.html diff --git a/_includes/me.html b/_includes/me.html new file mode 100644 index 0000000..97a992b --- /dev/null +++ b/_includes/me.html @@ -0,0 +1,51 @@ +--- +--- + + + diff --git a/index.md b/index.md index 20995b3..d4fda2f 100644 --- a/index.md +++ b/index.md @@ -12,6 +12,7 @@ layout: default +

            diff --git a/me.html b/me.html index 3a067d1..52b0181 100644 --- a/me.html +++ b/me.html @@ -27,7 +27,7 @@

            - - - {% inc firebase.html %} {% inc auth.html %} +{% inc me.html %} From 769100a9fb410ae6bae35497dea052fed4b17b62 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 15 Mar 2020 00:06:53 -0400 Subject: [PATCH 079/117] Changed global permalink --- _config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_config.json b/_config.json index 739f315..f733da5 100644 --- a/_config.json +++ b/_config.json @@ -28,7 +28,7 @@ "excerpt_separator": "\\n\\n", "baseurl": "", "show_dir_listing": false, - "permalink": "none", + "permalink": "/:collection/:name:output_ext", "url": "https://madebyemil.github.io/deck", "TAGS": {}, "time": "1970-01-01T00:00:00.0000000Z", From 4c188af56c334659a59d735e9dbf68fed935560e Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 15 Mar 2020 00:25:13 -0400 Subject: [PATCH 080/117] Removed unused documents --- _channels/EmilSayahi.md | 8 -------- _posts/init.md | 2 -- 2 files changed, 10 deletions(-) delete mode 100644 _channels/EmilSayahi.md delete mode 100644 _posts/init.md diff --git a/_channels/EmilSayahi.md b/_channels/EmilSayahi.md deleted file mode 100644 index bc595ce..0000000 --- a/_channels/EmilSayahi.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: EmilSayahi -layout: channel -source: "" -mute: true -autoplay: false ---- -{% inc player.html %} \ No newline at end of file diff --git a/_posts/init.md b/_posts/init.md deleted file mode 100644 index a845151..0000000 --- a/_posts/init.md +++ /dev/null @@ -1,2 +0,0 @@ ---- ---- From eae2757ea840333cce74e413555f8b57f36d104c Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 15 Mar 2020 00:32:25 -0400 Subject: [PATCH 081/117] Add navbar to multiple pages --- _includes/navbar.html | 10 ++++++++++ _layouts/channel.html | 10 +++++----- index.md | 9 +-------- 3 files changed, 16 insertions(+), 13 deletions(-) create mode 100644 _includes/navbar.html diff --git a/_includes/navbar.html b/_includes/navbar.html new file mode 100644 index 0000000..19d57cc --- /dev/null +++ b/_includes/navbar.html @@ -0,0 +1,10 @@ +--- +--- +
            +
            + + + + +

            + diff --git a/_layouts/channel.html b/_layouts/channel.html index e0e9867..c2c6d92 100644 --- a/_layouts/channel.html +++ b/_layouts/channel.html @@ -5,9 +5,9 @@ {% inc head.html %} -

            {{ page.title }}

            -
            -
            -
            
            -{{ content }}
            +  {% inc navbar.html %}
            +  

            {{ page.title }}

            + {{ content }} + {% inc firebase.html %} + {% inc auth.html %} diff --git a/index.md b/index.md index d4fda2f..bdb4713 100644 --- a/index.md +++ b/index.md @@ -8,14 +8,7 @@ layout: default -
            -
            - - - - -

            - +
              {% for channel in channels.entries %}
            • {{ channel.title }}
            • From bc2cc3a95eb17e87fcbf77222b6388cb89d73cf3 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 15 Mar 2020 00:37:53 -0400 Subject: [PATCH 082/117] Show account email on settings page --- _includes/auth.html | 1 + _includes/me.html | 1 - _includes/navbar.html | 2 +- me.html | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/_includes/auth.html b/_includes/auth.html index 4ec8351..0a0d6c2 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -29,6 +29,7 @@ document.getElementById('account-details').textContent = accountDetails; document.getElementById('account-image').setAttribute("src", JSON.parse(accountDetails).providerData[0].photoURL); document.getElementById('account-name').textContent = JSON.parse(accountDetails).providerData[0].displayName; + document.getElementById('account-email').textContent = JSON.parse(accountDetails).providerData[0].email; //document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://api.github.com/repos/MadeByEmil/deck/dispatches\", {\r\n body: \"{\\\"event_type\\\": \\\"create-channel\\\", \\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n Accept: \"application/vnd.github.everest-preview+json\",\r\n Authorization: \"token " + escape(JSON.parse(accountDetails).accessToken) + "\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n method: \"POST\"\r\n });"); document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + JSON.stringify(JSON.parse(accountDetails).providerData).replace(/\\([\s\S])|(")/g, "\\$1$2") + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); }); diff --git a/_includes/me.html b/_includes/me.html index 97a992b..d700358 100644 --- a/_includes/me.html +++ b/_includes/me.html @@ -1,7 +1,6 @@ --- --- From 4a9ec4552db37b87c1416fe7d27284d201b4a471 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 15 Mar 2020 00:58:12 -0400 Subject: [PATCH 086/117] Delay script for 750ms --- _includes/me.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/_includes/me.html b/_includes/me.html index fe78324..7bb69ea 100644 --- a/_includes/me.html +++ b/_includes/me.html @@ -7,7 +7,8 @@ } diff --git a/_includes/navbar.html b/_includes/navbar.html index 0eb4ecf..ee1f3c6 100644 --- a/_includes/navbar.html +++ b/_includes/navbar.html @@ -4,6 +4,7 @@ +

              diff --git a/me.html b/me.html index faafa8a..0cbaaa6 100644 --- a/me.html +++ b/me.html @@ -44,17 +44,17 @@

              Channel settings


              - - + +
              - - + + {% inc firebase.html %} {% inc auth.html %} From 98fec8276fd2972ae0004094b57c5f38f3a2dac8 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 15 Mar 2020 01:31:54 -0400 Subject: [PATCH 091/117] Implemented logging out --- _channels/logout.html | 14 ++++++++++++++ _includes/me.html | 8 ++++++-- index.md | 1 - me.html | 1 - 4 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 _channels/logout.html diff --git a/_channels/logout.html b/_channels/logout.html new file mode 100644 index 0000000..539a26b --- /dev/null +++ b/_channels/logout.html @@ -0,0 +1,14 @@ +--- +title: logout +--- + diff --git a/_includes/me.html b/_includes/me.html index d135d15..d9d1314 100644 --- a/_includes/me.html +++ b/_includes/me.html @@ -1,9 +1,13 @@ --- --- + + Logging out … + + + {% inc firebase.html %} + + From 3989106a15ba6b9b2d338a6f5901e1b5a90b5613 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 15 Mar 2020 04:23:50 -0400 Subject: [PATCH 102/117] Log GitHub API response to console --- _includes/me.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_includes/me.html b/_includes/me.html index d9d1314..cc7042b 100644 --- a/_includes/me.html +++ b/_includes/me.html @@ -23,7 +23,7 @@ .then((response) => { if(response.ok) { - console.log('Channel found:\n', response.json); + console.log('Channel found:\n', response.json()); document.getElementById('create-channel').remove(); } else { From 99da04d925934c8250c649cf79c006f7bfae9aa0 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Sun, 15 Mar 2020 17:13:22 -0400 Subject: [PATCH 103/117] Added some functionality to settings page, created navbar --- .github/workflows/delete-channel.yml | 44 ++++++++++++++ _includes/auth.html | 1 + _includes/head.html | 6 ++ _includes/me.html | 39 ++++++++----- _includes/navbar.html | 37 +++++++++--- _plugins/ChannelManager.cs | 7 +++ logout.html | 2 + me.html | 87 +++++++++++++++------------- 8 files changed, 160 insertions(+), 63 deletions(-) create mode 100644 .github/workflows/delete-channel.yml diff --git a/.github/workflows/delete-channel.yml b/.github/workflows/delete-channel.yml new file mode 100644 index 0000000..9acad08 --- /dev/null +++ b/.github/workflows/delete-channel.yml @@ -0,0 +1,44 @@ +name: Delete channel +on: + repository_dispatch: + types: delete-channel + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + with: + repository: 'MadeByEmil/WDHAN' + - name: Setup .NET Core + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1.100 + - name: Build with dotnet + run: | + dotnet build --configuration Release + - uses: actions/checkout@v2 + with: + path: ./bin/Release/netcoreapp3.1/project + - name: Delete channel + run: + 'echo -e "delete ${{ github.event.client_payload.uid }}\n" | ./bin/Release/netcoreapp3.1/WDHAN serve ./bin/Release/netcoreapp3.1/project/' + - name: Output current directory listing + run: | + cd ./bin/Release/netcoreapp3.1/project/_channels + ls -a + - name: Deploy + uses: stefanzweifel/git-auto-commit-action@v4.1.1 + with: + repository: './bin/Release/netcoreapp3.1/project/' + commit_user_name: 'WDHAN' + commit_message: 'Deleting channel: ${{ github.event.client_payload.uid }}' + - name: Publish channel + run: | + curl -H "Accept: application/vnd.github.everest-preview+json" \ + -H "Authorization: token ${{ secrets.API_KEY }}" \ + --request POST \ + --data '{"event_type": "publish"}' \ + https://api.github.com/repos/MadeByEmil/deck/dispatches diff --git a/_includes/auth.html b/_includes/auth.html index 0a0d6c2..9a43a1d 100644 --- a/_includes/auth.html +++ b/_includes/auth.html @@ -32,6 +32,7 @@ document.getElementById('account-email').textContent = JSON.parse(accountDetails).providerData[0].email; //document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://api.github.com/repos/MadeByEmil/deck/dispatches\", {\r\n body: \"{\\\"event_type\\\": \\\"create-channel\\\", \\\"client_payload\\\": " + escape(JSON.parse(accountDetails).providerData) + "}\",\r\n headers: {\r\n Accept: \"application/vnd.github.everest-preview+json\",\r\n Authorization: \"token " + escape(JSON.parse(accountDetails).accessToken) + "\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\"\r\n },\r\n method: \"POST\"\r\n });"); document.getElementById("create-channel").setAttribute("onclick", "fetch(\"https://envxhwo2k72c3ck.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + JSON.stringify(JSON.parse(accountDetails).providerData).replace(/\\([\s\S])|(")/g, "\\$1$2") + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); + document.getElementById("delete-channel").setAttribute("onclick", "fetch(\"https://en7xbpph8vvj6n1.m.pipedream.net\", {\r\n body: \"{\\\"client_payload\\\": " + JSON.stringify(JSON.parse(accountDetails).providerData).replace(/\\([\s\S])|(")/g, "\\$1$2") + "}\",\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n method: \"POST\"\r\n})"); }); } else { // User is signed out. diff --git a/_includes/head.html b/_includes/head.html index c6ce716..a504a56 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -1,6 +1,12 @@ --- --- + + + + + + diff --git a/_includes/me.html b/_includes/me.html index cc7042b..768c28f 100644 --- a/_includes/me.html +++ b/_includes/me.html @@ -1,13 +1,26 @@ --- --- + diff --git a/_includes/navbar.html b/_includes/navbar.html index ee1f3c6..8c6acce 100644 --- a/_includes/navbar.html +++ b/_includes/navbar.html @@ -1,11 +1,30 @@ --- --- -
              -
              - - - - - -

              - + + + + + diff --git a/_plugins/ChannelManager.cs b/_plugins/ChannelManager.cs index 06c285d..23c49fa 100644 --- a/_plugins/ChannelManager.cs +++ b/_plugins/ChannelManager.cs @@ -26,6 +26,13 @@ public void Main(string[] args) } } } + else if(channelCommand.Equals("delete", StringComparison.OrdinalIgnoreCase)) + { + if(File.Exists("./_channels/" + chunkInput(manInput)[1] + ".md")) + { + File.Delete("./_channels/" + chunkInput(manInput)[1] + ".md"); + } + } else if(channelCommand.Equals("modify", StringComparison.OrdinalIgnoreCase)) { var commandOptions = getCommandOptions(chunkInput(manInput), 2); diff --git a/logout.html b/logout.html index f4d23cc..ca32b69 100644 --- a/logout.html +++ b/logout.html @@ -3,8 +3,10 @@ --- Logging out … + {% inc head.html %} +

              Logging out …

              {% inc firebase.html %} diff --git a/_layouts/default.html b/_layouts/default.html deleted file mode 100644 index 7929c73..0000000 --- a/_layouts/default.html +++ /dev/null @@ -1,3 +0,0 @@ ---- ---- -{{ content }} From a36ae2802698f56ab79521c1f4978e15dc26fa7d Mon Sep 17 00:00:00 2001 From: limeschool Date: Sun, 15 Mar 2020 22:14:38 +0000 Subject: [PATCH 112/117] Creating channel: 9283018 --- _channels/9283018.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 _channels/9283018.md diff --git a/_channels/9283018.md b/_channels/9283018.md new file mode 100644 index 0000000..239f804 --- /dev/null +++ b/_channels/9283018.md @@ -0,0 +1,8 @@ +--- +title: Ty Ethan Sayahi +layout: channel +source: "" +mute: true +autoplay: false +--- +{% inc player.html %} \ No newline at end of file From c088ac61581b04ee1e1bd7f23a334bb44ed7c038 Mon Sep 17 00:00:00 2001 From: limeschool Date: Tue, 17 Mar 2020 17:30:42 +0000 Subject: [PATCH 113/117] Creating channel: 5004276 --- _channels/5004276.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 _channels/5004276.md diff --git a/_channels/5004276.md b/_channels/5004276.md new file mode 100644 index 0000000..0906dbf --- /dev/null +++ b/_channels/5004276.md @@ -0,0 +1,8 @@ +--- +title: em +layout: channel +source: "" +mute: true +autoplay: false +--- +{% inc player.html %} \ No newline at end of file From 8a063beffa3a6e6eef89a2a9cd91e0feb1f40d41 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Wed, 29 Apr 2020 01:35:32 -0400 Subject: [PATCH 114/117] Initial hyper:// rewrite files --- .github/workflows/create-channel.yml | 44 -------------- .github/workflows/delete-channel.yml | 44 -------------- .github/workflows/main.yml | 42 ------------- .github/workflows/modify-channel.yml | 44 -------------- .github/workflows/publish-manual.yml | 44 -------------- _channels/32737166.md | 8 --- _channels/5004276.md | 8 --- _channels/9283018.md | 8 --- _channels/_config.json | 3 - _channels/emil.md | 9 --- _config.json | 42 ------------- _includes/auth.html | 52 ---------------- _includes/firebase.html | 32 ---------- _includes/firebase_ui.html | 34 ----------- _includes/head.html | 21 ------- _includes/me.html | 75 ----------------------- _includes/navbar.html | 43 ------------- _includes/navbar.js | 27 --------- _includes/player.html | 31 ---------- _layouts/channel.html | 13 ---- _layouts/login.html | 11 ---- _plugins/ChannelManager.cs | 90 ---------------------------- index.html | 27 --------- login.html | 6 -- logout.html | 22 ------- me.html | 68 --------------------- 26 files changed, 848 deletions(-) delete mode 100644 .github/workflows/create-channel.yml delete mode 100644 .github/workflows/delete-channel.yml delete mode 100644 .github/workflows/main.yml delete mode 100644 .github/workflows/modify-channel.yml delete mode 100644 .github/workflows/publish-manual.yml delete mode 100644 _channels/32737166.md delete mode 100644 _channels/5004276.md delete mode 100644 _channels/9283018.md delete mode 100644 _channels/_config.json delete mode 100644 _channels/emil.md delete mode 100644 _config.json delete mode 100644 _includes/auth.html delete mode 100644 _includes/firebase.html delete mode 100644 _includes/firebase_ui.html delete mode 100644 _includes/head.html delete mode 100644 _includes/me.html delete mode 100644 _includes/navbar.html delete mode 100644 _includes/navbar.js delete mode 100644 _includes/player.html delete mode 100644 _layouts/channel.html delete mode 100644 _layouts/login.html delete mode 100644 _plugins/ChannelManager.cs delete mode 100644 index.html delete mode 100644 login.html delete mode 100644 logout.html delete mode 100644 me.html diff --git a/.github/workflows/create-channel.yml b/.github/workflows/create-channel.yml deleted file mode 100644 index 625deb4..0000000 --- a/.github/workflows/create-channel.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Create channel -on: - repository_dispatch: - types: create-channel - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - with: - repository: 'MadeByEmil/WDHAN' - - name: Setup .NET Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 3.1.100 - - name: Build with dotnet - run: | - dotnet build --configuration Release - - uses: actions/checkout@v2 - with: - path: ./bin/Release/netcoreapp3.1/project - - name: Create channel - run: - 'echo -e "create ${{ github.event.client_payload.uid }} ${{ github.event.client_payload.displayName }}\n" | ./bin/Release/netcoreapp3.1/WDHAN serve ./bin/Release/netcoreapp3.1/project/' - - name: Output current directory listing - run: | - cd ./bin/Release/netcoreapp3.1/project/_channels - ls -a - - name: Deploy - uses: stefanzweifel/git-auto-commit-action@v4.1.1 - with: - repository: './bin/Release/netcoreapp3.1/project/' - commit_user_name: 'WDHAN' - commit_message: 'Creating channel: ${{ github.event.client_payload.uid }}' - - name: Publish channel - run: | - curl -H "Accept: application/vnd.github.everest-preview+json" \ - -H "Authorization: token ${{ secrets.API_KEY }}" \ - --request POST \ - --data '{"event_type": "publish"}' \ - https://api.github.com/repos/MadeByEmil/deck/dispatches diff --git a/.github/workflows/delete-channel.yml b/.github/workflows/delete-channel.yml deleted file mode 100644 index 9acad08..0000000 --- a/.github/workflows/delete-channel.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Delete channel -on: - repository_dispatch: - types: delete-channel - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - with: - repository: 'MadeByEmil/WDHAN' - - name: Setup .NET Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 3.1.100 - - name: Build with dotnet - run: | - dotnet build --configuration Release - - uses: actions/checkout@v2 - with: - path: ./bin/Release/netcoreapp3.1/project - - name: Delete channel - run: - 'echo -e "delete ${{ github.event.client_payload.uid }}\n" | ./bin/Release/netcoreapp3.1/WDHAN serve ./bin/Release/netcoreapp3.1/project/' - - name: Output current directory listing - run: | - cd ./bin/Release/netcoreapp3.1/project/_channels - ls -a - - name: Deploy - uses: stefanzweifel/git-auto-commit-action@v4.1.1 - with: - repository: './bin/Release/netcoreapp3.1/project/' - commit_user_name: 'WDHAN' - commit_message: 'Deleting channel: ${{ github.event.client_payload.uid }}' - - name: Publish channel - run: | - curl -H "Accept: application/vnd.github.everest-preview+json" \ - -H "Authorization: token ${{ secrets.API_KEY }}" \ - --request POST \ - --data '{"event_type": "publish"}' \ - https://api.github.com/repos/MadeByEmil/deck/dispatches diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml deleted file mode 100644 index 546c3e2..0000000 --- a/.github/workflows/main.yml +++ /dev/null @@ -1,42 +0,0 @@ -name: Publish - -on: [push] - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - with: - repository: 'MadeByEmil/WDHAN' - - name: Setup .NET Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 3.1.100 - - name: Build with dotnet - run: | - dotnet build --configuration Release - - uses: actions/checkout@v2 - with: - path: ./bin/Release/netcoreapp3.1/project - - name: Build project - run: | - cd ./bin/Release/netcoreapp3.1 - cp -avr ./project/* ./ - rm -r ./project/ - ./WDHAN build - - name: Output current directory listing - run: | - cd ./bin/Release/netcoreapp3.1/_site/ - ls - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - with: - deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} - publish_dir: ./bin/Release/netcoreapp3.1/_site/ - publish_branch: gh-pages # deploying branch - user_name: WDHAN - user_email: em@emsa.cf - commit_message: "Building WDHAN project" diff --git a/.github/workflows/modify-channel.yml b/.github/workflows/modify-channel.yml deleted file mode 100644 index da685b2..0000000 --- a/.github/workflows/modify-channel.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Modify channel -on: - repository_dispatch: - types: modify-channel - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - with: - repository: 'MadeByEmil/WDHAN' - - name: Setup .NET Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 3.1.100 - - name: Build with dotnet - run: | - dotnet build --configuration Release - - uses: actions/checkout@v2 - with: - path: ./bin/Release/netcoreapp3.1/project - - name: Modify channel - run: - 'echo -e "modify ${{ github.event.client_payload.uid }} ${{ github.event.frontmatter }}\n" | ./bin/Release/netcoreapp3.1/WDHAN serve ./bin/Release/netcoreapp3.1/project/' - - name: Output current directory listing - run: | - cd ./bin/Release/netcoreapp3.1/project/_channels - ls -a - - name: Deploy - uses: stefanzweifel/git-auto-commit-action@v4.1.1 - with: - repository: './bin/Release/netcoreapp3.1/project/' - commit_user_name: 'WDHAN' - commit_message: 'Modifying channel: ${{ github.event.client_payload.uid }}' - - name: Publish channel - run: | - curl -H "Accept: application/vnd.github.everest-preview+json" \ - -H "Authorization: token ${{ secrets.API_KEY }}" \ - --request POST \ - --data '{"event_type": "publish"}' \ - https://api.github.com/repos/MadeByEmil/deck/dispatches diff --git a/.github/workflows/publish-manual.yml b/.github/workflows/publish-manual.yml deleted file mode 100644 index 44f399a..0000000 --- a/.github/workflows/publish-manual.yml +++ /dev/null @@ -1,44 +0,0 @@ -name: Publish - -on: - repository_dispatch: - types: publish - -jobs: - build: - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v2 - with: - repository: 'MadeByEmil/WDHAN' - - name: Setup .NET Core - uses: actions/setup-dotnet@v1 - with: - dotnet-version: 3.1.100 - - name: Build with dotnet - run: | - dotnet build --configuration Release - - uses: actions/checkout@v2 - with: - path: ./bin/Release/netcoreapp3.1/project - - name: Build project - run: | - cd ./bin/Release/netcoreapp3.1 - cp -avr ./project/* ./ - rm -r ./project/ - ./WDHAN build - - name: Output current directory listing - run: | - cd ./bin/Release/netcoreapp3.1/_site/ - ls - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - with: - deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} - publish_dir: ./bin/Release/netcoreapp3.1/_site/ - publish_branch: gh-pages # deploying branch - user_name: WDHAN - user_email: em@emsa.cf - commit_message: "Building WDHAN project" diff --git a/_channels/32737166.md b/_channels/32737166.md deleted file mode 100644 index 5113f13..0000000 --- a/_channels/32737166.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Emil Sayahi -layout: channel -source: "" -mute: true -autoplay: false ---- -{% inc player.html %} \ No newline at end of file diff --git a/_channels/5004276.md b/_channels/5004276.md deleted file mode 100644 index 0906dbf..0000000 --- a/_channels/5004276.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: em -layout: channel -source: "" -mute: true -autoplay: false ---- -{% inc player.html %} \ No newline at end of file diff --git a/_channels/9283018.md b/_channels/9283018.md deleted file mode 100644 index 239f804..0000000 --- a/_channels/9283018.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Ty Ethan Sayahi -layout: channel -source: "" -mute: true -autoplay: false ---- -{% inc player.html %} \ No newline at end of file diff --git a/_channels/_config.json b/_channels/_config.json deleted file mode 100644 index ee7f350..0000000 --- a/_channels/_config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "output": true -} diff --git a/_channels/emil.md b/_channels/emil.md deleted file mode 100644 index 61d5484..0000000 --- a/_channels/emil.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Emil -layout: channel -source: "https://playertest.longtailvideo.com/streams/live-vtt-countdown/live.m3u8" -mute: true -autoplay: false ---- -{% inc player.html %} -

              Contact me

              diff --git a/_config.json b/_config.json deleted file mode 100644 index 91b6ca3..0000000 --- a/_config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "source": ".", - "destination": "./_site", - "collections_dir": ".", - "plugins_dir": "_plugins", - "layouts_dir": "_layouts", - "data_dir": "_data", - "includes_dir": "_includes", - "sass_dir": "_sass", - "collections": [ - "channels" - ], - "include": [ - "./.htaccess", - "./branding/ascii", - "./branding/regular", - "./branding/icons", - "./css/fonts" - ], - "exclude": [], - "keep_files": [ - ".git", - ".svn" - ], - "culture": "en-US", - "markdown_ext": "markdown,mkdown,mkdn,mkd,md", - "whitelist": [], - "plugins": [ - "ChannelManager" - ], - "excerpt_separator": "\\n\\n", - "baseurl": "", - "show_dir_listing": false, - "permalink": "/:collection/:name:output_ext", - "url": "https://madebyemil.github.io/deck", - "TAGS": {}, - "time": "1970-01-01T00:00:00.0000000Z", - "defaults": null, - "user": { - - } -} diff --git a/_includes/auth.html b/_includes/auth.html deleted file mode 100644 index 9a43a1d..0000000 --- a/_includes/auth.html +++ /dev/null @@ -1,52 +0,0 @@ ---- ---- - diff --git a/_includes/firebase.html b/_includes/firebase.html deleted file mode 100644 index d925dec..0000000 --- a/_includes/firebase.html +++ /dev/null @@ -1,32 +0,0 @@ ---- ---- - - - - - - - - - - - - diff --git a/_includes/firebase_ui.html b/_includes/firebase_ui.html deleted file mode 100644 index 5030397..0000000 --- a/_includes/firebase_ui.html +++ /dev/null @@ -1,34 +0,0 @@ ---- ---- - - - - diff --git a/_includes/head.html b/_includes/head.html deleted file mode 100644 index a504a56..0000000 --- a/_includes/head.html +++ /dev/null @@ -1,21 +0,0 @@ ---- ---- - - - - - - - - - - - - - - - - - - - diff --git a/_includes/me.html b/_includes/me.html deleted file mode 100644 index 768c28f..0000000 --- a/_includes/me.html +++ /dev/null @@ -1,75 +0,0 @@ ---- ---- - - - - diff --git a/_includes/navbar.html b/_includes/navbar.html deleted file mode 100644 index 8f9d2dc..0000000 --- a/_includes/navbar.html +++ /dev/null @@ -1,43 +0,0 @@ ---- ---- - - - - - - diff --git a/_includes/navbar.js b/_includes/navbar.js deleted file mode 100644 index 542dd39..0000000 --- a/_includes/navbar.js +++ /dev/null @@ -1,27 +0,0 @@ -document.write(` - - - - -`); diff --git a/_includes/player.html b/_includes/player.html deleted file mode 100644 index fc935ef..0000000 --- a/_includes/player.html +++ /dev/null @@ -1,31 +0,0 @@ ---- ---- - - - - - - - - - - - -
              - -
              diff --git a/_layouts/channel.html b/_layouts/channel.html deleted file mode 100644 index c2c6d92..0000000 --- a/_layouts/channel.html +++ /dev/null @@ -1,13 +0,0 @@ ---- ---- - - {{ page.title }} - {% inc head.html %} - - - {% inc navbar.html %} -

              {{ page.title }}

              - {{ content }} - {% inc firebase.html %} - {% inc auth.html %} - diff --git a/_layouts/login.html b/_layouts/login.html deleted file mode 100644 index f5dbab6..0000000 --- a/_layouts/login.html +++ /dev/null @@ -1,11 +0,0 @@ ---- ---- - - {{ page.title }} - {% inc head.html %} - - - {{ content }} - {% inc firebase.html %} - {% inc firebase_ui.html %} - diff --git a/_plugins/ChannelManager.cs b/_plugins/ChannelManager.cs deleted file mode 100644 index 23c49fa..0000000 --- a/_plugins/ChannelManager.cs +++ /dev/null @@ -1,90 +0,0 @@ -using System; -using System.IO; -using System.Text; -using System.Collections.Generic; -using System.Globalization; -using System.Diagnostics; -using System.Net; -using System.IO.Compression; - -public class ChannelManager -{ - public void Main(string[] args) - { - Console.WriteLine("Channel manager is ready."); - var manInput = Console.ReadLine(); - var channelCommand = chunkInput(manInput)[0]; - if(channelCommand.Equals("create", StringComparison.OrdinalIgnoreCase)) - { - var commandOptions = getCommandOptions(chunkInput(manInput), 2); - if(!File.Exists("./_channels/" + chunkInput(manInput)[1] + ".md")) - { - var defaultChannel = "---\ntitle: " + commandOptions + "\nlayout: channel\nsource: \"\"\nmute: true\nautoplay: false\n---\n{% inc player.html %}"; - using (FileStream fs = File.Create("./_channels/" + chunkInput(manInput)[1] + ".md")) - { - fs.Write(Encoding.UTF8.GetBytes(defaultChannel), 0, Encoding.UTF8.GetBytes(defaultChannel).Length); - } - } - } - else if(channelCommand.Equals("delete", StringComparison.OrdinalIgnoreCase)) - { - if(File.Exists("./_channels/" + chunkInput(manInput)[1] + ".md")) - { - File.Delete("./_channels/" + chunkInput(manInput)[1] + ".md"); - } - } - else if(channelCommand.Equals("modify", StringComparison.OrdinalIgnoreCase)) - { - var commandOptions = getCommandOptions(chunkInput(manInput), 2); - string channelContents = ""; - for(int i = 6; i < File.ReadAllLines("./_channels/" + chunkInput(manInput)[1] + ".md").Length; i++) - { - channelContents += File.ReadAllLines("./_channels/" + chunkInput(manInput)[1] + ".md")[i]; - } - channelContents = commandOptions + channelContents; - using (FileStream fs = File.Create("./_channels/" + chunkInput(manInput)[1] + ".md")) - { - fs.Write(Encoding.UTF8.GetBytes(channelContents), 0, Encoding.UTF8.GetBytes(channelContents).Length); - } - } - } - public static string getCommandOptions(string[] chunkedInput, int initial) - { - string commandOptions = ""; - for(int i = initial; i < chunkedInput.Length; i++) - { - commandOptions += " " + chunkedInput[i]; - } - return commandOptions.Trim(); - } - public static string[] chunkInput(string input) - { - input = input.Trim(); - List chunkedInput = new List(); - string currentChunk = ""; - int lastSpace = 0; - - for(int i = 0; i < input.Length - 1; i++) - { - if(input[i].Equals(' ')) - { - chunkedInput.Add(currentChunk); - currentChunk = ""; - lastSpace = i; - } - else - { - currentChunk += input[i]; - } - } - currentChunk = ""; - - for(int i = lastSpace + 1; i < input.Length; i++) - { - currentChunk += input[i]; - } - chunkedInput.Add(currentChunk); - - return chunkedInput.ToArray(); - } -} diff --git a/index.html b/index.html deleted file mode 100644 index dbfd6f2..0000000 --- a/index.html +++ /dev/null @@ -1,27 +0,0 @@ - - - - deck - - - - - - - - - - - - - - - - - - - - - - - diff --git a/login.html b/login.html deleted file mode 100644 index cd9f22d..0000000 --- a/login.html +++ /dev/null @@ -1,6 +0,0 @@ ---- -layout: login -title: Login ---- -

              Login

              -
              diff --git a/logout.html b/logout.html deleted file mode 100644 index ca32b69..0000000 --- a/logout.html +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: logout ---- - - Logging out … - {% inc head.html %} - - -

              Logging out …

              - {% inc firebase.html %} - - diff --git a/me.html b/me.html deleted file mode 100644 index a49b26a..0000000 --- a/me.html +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Settings ---- - - {{ page.title }} - {% inc head.html %} - - - - - -

              - -

              - -
              - - - -
              -
              -

              You

              - - -

              - -
              - -
              -

              Channel settings

              - -
              -

              Danger

              -
              - -
              
              -      
              - -
              -
              -
              -{% inc firebase.html %} -{% inc auth.html %} -{% inc me.html %} - From fe6461a933bdc84b6cb503260c6f23f722e707cc Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Wed, 29 Apr 2020 01:38:44 -0400 Subject: [PATCH 115/117] Ignore Jekyll with GitHub Pages --- index.md | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 index.md diff --git a/index.md b/index.md deleted file mode 100644 index b4b655e..0000000 --- a/index.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: deck ---- - - {{ page.title }} - {% inc head.html %} - - - - {% inc navbar.html %} - - {% inc firebase.html %} - {% inc auth.html %} - From 1e9865ad2809db1cc15baae0d6317edad65d1ed1 Mon Sep 17 00:00:00 2001 From: Emil Sayahi Date: Wed, 29 Apr 2020 02:04:39 -0400 Subject: [PATCH 116/117] Added blank subscriptions and discover pages --- discover/index.html | 29 ----------------------------- subscriptions/index.html | 29 ----------------------------- 2 files changed, 58 deletions(-) delete mode 100644 discover/index.html delete mode 100644 subscriptions/index.html diff --git a/discover/index.html b/discover/index.html deleted file mode 100644 index 164645d..0000000 --- a/discover/index.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - Discover - deck - - - - - - - - - - - - - - - - - - - -

              Discover

              - - - - - diff --git a/subscriptions/index.html b/subscriptions/index.html deleted file mode 100644 index 07cb4a8..0000000 --- a/subscriptions/index.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - Subscriptions - deck - - - - - - - - - - - - - - - - - - - -

              Subscriptions

              - - - - - From 51d0d7e669cba28f0401bf36a5117f727253b17c Mon Sep 17 00:00:00 2001 From: ImgBotApp Date: Sat, 8 Jan 2022 01:33:14 +0000 Subject: [PATCH 117/117] [ImgBot] Optimize images *Total -- 6,464.37kb -> 33.96kb (99.47%) /branding/letter/logo.png -- 1,985.30kb -> 1.44kb (99.93%) /branding/regular/logo.png -- 3,324.06kb -> 4.36kb (99.87%) /branding/ascii/logo_big.png -- 1,087.59kb -> 6.51kb (99.4%) /branding/ascii/logo.png -- 44.87kb -> 1.25kb (97.21%) /thumb.png -- 2.29kb -> 1.66kb (27.7%) /branding/icons/android-chrome-512x512.png -- 2.29kb -> 1.66kb (27.7%) /branding/icons/mstile-144x144.png -- 0.68kb -> 0.57kb (15.97%) /branding/icons/mstile-70x70.png -- 0.61kb -> 0.52kb (15.58%) /branding/icons/mstile-310x150.png -- 0.95kb -> 0.86kb (10.03%) /branding/icons/mstile-150x150.png -- 0.77kb -> 0.70kb (9.48%) /branding/icons/android-chrome-384x384.png -- 0.85kb -> 0.77kb (9.07%) /branding/icons/safari-pinned-tab.svg -- 2.62kb -> 2.43kb (7.02%) /branding/letter/logo.svg -- 0.84kb -> 0.80kb (4.44%) /branding/icons/apple-touch-icon-180x180-precomposed.png -- 0.96kb -> 0.92kb (4.06%) /branding/icons/apple-touch-icon-precomposed.png -- 0.96kb -> 0.92kb (4.06%) /branding/icons/apple-touch-icon-152x152-precomposed.png -- 0.85kb -> 0.82kb (3.12%) /branding/icons/apple-touch-icon-144x144-precomposed.png -- 0.83kb -> 0.81kb (3.04%) /branding/icons/apple-touch-icon-114x114-precomposed.png -- 0.71kb -> 0.70kb (1.92%) /branding/icons/apple-touch-icon-120x120-precomposed.png -- 0.70kb -> 0.69kb (1.81%) /branding/regular/logo.svg -- 4.42kb -> 4.38kb (0.84%) /branding/icons/apple-touch-icon-76x76-precomposed.png -- 0.60kb -> 0.59kb (0.81%) /branding/icons/apple-touch-icon-72x72-precomposed.png -- 0.60kb -> 0.60kb (0.33%) Signed-off-by: ImgBotApp --- branding/ascii/logo.png | Bin 45945 -> 1282 bytes branding/ascii/logo_big.png | Bin 1113697 -> 6662 bytes branding/icons/android-chrome-384x384.png | Bin 871 -> 792 bytes branding/icons/android-chrome-512x512.png | Bin 2350 -> 1699 bytes .../apple-touch-icon-114x114-precomposed.png | Bin 731 -> 717 bytes .../apple-touch-icon-120x120-precomposed.png | Bin 718 -> 705 bytes .../apple-touch-icon-144x144-precomposed.png | Bin 854 -> 828 bytes .../apple-touch-icon-152x152-precomposed.png | Bin 866 -> 839 bytes .../apple-touch-icon-180x180-precomposed.png | Bin 986 -> 946 bytes .../apple-touch-icon-72x72-precomposed.png | Bin 613 -> 611 bytes .../apple-touch-icon-76x76-precomposed.png | Bin 614 -> 609 bytes .../icons/apple-touch-icon-precomposed.png | Bin 986 -> 946 bytes branding/icons/mstile-144x144.png | Bin 695 -> 584 bytes branding/icons/mstile-150x150.png | Bin 791 -> 716 bytes branding/icons/mstile-310x150.png | Bin 977 -> 879 bytes branding/icons/mstile-70x70.png | Bin 629 -> 531 bytes branding/icons/safari-pinned-tab.svg | 43 +----------------- branding/letter/logo.png | Bin 2032947 -> 1477 bytes branding/letter/logo.svg | 2 +- branding/regular/logo.png | Bin 3403840 -> 4467 bytes branding/regular/logo.svg | 2 +- thumb.png | Bin 2350 -> 1699 bytes 22 files changed, 3 insertions(+), 44 deletions(-) diff --git a/branding/ascii/logo.png b/branding/ascii/logo.png index 836fd5699c70a6ad7095452c5aa6b22ac71d2d20..6a442982357142547a870a826f32ee9b1838d021 100644 GIT binary patch literal 1282 zcmeAS@N?(olHy`uVBq!ia0vp^Yk}B_gBeH)B`;G0QY`6?zK#qG8~eHcB(ehe3dtTp zz6=aiK)Hq%28Lfip@tU>45bDP46hOx7_4S6Fo+k-*%fHRz`&>w;1l8sRPcWk;R=EO z|I^>EmIQ`Td`XaBFayh+#sxX8YE?YZN5i)8@juhzdSsHmt9c&N1wVyX5)QZ7)|B62 zSCnMF7?8F1iJ9OF-MABsw|u6vMksxemAb#vZdJAD<~pbMQK!;2RS2hc%+;?w$-P5* zcJ|*5E3~avo7Y6i0MXctjQhEalYaqsP{a(^aAfuoKB2m5Zg1`1ZQT6gSCdjI!#JT*PF^Y!JuzGu6FADp$mdP(Yd z$;V)}=PmnmFP^hH9JO!paWf_Sn@kW-}KeLsk7&wjpv@7 zpL_Gszf;NHr`!A*XZSB%w?CNmbg?JFE4;5q$4UoXeEqXYaeI>8)RL7|(hHL; zRxDaPyX{@O!hEk?CVSVueROW!tb4c3p8z#@PG3@9P$6>V;&Jt~JBMntUQYVLwe-=; zndjc_6x<%PZfZ$q)yeK7Pp3}Oi-(m@5qrE7B$R&tR7H@o&FsU^j@-Ms z-RtWQk?<9jpZ{6r@O`;?XOYggKZ`=XKdC>ESX?FhT>kXK)#uMVng09aZ_fPp@6IR6 zE!|h%P&i}X|L;ZhUvJehnBQ}lt+upc88G#!mbgZgq$HN4S|t~y0x1R~10y3{14CT{ yix2}tD`R6T10!t%11kfAeGiwOM$wR)pOTqYiCe?@J+kFM4Gf;HelF{r5}E)VHXv63 literal 45945 zcmeI5TZmRw6vw}5Qp-z|6=e!BMn)GZAIc~yoM8qXQV|)#8j_022ZfXj%m>RLLdxv& zBAOufkX);zjeOOq@QkR;x|vn%}X6_4`=+1>^ZWYtMa`u{wWw+rqY5?W4_;1|A;A z{`g1ko!3!2V}5q*dFyqKT)1lf{ZA6%TVqY_*KJ$N!3k@+7Isefp}A$;ol}~pp59)o zwbr^i+Pc>^)&AJfvc8E+f?CdyDT217i0VW1Gb!iwlz@Qp7r;|jC7=Y9fD%vwN7lHAG$timo|ESQa{&56Z8_)?t&Yr(PA8MZo$cFAA#% zJK$3&56TY{?WR>7}g}>__Z|q-*MrkEXt8+q7%NFX|KBw)L0h z=j@NeMC^O))~MhRw$YRcy$t=dxg6`YVdSju_m^8X7cdt99hofC^0D!E&b6+=dVkwd z_i5sM%qaPJUA(I7mZ5(ea4rY(PL|-DmdcAS`p&zbV)bI$};F|B&=WWO>_^=I7=Q+^N_}>?Ut16ch-JBmO;ws2@$su+Olj zko2Kt1V5Lqiu0G|m*pQj*E!t!` z*=P7GF)=H9-`UXhTj(ov?r(Ml6n};HqUEnd=iV0BZ&l}8AQ}y=1e8GI5xD!O{Umkv zI|3RnJIzQ5C;=s)1eCxK0iKykU$dJ`jKkQ1p_ndf5ABQeyJ(eMOP;yrDdQ*No26OG zKP!F_=hNODvu*E1F5J&E+}*YgW9>Q$!+ax`d57$Y9J!APzAzexEyWUN#|^O)z5GQ3 zR}<(#?E0aAx{f8_HaB!I#8}`LU=L8N=FKVVMOw7xwn$Z-C~gfY?}c>ETzqF^Jvn1ED&HgU_yl_%y9!R*DBM%F zjC?#1qfK4v2>`{{+~kJiOM#xi%;)IZu#2&SB)J{CrJiHlzO-n~C|lW?VR1k_9&?); z8sBh3^QCZ)V{1u$7Pb%DO5sk5NAdqr>B9r_c-H*2=n^3S_^Ir!$2ud2^K6a@z7($c zl+4aS%j6^-Y2T)WyXd4DnJpD@!CwRKYz=%a03FhgO~bwtA}E)&P<&DDO}(=_4~m9f zdgeG4{3Z&Y#U3+C**7t_nC*n6)En6*XgYV;LjR~uX3fcW)byQ$Hp&~Kq8-%w6zebP z>;*vHjp<}tzn$1neEp))Xi7i{C;=s)1eAahPy$Mzfe7%V%K1jDWu=eS5ff}f(qBb= zE`3=kx=Bv^?i|`L! zf9U$8eIm^-(Lb?hsrG+Sy$ajJaGg25T$-V8|Iqb^u20$@()`l=6N}b}#&IvJL)dDp za!cs?L)RzmaA|(I{TXEwZ@$_yWAS&j+9kbR9c|sx1bz6&Jt>IBP0J;ET~XUr*O$em z==|dPFLl&4f~ovttjuE#^QpbcEurfVU7xhWrTNAAXBO?CXj8EDH)56MVk)4>NaFeSZFGHQB1 mMaPdcm20zXeMPtLBmTxO9`8Q2{+cBQa98J|jt|-&dhS2)WSw#V diff --git a/branding/ascii/logo_big.png b/branding/ascii/logo_big.png index 8f25bf3ecc527a62309a100b85dd5a3a759785ac..d27ffa664a7bf76b2ab5d45dd26d064748123aa8 100644 GIT binary patch literal 6662 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 literal 871 zcmeAS@N?(olHy`uVBq!ia0y~yU~B+k7G|JG*vl0?K#C>Z(btiIVPik{pF~z5Um@8e z$d`ekN{xY`p@o6r7f`6-1p`B=0RzLU1O^7H84L{K1#@-<+5ja~0(?STf%G3{=07Yf zK=g~16~aI!|NsBbvvLs=P#srEkY6x^=DmM%x3B&EbJf>x)mES=W0JSK3%C6BBL{#S z_7YEDSN12&{2a1;9;}^$K5D6NpY#eOm7Rd1j^s}!x&V1!D1z$uJ!z!3;3uG*RjlbUdAm^#X_Wiu`5e(Zct>rLM+S`EZAGS>%C~f%zk<7=D|eS znC1Szu#~s|_vy#!1LpYw=euIhl^g=fs+PD$l%ynog z3o9c_D?<})14AnV10At14JaCN^HVa@DsgLw_4WZJ&G4#_h?1bha)pAT{ItxRRE3ht zf>edff|6tghKf0lKk;xBhG}S=@;`mX^Jx$Rvog0{GPkg@u=ivUW?==F29v`n%*vZX r6i(l`a^lFDBQi(WPd9ih@X}*=B`#R<$;oso&LqiJ#!!Mvv!wUw6QUeBtR|yOZRx=nF#0%!^3bX-A7zg--xB}_lEG&PJ z5Ri)|f-L+0|Nk8Up5{Pp{3Stt!3<94Za=$c?|6RytZTFXUbPV2{RAk*nB?v5A~1Cm zuMUvIUgGKN%KnUzgHe%d=G3FBfI@L4t`Q|ciRB6fMfqu&IjIUIl?AB^nFS@u3|t_R zO92dwEVzsIlW+vt!K3Ez=0#$M)%(9&a44xOB zE{-7;x8C0M7HcvPaCKaCB7XD#yGDgK4i}h|+~vJsx&9eX^S-IS{zq~$Fe)&xG%yG- zFgY-AFfbD4Fbo!;O@w37{50TBuVt(#xh33S7D}qy2i)Zd2N0iB92iXUYgl_3mM|K) zmiq&#fJM8x5eAL2Kq2sjA))WxJVp=Zgve$whD!`D%mz)k7zi_L&*zTc$2@`c0OR0r z)rZ~pIJ^E!|JeCw_uK1Mj4y*Xhh--feE~X76;!&WB$lLFB^RXvDF!10BO_e{LtO)l x5CcOiV`D1=BW(i%D+7al50{=s(U6;;l9^VCTf_N1vgIJ}d%F6$taD0e0sw1^z0d#v literal 2350 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&w@L)Zt|+Cx8@7x}&cn1H;CC?mvmFK)yn< zN02WALzNl>LqiJ#!!Mvv!wUw6QUeBtR|yOZRx=nF#0%!^3bX-A7zg--xB}_lEG&PJ z5Ri)|f-L+0|Nk8Up5{Pp{3Stt!3<94Za=$c?|6RytZTFXUbPV2{RAk*nB?v5A~1Cm zuMUvIUgGKN%Kn6zpF@_+N0ZqPYwrE{-Rs>HggR|E`tdk{Eq~ zt766H*mfAq{rn}w{e1nu|6j~^l`=}`GdyNZ*u&5x-tdvhAdcY}_koI0!66VJ70c~v zFW9{U&>8V_e>B_asQX6ia%f!VMa#zR%JnxJ(D?0=bF_*u_fAOG*p_xRWP zFM~ISsn3!92CSG>OI#yLQW8s2t&)pUffR$0fsui(fw8WkX^4S^m64^Dp^3JEp_PGw zj@Xw56b-rgDVb@NxHZIj`+!;);Z-3KB|(Yh3I#>^X_+~x3MG{VsS23|CCLm76>}bc z;^8O^)6h8OfBKB)(;xZee9%@5v&}!U`@8CWlj)l{bedoW618#E~;cWR9?( eZtz&(rN{6}T(IPmlj&5T6%3xPelF{r5}E+nfov@R diff --git a/branding/icons/apple-touch-icon-114x114-precomposed.png b/branding/icons/apple-touch-icon-114x114-precomposed.png index ac122895a9f15755584053afffa29d0658fa8ef4..cee978566cbfa1e99c727bf887d70454d219bc0a 100644 GIT binary patch delta 499 zcmcc3dX{ywlFa=u{23BFabgYNHa_}FfvO83K*LjnV6ZFgZN-+5D8Stl`zY89?+)W zo-U3d8Ta1S-?rv!HV|>SXjp&d{DI{E(Y}nH0gFsJZTc?UVf|sE7t_<|u6Mfol2XW3 z-`5}Gu18<_^^WyRvul1ydLfrvM%=tdSxc_%-XXE}<&Krc{XDsKA?!cuN$Xo^qPPTC#5WB=SaT*O zl}n=;7;+d?L1CVfSdwa$T$Bo=7>o>zjC2hQbqy>+3=FM|jjarfv<(cb3=H-?TzVQ9 fbO;T(`6-!cmAEyW-y>TN)WG2B>gTe~DWM4fa>u@j delta 477 zcmX@hdYg5^llmvj{2a1uZuc0K85kG^JY5_^GVZ;-eUh)qL7?TK+_&1?d;dd40~J@y z$k^qv;Gee2{nTe+%Ad|u)(Na~44kuM=ALQdVz*)@u0OD53+r*M?IN#_#f9YVj(j8d zAmYD(^^_G+_x-cFm1n9&1*-s#kHHJWnO#(sT)5 zHlc+l11>CjW&h-Z;UpDLIFg$nQ`ZCIUz+ge-&824lCQ`bsA^t+&1ZR_a(>rYDr&)x z*D7&dNYSyI<#WV&@=6PnnQsll?j}#tZaDcX#`NqH#l>G&ezTjtzA$C`{gAjN%^E(} zXIK5?ILLVH_0wOC?0*W6zkRaIGsno8kNJMI&6^zzmsWoj%n0pxJ~^IAT*^S#z*yJN zG{nHd%E;2nz)ah~(8|D|T=}W_SDVY7#PBhddb|v%EI20MVN&ZTpCOcr!XsT u4pBILCZ!+XqPPoygUx0?o><`!N%_uC8mWv{%=6lSpLwazF?o|;wM z#TY&H+^Xx-*~`plcprXuP4?{Cm$&Ag-T3s8-m_aZW$MLwHhZ;;-~TwoR$sx;kkrD} zFpsg^!N7}gBD1>+-<%1S1#YJsr6pFHKm7Zdg+-?4R z)}El{2a1uZuc0K85kIaJzX3_GVZ;-eKPNmgMjPBPaVDNT>t(jA5=Wy zcV>x8EdRm1(aLju%~#i@6-UNRnX0}@uiIvGcJ8c@XED1YH{RB>wZ58LzpIwV+EnMR z;knZLXW!{vDwWrNC-8dL_xsPaZk5{4->~5Go;AOB?fwi8Fyl}VqGk;ZqDgy(9YKdz^ zNlIc#s#S7PDv)9@GB7gGH89pSGz~GZurji=GBDFNFtjo-C|7=Jj-nwqKP5A*5?wCy&nOiTJTUc4xd$I_#u!2j2$>9`c<;@`qr*B+2apcSqnIr6{8$1?x=`p+#7cBYY SWI7dS1%s!npUXO@geCxcyw;Ea diff --git a/branding/icons/apple-touch-icon-144x144-precomposed.png b/branding/icons/apple-touch-icon-144x144-precomposed.png index 6146b78dc2037703f7722432a352e8c857270c9f..a11766e8819f2dbb28eb780a7b492d706094effd 100644 GIT binary patch delta 578 zcmcb{wuf!PCxK^-9E^(W&sBDcGcYj3mAFoR%Op|Hm03`d%%uPZMiyMg7A8g}mL@3% zCP0V)X@Q9fhSj~UIbauP3)lQekSA%zWw4bgmpSdr; z{sJSb@#cfAug>HwXL)tjXu8(sFzzX@@BDl{`&ve0)77X28B@hpn25jbUGO=dk%@&v zK*6Db0mi5Yu`-k|{M3bsfTb?nXFU1$G+Y&k(b2C2)_93k_w=S3jmA57?HNIOF8pW9 zoiR0P-l;`mE5c??C@9bW!p2af8?f43DRJ+l^z^j3LKy*bvMx$*_Oy-Py6^LJH{SCv z%_L2=D;{NqW!DQ;TzvL2uT1A>&((^W2q*79%VfVSe|;v$!{pkPa{cdYo3~}W;(eZb zN}}se-MRdP`(kYX@0Ff!6LFw`}$2r)3UGB&m{ tFxECOure@^n6|DSMMG|WN@iLmNP`-79hs-a4g+;Cc)I$ztaD0e0szO&*oXiC delta 587 zcmdnPc8zVqr}`(%{2a3EhBpnjGB7aKdb&7aL&iAC-I|6e%f zm6^lUoYqc{9f{l&*?Us%q)D);wmRv$C;8Wr-kt7iVNeOkboHEU$-Ze)q-h>qMaw`#*Am z&H87aanxt2*paJhohSR3sx9T@jGujv!C{@+kqwu46)K}xnXm*uRL|=*~dQ*#al0a5cju_yEpk9lemi_|3fNqe7nsK$2LSf+)u>h(N2 zk{>hcX{&awZTL^w)pxmGU-&UMdpG-8xOEm&soWZ^w4w z+=Eg1%)kFwCmd*CWM<=$FhFH|`^7w;7ftYY_=f3q>@cPE5KUVW;_bROq{EE3E5{E} zu$MpQbINDO-OsgDuB#oH#hk~VcsL5fG&D~6pFZRHG>Cy&nOiTJTUc4xd$I_#u!2j2$>9`c<;@`q qr*B+2apcSqnIr6{8$1?x=`p+#7cBYYWI7dS9D}E;pUXO@geCxs~)y&Il)$U(yO zVc}6(A7it_|F%ndb!oP_1TOjS_I%xg$)-}7e~RYpjuxnQE1XotJUg{AknP>mRl7bO zyLRRC@+YpZee-tCQaN9oU-t3H^|LHd)&JZqMIj{1WkZsAbsb_cUluwk~Rj^QQ z*A<_|9&Q;X#r9LBe$C;|-g@S=_lscezw`c2>3V+T6r;`S&PyNNc3$#3x<~rCF*|Q@ znP|jYQ>UfdD?=NnT)lArX!+UWUc28mr)~Hc^Rh}wBlm~sWdG;8!`*^sy?vBfSd(X1 zKPhf+-){EQiRo%W#hF6x51VEFO0zFL@Kwc{aThR|sFt`!l%ynQOZ0=BH$)RpQo=d0Ol+12<5Mr>mdKI;Vst E06-rYqW}N^ delta 718 zcmdnQev5qr3uFBgW_}J?cEg*7TNxM_-+Q_^hE&{od-rrvlY@ZULpO(=k7Er_{@$Oq z=Lm~n%Q+?6$yVw4SHrJ~Smf1BT;3EZarARJdz4D%G0_YjiK)uCt%NR(009^RG`xEz;aO)BGA=>}l<)+_M+9etPE;uXXOl zC8>pLZ5HpX5Z|`?+;@@e=6w!D*-iUqrd(sGU1(7gEvY5sUw40NcWR>V1#|K2gZWH< zuN=SP(9FgwWs-4Wfg^-5xrd39AIkgk-^D-e1rzV&1}4$^xBnNw)W8*k7-e#6xe@wb z*gNn4XMr#-c#CkS@Z!Q6A3z3)6pF_C9*b(L2A`zSY#} zcB$T(izm-4ytaLze|Fot^*{aBA1hXx&;B81zDDl#S@qhbbxXe7+h{xg=stV}OuzW)>P@?mDp^}jnWt^E>aUDNH^{(QH2pI_#>X`fczIy&)- zlNzm0Xkxq!^40j0|)Q zjCBo7Lkujej4bP|49v9+46O_dE{42oM$wU*pOTqYiJ=3oVF72DJy1h9`c<;@`qr*B+2apcSqnIr6{8$1?x=`p+#7cBYYWI7dS2ZN`ppUXO@geCw& C4n2(k diff --git a/branding/icons/apple-touch-icon-72x72-precomposed.png b/branding/icons/apple-touch-icon-72x72-precomposed.png index 7b7af4946eaa6a31589d80c9a4bfcd50a5d3a44a..c05fb3ae7177bf2ecb85515ba497da0de6fbec19 100644 GIT binary patch delta 397 zcmaFL@|b198G&bv9E^%=6O=m}85kJiN?a%ZVU(!n$}A{J=28FyBMUBL3lk#~OOq4> z6Cgx@G{a;ABePVXfU&8OiJ6Hxh!2(qkwBGP3A1eH0gYYh>Eaj?aro_xoqUH31Y9q^ zR=xN5!~b}1L05$Z9d8_UX5GGJH8<9V;XuUm-wxg#o%PW>zjS)p&AIg}B=_#zt^VPR zMYG$Z*u2D7IJ{DlT*Q;YX*3~uVx!ISb-Dev@qr$Sts=jYGOQ;$acO>G^LTSnYsrOr zr(eB)^h$Qx2fo;R;eyBKq-_UJIxuQ8yY}!*dEzFv^JcphzwG2|Z%o3L9=B3BYG87^ zBK@ph3}c73jN$P@`DQ_&vsFu6BT7;dOH!?pi&B9UgOP!ek*zv5<0Ri<1s;|QiRy}lzy8PHZtK{V zRn@U!vEHYcjq?r&O=ryNDV=8}lys^hMWTAbw89L(nHGE(P4ds3NxnAam)^75S97mj z-}tTgzVHN98Kq_w=13RG6N)DsfLp^cl~m zK@7~w+@S`Imr>RxNRjC`m~yNwrEYN(E93Mg~Skx(0^21{NU(hE~SLRtCn}1_o9J j1`^ZO)uU+0%}>cptHiA#^R(Dupaup{S3j3^P6zv5<1AmZf`rROMv;Iw&wuaFUEOB# zH&SATTCQ=qcM+3b49|w=H4a&$msV}#lnRYrc_Sed_oAysESpPTg zw)gJ+;kj%^r;Um|Y|bcu+R!kuo%cax+VYKGEfWv5a0*{*T$?UbujX@Oe&Vq|*&M=Z zJ#BlvZ}cbgyC2#okS+HmPFk=cqUCuaXJ32jJBj0SIRh;s<~mDW&iZ-eMYZUO_QmvAUQh^kMk%5tcu7RbP0l+XkKUrwBB diff --git a/branding/icons/apple-touch-icon-precomposed.png b/branding/icons/apple-touch-icon-precomposed.png index c65fe9ebf2197abbaef89c2ce031198c398314bd..9203bce33397f6ae9bc7d6a1837e185820b68d41 100644 GIT binary patch delta 680 zcmcb`zKMMU3!}g@Mh-?rwh79ejSLJ7aV4&k3z;SAxiSk%lDQPXz{rBj*uuof#L^_i zzyt^pAk8q@z{o5WC}3=AWMXDw4&sBQK_pNmSHdjYc?=AU2RvOILn>~)y&Il)$U(yO zVc}6(A7it_|F%ndb!oP_1TOjS_I%xg$)-}7e~RYpjuxnQE1XotJUg{AknP>mRl7bO zyLRRC@+YpZee-tCQaN9oU-t3H^|LHd)&JZqMIj{1WkZsAbsb_cUluwk~Rj^QQ z*A<_|9&Q;X#r9LBe$C;|-g@S=_lscezw`c2>3V+T6r;`S&PyNNc3$#3x<~rCF*|Q@ znP|jYQ>UfdD?=NnT)lArX!+UWUc28mr)~Hc^Rh}wBlm~sWdG;8!`*^sy?vBfSd(X1 zKPhf+-){EQiRo%W#hF6x51VEFO0zFL@Kwc{aThR|sFt`!l%ynQOZ0=BH$)RpQo=d0Ol+12<5Mr>mdKI;Vst E0C+MP8vp0_YjiK)uCt%NR(009^RG`xEz;aO)BGA=>}l<)+_M+9etPE;uXXOl zC8>pLZ5HpX5Z|`?+;@@e=6w!D*-iUqrd(sGU1(7gEvY5sUw40NcWR>V1#|K2gZWH< zuN=SP(9FgwWs-4Wfg^-5xrd39AIkgk-^D-e1rzV&1}4$^xBnNw)W8*k7-e#6xe@wb z*gNn4XMr#-c#CkS@Z!Q6A3z3)6pF_C9*b(L2A`zSY#} zcB$T(izm-4ytaLze|Fot^*{aBA1hXx&;B81zDDl#S@qhbbxXe7+h{xg=stV}OuzW)>P@?mDp^}jnWt^E>aUDNH^{(QH2pI_#>X`fczIy&)- zlNzm0Xkxq!^40j0|)Q zjCBo7Lkujej4bP|49v9+46O_dE{42oM$wU*pOTqYiJ=3oVF72DJy1h9`c<;@`qr*B+2apcSqnIr6{8$1?x=`p+#7cBYYWI7dS2ZN`ppUXO@geCw& C4n2(k diff --git a/branding/icons/mstile-144x144.png b/branding/icons/mstile-144x144.png index b69b522d77bff84e7819e89852bf62f738791ece..689592c88dcfe435a74d71c377316a9171368ac9 100644 GIT binary patch literal 584 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q1xWh(YZ(J6mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VX;-`;;_Kaj^> z;_2(k{)~}>QIY%Iq^}?aaV4%1B|(Yh3I#>^X_+~x3MG{VsS23|CCLn2Ad*V~42&$e zj4e!zOe{@O3`~F!0n!YU4UEiEfda;+MkZz^<{&;;8bktBawW{Nod>k(nWu|mNX4zU zw>AngDDW_E+`#wyJ-ezm0Xkxq!^40jEr;* z40R1GLJSP8jE$`fjI|96tPBh!rmd?-(U6;;l9^VCTSMk)vBN+O44$rjF6*2UngBXP Bgl+%; literal 695 zcmeAS@N?(olHy`uVBq!ia0vp^6F``Q1xWh(YZ(J6mUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VX;-`;;_Kaj^> z;_2(k{)CyILzc@w!wlArU1(iRB6fMfqu&IjIUIl?AB^nFS@u3=9=>9)IHDC=AokIOTu( zjOWuJ24-b$y<~1-Wnu5hBFw@HE)6D!Q<#-EhbWxBaplC3Ge=~Ou%B-5Sm33{@Jd{; URG<|Mp00i_>zopr0O~i!y#N3J diff --git a/branding/icons/mstile-150x150.png b/branding/icons/mstile-150x150.png index b2e1428517ad7345e77d0631e5789e6744c0ab13..a94fef5c2fcd4178305a8a9f45730b25a689676a 100644 GIT binary patch literal 716 zcmeAS@N?(olHy`uVBq!ia0y~yVB`Z~4i=!ur5%QPK#C>Z(btiIVPik{pF~z5Um@8e z$d`ekN{xY`p@o6r7f`6-1p`B=0RzLU1O^7H84L{K1#@-<+5jb(lDyqr82-2SpV<%O zv6p!Iy0SlGD9TUE%t=)!sVqoU$Sf#HX5a#mTnb=d zWWi-@VPa%rX_8`K0)z;VW|(YXWR?mPFg7(ZF*7j-@xjs{5~z|ZVV3PYpr5ilT^vIy zZoR!@$k(92;}Dp&&jVsL)A_vA&B`+6+ij6fG*2RA|`4zAdG(%H}IsW(># zbD;v?kwyyv_D2pfKu!ak1r;W!;Q6Y^_?mC=Z5u6NW)PwC(n_}v9Y5yXJ-iiN*CPg0 z2PyC&j14LX-&SmY?HSmm2xo&?5ro>zjC2hQbqy>+3=FM|jjarfwG9lc3=AZut*b}T ckei>9nO2EgL*{9*!ytEfy85}Sb4q9e0GtNEMgRZ+ literal 791 zcmeAS@N?(olHy`uVBq!ia0y~yVB`Z~4i=!ur5%QPK#C>Z(btiIVPik{pF~z5Um@8e z$d`ekN{xY`p@o6r7f`6-1p`B=0RzLU1O^7H84L{K1#@-<+5jb(lDyqr82-2SpV<%O zv6p!Iy0SlE=I4;*w#cuY2efIAr;B4q#jUq@47r*eL>L0Yi~eiRR+=PYB;XP-`MZ{O zWXg}TpXLIs!T}oMP0!gK5Y;`s@x8S9-&3D&vOm~$#8HUdQ%0q50@WFE>GBEd7ymap zGwmb=b}YI5?vz|^&-u-^cf=<*tME;-@OY%qNd}`VHT+xhb|1V3MBmIm`?xm$x4!uf zHGH9hBYbfSzxl-CXu-qqwy~`Xs7STMHKHUXu_Vl&Jd7+6>t zSy~wyY8x0@85q>*-Bw4@kei>9nO2Eg1AlSyY@mkls*s41pu}>8f};Gi%$!t(lFEWq zh0KDIWCn(cIgdZ_a1@4VXq@stea7=?5CgL^w_Y;0u(GiCWD#az1(ybs!zs+ln?n>% o-?(z($eANDN7zp{cr5VJV|XPlSn|oqbSlWFp00i_>zopr0QG(7ssI20 diff --git a/branding/icons/mstile-310x150.png b/branding/icons/mstile-310x150.png index 83f6ad513577ac06a26894b23f1014b65dd65c5d..50195aed4a2e1661dc822df47ac7b78ecede38a6 100644 GIT binary patch literal 879 zcmeAS@N?(olHy`uVBq!ia0y~yVA5k?VC3Uq0gAA&hx`Xo>5jgR3=A9lx&I`x0{IHb z9znhg3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fg!Ib3f?!xfDz5mR9 zAdkJo)7O>#86yXyBKvcdo#H^DxDwZhlAy$Lg@U5|w9K4Tg_6pGRE5lfl4J%h5Xq$g z21XWK#ug??)F zK#IZ0z{p6~z);t~BE-PZ%GlV-z*yVBz{5jgR3=A9lx&I`x0{IHb z9znhg3{`3j3=J&|48MRv4KElNN(~qoUL`OvSj}Ky5HFasE6@fg!Ib3f?!xfDz5mR9 zAdkJo)7O>#2{S*3EYC9T7q&q8GEW!BkcwMx?;3I)HV|NNJo)5*eAuoXr3bn@jDweQ zh0k~@RhSIaN(OjiRL+0kedOzV|7Y(zOvq$+cUyjQ`I)qk#hov}bugv#H3eLZYDBT7;dOH!?pi&B9U zgOP!efv$nEuAym&frXWkrIn$Pwt=CQfr0hddb|v%EI20 zMVN&ZTpCOcr!XsT4pBILNS%G|oWRDFdh=jFE#;k)wR}k~W}FT#0K$Nl;?BLP1e}T4qkFLP=#oszPQ#NiqW$h~!cL10xGA zV+#`_6HAj60}~)bfHcEo10%Ckpn$Qdk%^g!IfxII29ZFOTnV#m=K*cn=;`7ZQgQ3; zjg7nq6nI=6)lTXN{yyJw*}%a`Wx~UG)#Bm*f>b;w0nsvX(>jp<@q;G}JA|2!e8R3s zf!pD3f*3n?$<@G+f`W#FQ89o0Sbuzyg^4gUKpb)JE5n126D5?_ygv<;QUwK5N@7W> zRdP`(kYX@0Ff!6LFw`}$2r)3UGB&m{FxECOure@^n6|DSMMG|WN@iLmZVj2I#SVik N_jL7hS?83{1ORG!eS-i1 literal 629 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H0wgodS2_SGmUKs7M+SzC{oH>NS%G|oWRDFdh=gqfd1mdiiGmxFp`2U;MHUEGAyd^o0fssYP z0Soa!ic!wk*!XqfRfgpX4z>%_2;j1x44ca<{(E1%xu^NGJtNZ<<}749`@iI`j^w}p z>Z|JhC8gJh+CBUB@8({vd?8eifV_EN`d`MXb6!5KEzw(mT-6fSh?11Vl2ohYqEsNo zU}Ruqple{PYiJr`U}0rsX=P}jZD43+U~nVy!ekT;x%nxXX_dG&tYpd12Wkkf3W+EQ zN-S3>D9TUE%t=)!sVqoU$Sf#HW?-n8^Y{}FM`4(T#wq{PXFQ(m_pwD+_y1 z7GV}vaA`0(oWiWUIYi;~jVmXPoH-(Mg#C1b#{w@shF9W(C7+y3rvj~D@O1TaS?83{ F1OU(J%Q64} diff --git a/branding/icons/safari-pinned-tab.svg b/branding/icons/safari-pinned-tab.svg index 0003709..d8206a1 100644 --- a/branding/icons/safari-pinned-tab.svg +++ b/branding/icons/safari-pinned-tab.svg @@ -1,42 +1 @@ - - - - -Created by potrace 1.11, written by Peter Selinger 2001-2013 - - - - - +Created by potrace 1.11, written by Peter Selinger 2001-2013 \ No newline at end of file diff --git a/branding/letter/logo.png b/branding/letter/logo.png index f1b2dbc7a7d6e56e339db73efb4d1f47425aada7..0b85df6242a9bb7429f4daa0b723ba250f46f2fa 100644 GIT binary patch literal 1477 zcmeAS@N?(olHy`uVBq!ia0y~yVDe^QU`}9R28x{PH!J{BEa{HEjtmSN`?>!lvI6-E z$sR$z3=CCj3=9n|3=F@3LJcn%7)lKo7+xhXFj&oCU=S~uvn$XBD4`PI6XNHn86|6g1CfB*jfQ>XrCXaAp`4wN_iw?7c5p0OmzFPOpM*^M+1C&}C0 zg`tC0)&t1lEbxddW?bJ0|ADE>ot`Xxh^y?#kerliYUySm#=ZiN8+2xn#S%KJA%|Rd3|OWBpzzv6jmE$ z&?OL-9ruYAg#|VfjDa5fD$v-N42v9C6v5m$_!Z>6ov1Y;(-!Y~*_C}SgJHP}mbZkU zaqS5U6lyDodw*u~5mxk+1hXENfMB-55*Exg6leds6D5p}YfEH|&t5767EP)pt`Q|E zi6yC4$wjF^iowXh$Vk_~P}jgB#K6$X*x1UzSlhtB%D_Nk+PZoa4Y~O#nQ4`{HDsO^ RI}Fso;OXk;vd$@?2>=hv;${E< literal 2032947 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 z

              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 diff --git a/branding/letter/logo.svg b/branding/letter/logo.svg index 3a38e93..738b449 100644 --- a/branding/letter/logo.svg +++ b/branding/letter/logo.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/branding/regular/logo.png b/branding/regular/logo.png index fcbeffc4ad2165f034cc10c17aeb628caac934d4..c4f0be5c90fa95e65548531af47e062e2614b3d6 100644 GIT binary patch literal 4467 zcmcgwe{2**6rRIFdPRP8dqRUP?O_iODSA*7;c6^BxAeOFy1TZaG|G=c1^&P`aF`Y& zU|Ex{QJ{6J&{R?vNs7@D0t8cHGlIP+pZzB$&FC|3WPkn5t>-n-W_-eUIhFL%8N1lyMG_w zyN4e>#CPuC{(gM(CPoN%cjLS~eCZNCa|ZYH;1MHmO${D97B5?dD=YE&^EfLDr=(!J z9p~iWD_3w~A@+I!Ow6}70Qjg-a8VijB6O;$*Vm8&3rqF<5*{^;%<{p5t#iOoTQY?n>& z_~Z_&_Cg{1OdYmP@-7nT_rfzQB!Gy05g_}#tyCWG%nf+uy667o zLBb388EM7y1#S?hh`E$45ED&!#S`|bLIPfn(ghrEJUq1{_60ZskE$hVR={z@!?Fk}RZh10%uQ1K zBx-2%lJr{=6*M|Y+70S=;%I`(4{>goInXRJ6hPca6F%xeGAYSc4kioef{l+_I^Ez# zYL_`*s$H{b+Mj)8RlhvAII-cbJmDTMz36#RS@4@zy#nOj`@+|Mzidh$l{S}c7fV(xph$8E{4Np-ZFI^%WxKZWSBsn@m+ZmeblK<7R&quM z|AdyZga3w`!y*O+Ycs_-GQF9nSpr?WodqA`ma^b;g2;kjnBF{(1%JV3vfzVU0}DPX z*mG#^wH1nmMI7LsWU@T1*O;up0p7-B&2v^US@vfGOqQ}(n#`a#33euHZJAse(-tQT^E})i>TS1KyVTXJs)EJmR+Gez;Nf5D!M3EJQkySJf zR_0I?K%dy06{J)r(+tTpuQ@3~FWk1JHe37hswd48{{J>m8AKs5Ql<4ql~h=ee#@2C zU$f@KGlICeZ%^HR@zTY2wIY~{j5<#ZX2^!R(K2h+lF-=9a7N!3LmrMt*LQ${opbjBWyJ>&d%2we~qwCEaMZEl$23lt}Ddpy59PC)SfuT?V+}jnsL? z`b95t=$k4T=tQ>_%Nbi;Q&QSo0o>1rT4#Gt1~1nfmnMIGOs=mTSCGDUnz{aDP$`4x z7?{gvMkgWKP=P2l^*#^(^yXsSx550zjOaC?6GxfogfygY45I;i=Iu|fBY>i-VZR$% zm^qSZUV3X%QZW?;e$o$J1xw!AAK8prZ=xekksg`JrBgSomc-xa*nVNirtF6Fo3b-> ziFt{kvNVpa%)??yC6U+MAF9I8#fkDJ>ItF!^v5{(+2NDdZl4XqUj>|@;>ytKm7yBX zstq;pgJ!vB&6?q!Im11>+&$BipYL(!Pj|aLZg<8A z_bs{N(krd=+l?OnQL8nvwf&SWr+#Ey>)2CfOdD4e#n4s$B0!)uZ{E$x3MW8-009DF3+#5vQ-{sp1qi!R)e#^-fB*pk1PBlyK!5-N0t6Zm5KuIL z?vVrt5FkK+009C72oNAJsKDg2*PLY+U{FQ(6Cgl<009C7niLRFG^y{|1PBlyK!5-N z0t5&UAV7cs0RjXF5C~D=wR_E6(k?)VlS!&30Yy^d)C>Uv1PBlyK!5-N0t5&UAV7cs z0RjXF5C~U5C=u>#R7QY6y#jyUc)OGB0@Q2nX#@xmAV7cs0RjXF5FkK+009Cy3mkjO zjA>GeoZkSw6Cgl<009C72oR`4VAiC|AGQlnhqPx9AV7cs0RjXF5Qs`ZKoQlr6ia{r z0RjXF5FkK+009C72oNAZU}1p=zIofNb^#VP@f!gGaR>+~;+T^v2@oJafB*pk1PBly zK!5-N0t5&UAV7dX^a4VO=tr1i14rNT$?w<&$Z_&|CP07y0RjXF5FkK+009C72oNAZ zARPe#MLM(82>}8G2oNAZpd5j7CYdCL8E0m^rEA^`#f2t+7w>?t#*Nhu;6oRSF;AV7cs z0RjXF5FkK+009C72oNAZfIy4_)rJ!9+vbqTb^&61FVswc009C72oNAZfB*pk1PBly zK!5-N0t6}*s5YRev~-6PAV7cs0RqcxaKkco0lWtU2oNAZfB*pk1PBlyK!8Au0s@K{ zr>15C1PBlyK!5-N0t5&Us6*hr$NclTb^+>;_6!092oNAZAWH!OMV4dNGywtx2oNAZ zfB*pk1PBlyK!5-N0tA{CxMs$f^2oNAZfB*pk1PBlyK!5-N z0tB)b5Kv_Q3IHHLfB*pk1PC-CFzxoQooW}L33<;XK!5-N0t5&UAV7dXFapP(GGm&Q zBA9U~ga82o1PBlyK!5-N0t5&UATYSVIvZd6Uv>cocXR>)0t5(DFCd_(-q;fe5FkK+ z009C72oNAZfB*pk1PBlyK!5;&A%O%!iF=QG=1X<~yv+m%5FkK+009C72oNAZfB*pk z1PBlyKp-Z81OkefxYbI4009C7A{5yBwKMjz3lQPpluUpC0RjXF5FkK+009C7!WIxv zggqbC5g(@_@z0t5&UAV7cs0RjXF z5FkK+009C72oOk2Kq!&eK(#}FK;8n=Uo`EPb^-E!2Xs$>009C72oNAZfB*pk1PBm_ zML<9i%cRsvfB*pk1PBlyK!8Bg0#olh|8%G#MpLPLaou0Z05FikYfPf;HQ7D7}0RjXF z5FkK+009C72oNAZfB*pk1PG)pAe88CzF&UL$KPicpgSv95g z1Qg-SLL~$U5FkK+009C72oNAZpc;W2&iM6bdfNr)6zytCaVh}<1PBlyKwu#ODaAq@ zejz}B009C72oNAZfB*pk1PBlyK!5-N0$mGS@Z9rG?rj&K>!Z`ZP(YFXjCDwW009C7 z2oNAZfB*pk1PBlyK!5-N0tA8(5K06w21O7cKp-N4;`rs>WEUW!fhm;$0RjXF5FkK+ z009C72oN9;rhtGV%( z$ZX)+B|v}x0RjXF5FkK+009C72oNBUvA{b&|Ar&_*ahem?Tpd1PM}f&DMh8c4kti> z009C72oNAZfB*pk1PBlyK!5-N0tDs@2qorA_&b3F1)jd+J%>GA(ryAV7cs0RjXF z5FikofPf;nktm1&0RjXF5FkK+009C72oNAZpw-%Cqg!vc3*b#4K!8BX0s@MZr>i#t z1PBlyK!5-N0t5&UAV7cs0RjXF5FikcfKVc!Vf^LlD?i@vEE|6S8fB*pk1PH_~@YoGAUe@m}K@1PBly zK!5-N0t5(zDIlN-b1tePK!5-N0t5&UAV7cs0Rr&|+_cq0pRfxM&%9JhfB*pk1OgEd zPy{jvWe^}hfB*pk1PBlyK!5-N0t5&UAV7csf#C#Bzxt5rDeeLYD2AK1&j=78K!5-N z0t5&UAV7cs0RjXF5FkK+0D;m4gc7BbI*wF?l?K$H@;fPfkibPpUcbFvfQIlrmH+_) z1PBlyK!5-N0t5&UAV7dXyaED>cxR__0t5&UAV7csfeZw$UHPT5FkK+009C72oNAZfB=C(1$I3AsI>>*1sJpn_Y)vM zAZGyqMb6XLI{^X&2oNAZfB*pk1PBlyK!5-N0t5&Us8K*DQ6qNKk9usAXE(JA(DW2M zp8x>@1PBlyK!5-N0t5&UAV7cs0Rja6Dj=Zn9uOcvfB*pk1j-Tk%x_+~r(J+@ES*At z009C72oNAZfB*pk83+g{G8nQJ2@oJafB*pk1PBlyK!8B}0%xA}icU$p0G*;8zlRP8 z5FkK+Kq3NCibMvf4FUuR5FkK+009C72oNAZfB*pk1PBly(2u}|vwk+Mq+NiX9xtHi ziOavVRQ# z5FkK+009C7#u5-vj3wlI0t5&UAV7cs0RjXF5FkK+009C72m~Z>;4<%@SLQB2r)US% zol>$BkWyqfat#w8K!5-N0t5&UAV7cs0RjXF5FkK+0D)!%gc8lTdny3}-3okp(zdTE za~Gi7=emvn0RjXF5FkK+009C72oNAZfB=C?1q2k8@;aOV0RjXF5FkK+K-dD4U%u42 zb^*ekk?IH#AV7cs0RjXFq$(hwNOiLMB0zuu0RjXF5FkK+009C72oPvm;H4XGw6$G; zrl;Wf1PBBxAfO0#Gzud?fB*pk1PBlyK!5-N0t5&UAV7cs0Rm|W2qn^*XY<|cw*BcF zmA(tmDca3fB=D@1Oya8jYBa62oNAZfB*pk1PBlyK!5-N0t5&UAV45Nfv?QH z>D)zj0R$8Y&RI(Y2oNAZfB*pk1PBlyK!5-N0t5&UAV45Q0ii^QQ&AHE0t5)8Ah6lW z+g!BBEUfk6ZW6ocrwmjD3*1PBlyK!5-N0t5&UAV7cs z0RjXF5a?P!DA6^Q3xg2Y;^;$PX%`@fQ7D1{0RjXF5FkK+009C72oNAZfB*pkg9r#H z2GMgb0RjXF5FkJxF@YUlzWG&l0TLUkb_ft4K!5-N0t5&UAP}g4fFjVrD2o6A0t5&U zAV7cs0RjXF5J*no-`>-nQ1vcAr)VeVrXd0Z2oOkFKuVGFboEAn009C72oNAZfB*pk z1PBlyK!5-N0t5mQs4SG2F!K#hRlN%kkfTxv5FkK+009C72oNAZfB*pk1PBlyK!5;& z9t0{2D0-;Dr345NAV7dX?*fx{zkLt80KL1pg8%^n1PBlyK!5-N0t5&U2t+_Y5y&8v zL4W`O0t5&UAV7cs0RkZjT=BZ`kJtqWX(DPNK!5-N0tC_%5KyEyQymc?K!5-N0t5&U zAV7cs0RjXF5FkJxY=L+0w9Hbq>;iO(cGwcClTvsG2oNAZfB*pk1PBlyK!5-N0t5&U zAV7csfm#HF616aU2mu0l3v7AoMena=7a(tD-4h@{fB*pk1PBlyK!5-N0t5&|B_N=P zYFvsXK!5-N0t5&UAV6R-fkO{I|1i4%i?R5C009C72oNAZfI#R10*cTlq&@-!2oNAZ zfB*pk1PBlyK!5-N0u2gW{M5};?E*A70FNe+uz-Lf;o)kH009C72oNAZfB*pk1PBly zK!5-N0t5(zBp{RsX&Pz?MBvVS?zytQU4Tx}4y12o5FkK+009C72oNAZfB*pk1PBly zK%iy;DMiiT9!G!x0RjXF5Xf0z`FpQey1re2oTc?nfB*pk1PBlyK!5;&@C5`E;m=5g z1PBlyK!5-N0t5&UAV7csfo=q*z3K6d>;iNn^TdG3>1PBlyK!5-N0t5&UAV7cs0RjXF z5J*lS?tmh>acGDD0RjXFgeCCom$vwN&AR}dq8*ljY6uV@K!5-N0t5&UAV7csfeHnr z6cyq+ng9U;1PBlyK!5-N0t5&QFYtng=KY}NU4Y>W@hJfU1PBlyK%g-J0Yzi<9!!7$ z0RjXF5FkK+009C72oNAZfB*pk)d*a-^zZEgR6|?hsRD`;F&#yK009C72oNAZfB*pk z1PBlyK!5-N0t5(*EFhE^*~T{n2oQ)#VB?+sJoInr6IY-3b*q&C0RjXF5FkK+ z009C72oNAZAX5PWMW%z-HUR@5i z2*f8KrHF54DkeaH009C72oNAZfB*pk1PBlyK!5-N0#OPGB}N5c6Ij8>TM z2oNAZfB*pk1PBlyK!5-N0t5&UAV7dX+yVlMxaX&O0t5&UAP}{{VH@u8HM;;&k5KUh z2oNAZfB*pk1PBlyK%j2{0Y%?*ZX`f}009C72oNAZfB*pkK?^*z-7P2E1qgaXiX%XP z009Dd3kWFkp14Yu>sgK!5-N0t5&UAV7cs0RjXF5Fn7Bz}Iiw(Vq*D-`I5=zJP!t z{28f`009C72oNAZfB*pk1PBlyK!5-N0t5&oAt01UVvL#~u$aJiumAjc0sOfDoua*1 zX+9u8fB*pk1PBlyK!5-N0t5&UAV7e?-vp!-UIhXK2oNAZfB*pky$I}c>brjtz%D>9 zCA*dY0RjXF5FkK+009Ca3J54doQj$V5FkK+009C72oNAZfB*pknF=iX%pa!O1;}*x z+9p6CI{^Vjb|cp?0RjXF5FkK+009C72oNAZfB*pk1PBmlMnEXhjQavl-TZ(pPPPlM z0Eiz65FkK+009C72oNAZfB*pk1PBlyKp+DF0YwHw)*=A{1PBnwTHxjhulryqy8xY{ zo%Jj z(2as?2oNAZfB*pk1PBlyK!5-N0(l4sDDs%IE(s7IK!5-N0t5&UAaLA|E;})(U4Tx} zHWdN{2oNAZfB=Eq1*83Y-0RjXF5FkK+009C7 zN)&kSAO7oIb^%HRbrb;t1PBlyKp=Gi0Y&N))*k@^1PBlyK!5-N0t5&UAV7cs0RjmK z%zXO(2kinRFi0&dARwSv0K<<22oNAZfB*pk1PBlyK!5-N0t5&UAV7dXbpk?(>TI1% zfWUwPkIlX7-jH_zIz@ZH4&6?G009C72oNAZfB*pk1PBlyKp=AgDMjWlfc6OxAV7cs z0RjYa6nNQnORW>~E{@1MLD-DePZXin!;edIAIp5FkK+ z009C72xKL2=WVlo6UQz2@qFsRU0h~yH009C72oNAZfB*pk1PBly zK!5;&)C2?+sZCTr1PBlyK!5;&o&_#k`PF~13(zy08wd~}K!5-N0t5&UAV6Rs0RhE8 zd~PN{fB*pk1PBlyK!5-N0t5(*A+YxczHppffH9DKO@IIa0yzo@C~};-o(T{jK!5-N z0t5&UAV7cs0RjXF5FkK+Km!6*gc9eDKmNhkb^$s?y8(TVBtU=w0RjXF5FkK+009C7 z2oNAZfB*pkISW*gQsnHZcLD?m5Fk*kz$=c~Xm)J70M&{(od5v>1PBlyK!5-N0t5&U zh*Us85$WKRO@IIa0t5&UAV7cs0RrUh*)4K>h>1_0t5(D zCh+5Rip(O&#RpAaBGfB*pk1PBlyK!5-N0t5mPkWd6Nh{4N{QVeeB z1OfyI5FkK+009C7>KAy?db_R_Mt}eT z0t5&UAV45&0SQIe^BJ%@DaC+*ZYMy1009C72oNAZfB*pk1PC-Lu-Ef0{zJUG0FBal zH~|8I3kW9yAJE|C2`C0PbOHea1PBlyK!5-N0t5&UAV7cs0RjXF3@RXy7*sHd`(q3x zHs5r=@7M*1;`LG_0RjXF5FkK+009C72oNAZfB*pk1bP$@PV@*C@8vND6!B`SoB#m= z1PDYS@WsdW`LJDpC`P470t5&UAV7cs0RjXFq$VJoNNu8{_9LJemB*I^2oNAZfB*pk z1PBlyK%iuSuRQUClOo>*=oIaeQ5;8r009C7<_kzD=1XMrcPT|Sqt++^0t5&UAV7cs z0RjXF5FkK+009C70um@ckhu2uzxrY1y8r>rr-o7l6g41w1OWmB2oNAZfB*pk1PBly zK!5-N0t5&wAW(idvB2Se3|T-Z5%P4@Mt}f;u>_V~ZR#p^0mf4DJplp)2oNAZfB*pk z1PBly5UPN1BGk#$QkQ_D7G@72K!5-N0t5&UAV45Sft$8_{J-r2#5g%M6Cgl<009C~ z2nZ*l7*mx+3Mi`7bv6M41PBlyK!5-N0t5&UAV7cs0RkflT)W9etER9E&?(v@wdnKF z1tb)s`(*O1lp>QsYm)#00t5&UAV7cs0RjXF5FkK+009Dx2?!(_qYv%DLW$5OqMl?0 z=DhEk$5Yq^NOnLPBS3%v0RjXF5FkK+009C72oR`VKsZsoaYRoLP((B=r4k@OfB*pk z1PF{Mu;B@ByU;Gch&;X^K!5-N0t5&UAP|6na3X*qgjIroBCL6+h5!Kq1PBlyK!5-N z0t5&UAP}Iyllx9u(=I@OgHaNJcm#wK@yx2mN(B@(VtW(;0t5&UAV7cs0RjXF5FkK+ z009C7vJenRWHIJ`niNWmptj~009C72oNAZfB*pk1PClHaQv%2vWs1S#a(h+HF zX#$E!2d8WT1PBlyK!5-N0t5&UAV7cs0RjXF1S619AhF3dcdls{pqw{PKv9mPQwR_s zK!5-N0t5&UAV7cs0RjXF5Fn7JKt|z2o&zqoYoSEBo=zh`fIxx*8y>v#J!$O%bc%L@ zbJ7w40t5&UAV7cs0RjXF5C}m)LJ`6gqN+hk5!JX9OMn0Y0t5&UAV7dXN&-8ddG@|( z?E<7U9la1BK!5-N0zC-`Cwk&?@&5@3D7*;-2oNAZfB*pk1PBlyK!5-N0t5)8C@^jH zuWfA?ppMB3C+bj6@)_fk>`GGv2oNAZfB*pk1PBlyK!5-N0t5&UAW)6KUjvD~_bysr z{c1JmJ2hzm|I|d%LUV42nZ*V7-I-c2q;3B zf*J@AAV7cs0RjXF5FkK+009C72oN9;s(?Tu)X79ymr$aiv2DER32(Iv&=9`I5+Fc; z009C72oNAZfB*pk1PBly(7S+eqIWZQj4B|Y7?sDD1PBlyK!8A`0^fc0hhJT5FkK+009C72oNAZfB*pk1PD|nAdskx zwwr_ZIj_Bcs=EM-_Aj7VRK)KD2oNAZfB*pk1PBlyK!5-N0t5&U$W=f%k?Z7Z>su&M z8?^@!AV7e?@B*J)=X)FGvI{W0fKLe!AV7cs0RjXF5FkK+KyU)WiQq<(VnG6m6sM{u z0t5&UAV7cs0RjXF%okW~hqs+-7ht}IzY`!pfB*pk-3SOLx>0gX2?7F&5)d6hfB*pk z1PBlyK!5-N0t5&UAV7dXo&q!Py7=2k?E)+sPIQWPo|DyeZ30q?+NeE<009C72oNAZ zfB*pk1PBlyK!5-N0)YuEno0y#o^sL?5K5#sQymegPTL5UX009C72oNAZfB*pk1PBlyK!8Bi0s@Jug`Gc!fKXx#ps2t8 z**iWnE&W}9PSK8fN{S~yfB*pk1PBlyK!5-N0t5&UAkdJ2grXsMk6lneO0l4Zp9v5k zK!5-N0^JFmarT^f>F)w`XW=RW1PBlyK!5-N0t8|c5KhE4v1IENP$WBAjS(O~fB*pk z1PBlyK!5;&SOwm7!ip!^1&DQe>Lx%SZ~@^&-~-C5JOM>s^VTf^0t5&UAV7cs0RjXF z5FkK+009Cy2?!)|ns)cSZhpq4j|8v_AfV`eWUeGYfB*pk1PBlyK!5-N0t5&UAV7dX zJOaXrcxIJRr9z2}hOJcs1PEj-F!$;sUKqeGKphk46zw`5;~4}95FkK+009C72oN9; znSg{MvVrAOu9PC5S?iPl0RjXF5FkK+009E!3mo`{>#oaW7odDRClVk)fB=CS1cVbc zAbUi=0s@MD<=jVr009C72oNAZfB*pk1PBlyK!5;&iUt01?N)#8dlx`BQSo#fKd69! zVo*W%6Cgl<009C72oNAZfB*pk1PBlyKp+GGfkX&XP{SAkLWwbed`*Br-2(r!+8*EP zdl#VYVm*%l0RjXF5FkK+009C72oN9;o`7&7yqTzISOEdWuq-|#K!5-N0t5&UAdslQ zPGMGg*FM_~y+9LN+fUhYYM2$OiU0uu1PBlyK!5-N0t5&U zAV7cs0RjX96%bGaIv8aUAV7cs0RjXjZTk5g>;iZX2oNAZfB*pk1PBlyKp<5C0Y$2l z)fWK*1PBlyK!5-N0t5&UATXN1OINu6)a-TvIz@Xl6W@Itn*f0T1+SWCnRWq6XLTR}0t5&UAV7csffNM< z6e&(sPXq`MAV7cs0RjXF5FkK+009C?3e35C&RgsPBsp455y(yA0RjXF5FkK+009C72qY=6{8Kxxp8GC9l7rP00RjXF5Fik^ zfPf;fb;Qq2$`K!5-N z0t5&UAV8oj0Rcr>lFlJOfB*pk1PBlyK!5-N0t5)uEO7kXJzr`UU_N@MXwU!A-w6;P zKp-9gDMdW9QYirf1PBlyK!5-N0t5&UAV7cs0RjXF5QthJo>1bpAMSaEU4W=xHpLSl zK!5-N0t5&UAV7cs0RjXF5FkK+0D<`e@dOm}EB1E+1PBlyK%f$V)2{lTCG7%KLhDch z1PBlyK!5-N0t5&UAV6Rk0RhD@C_W-UfB*pk1PBlyK!5-N0woJvFn9HFb^%I8bsPZ# z1PBly5VwGUBJTOAo&W&?1PBlyK!5-N0t5&UAV7cs0RjYCmpr`w1$F@zdJ#HBd!gS$ z{bhWpg{g}G0RjXF5FkK+009C72oNAZfB*pk1PCN8u;!Yr*1h)*{j-+&{N*2=$Y<6% zB|sn@f!nWq^Hp{M(wV1D2oNAZfB*pk1PBlyK!5-N0$B370%z7hq%`-w+@`fB*pk1PBl)M?gSPj-yiu5FkK+009C72oNAZfB*pk1PBo5 zM&Q(o_Ira}fNrE*Lm+tp0Y&m7)*t}_1PBlyK!5-N0t5&UAV7cs0RjXF5C}s+C=tdS zRFSs8=YG2C5q1F=AV7cs0RjXF5XeJ7K#|9sbxD8#0RjXF5FkK+009C7 z2oUI5;MiB(eY0JFp4r?$fB*pkT?z;&x`c8W0RjXF5FkK+009C72oNAZfB*pk1PBly zFqnW)Vj;ipp8b_I>;f!A;uiu02oNAZfB*pk1PBlyK!5-N0t5&UAW(sTfT99aM-m`F zfB*pkBM7X0_V4^}1dL$Q>J;sfzVbN%0t5&UAV7cs0RjXF5J*)(N|EYh^+kXH0RjXF z5FkK+009Cy3GDrfWp?)G0^~Gty%HcmfB=C61OyZb3{eXN2oNAZfB*pk1PBlyK!5-N z0t5&UAW)^i5g&Tz19kz*78X#HE$Tc11PBlyK!5-N0t5&UAV7cs0RjXF5FkKcSOKBL zuq-|#K!5;&J3qbWX?6j;2LuQZAV7cs0RjXF5FkK+009D32?!{vl65Wt0t5&UAV7cs z0RjX@7I?{jtiQ5dfRTM#txnM%?Q7o=AV7cs0RjXFBqAWCNMw-OAV7cs0RjXF5FkK+ z009C72oNAZU`XK1O&@xZT>!5FfhYt76j6*xkpu`3AV7cs0RjXF5FkK+009C72oNAZ zAbtU%MEo<<0fCRt+i*v_0Nw)v1PBlyK!5-N0t5&UAV7cs0RjY~5)e>CH7>;xAV7cs z0RjXF)GzRrwO(+YU4Z)CJ&^zb0t5&UAV7csfz$;A6sb>Ge*_2+AV7cs0RjXF5FkK+ z0D+JNRy*WZTiXQ~b3&b>J?1qoAV7dXlmb$UD95H~0t5&UAV7cs0RjXF5FkK+009C7 z2oN9;pMX%J)|suj`gNbM3s5V$hY=t^fB*pk1PBlyK!5-N0t5&UAV7dXkOBgVAjhI8 z0t5&UAV8omfnA<`)$i>B^hM_;0t5&UAV7cs0RjXF5Fk*u!1%f!=y?SC7I^M+TdgOb z9M|{#W8FA!UaK{Jd@! zz&Ad$)hc!Yf*Xs12oNAZfB*pk1PBlyK!5-N0t5&UAV6S20RhE=8h$1~fB*pk1PF{N zaL22*f0tc=F_{**pi{IL`NXdT2oNAZfB*pk1PBlyKwwBfO5rsiK!5-N0t5&UAV7cs z0RjYq5ZLki+iY$ZAc#>Yf&c*m1PIh3AfTv)*+U2rAV7cs0RjXF5FkK+009C72oNAZ zfIy=Hzux$#Zw_h~KtR#x`{3aO2oNAZfB*pk1PBlyK!5-N0t5&UAV44=0ii@bv(_mA z0tE6CxO(E}E)8lIAiojlm;eC+1PBlyK!5-N0t5&UATW}EfMO&WpA#TJfB*pk1PBly zK!Cug0?*#D{w;O^MkN~Q%TCcA=_{WTAV7cs0RjXv6OdA5HgN3{AV7cs0RjXF5FkK+ z009C72oN9;y1;>ZuC}*bfY7I;zQF|q6oVT&fdByl1PBlyK!5-N0t5&UAV7cs0RjXF z5a>ccDA5IyO9&9CUSNm)X6<4Zpn7LdAV7cs0RjXF5FkK+009C72oN9;ihzJ3lu4+A z009C72oNAZfIxKuvwpPx9J>J3`8t^Z0RjXF5FkK+0D(RP1QdOsxrG1$0t5&UAV7cs z0RjXF5FkK+z&`{wJbe0Xb^-q3(d$p0qTTB)t|ves9RVptI<5JIXFVkfTu)0RjXF5FkK+009C72oNAZfB*pk z1mY18P{cDUl@cI8fB*pkSqN-&;2MY61;}F5nj}Dg009C72oNAZfI#K~0*cIE0PPbX zK!5-N0t5&UAV7csfvg06ddUZ$v{>d&tbYoL60Rm$R2q?xRasdGX1PBlyK!5-N z0t5&UAV7cs0RjXF5Fk*7fKZ|gMQ4;Qu)-~OeAzBQ>8uVUK!5-N0t5&UAV7cs0RjXF z5FkK+KrjLVieN^e5CQ}U5FkK+Ky3m~fB)p8>;ja=-6`6oo#h|`1PBlyK!5-N0t5(T zCLpEAY~b1@K!5-N0t5&UAV7cs0RjXn6qxmaB|d5wph93r6CglO#}!KAV44?fqQ@TmX+)RBs5U15FkK+009C72oNAZfB*pk ze-jW;cohf`AV7cs0RjXF5FkJxUx5Q&v+cHa0m_|!r)ZaZpwkEtAV7csfuseb6iJU) za|8$wAV7cs0RjXF5FkK+009C72oPvQVBc9c-e(t}5&C!@DxipGRw^YxfB*pk1PBly zK!5-N0t5&UAV7cs0RmAA2qmH(pW+D+2ufi0IUgLVXJTvnDO*krsxZY6AV7cs0RjXF z5FkK+009C72oMNQKtK`ROjJaG009C72oNAZfWR;U```5AC+z|Z1LGqC1PBlyK!5-N z0+9-gkF;)O6Cgl<009C72oNAZfB=DX1YZ2&ajl|AryrdVAP}R#gD+b3*LDFam|Ul5 zS8%E$2_z)oAEQWUm|7t~fB*pk1PBlyK!5-N0t5&UAV7cs0RkZl2qi+Ej@l{{IA#C4 zPqGV88Lxv05FkK+009C72oNAZfB*pk1PBlyFs6WjVoV|z5FkK+009C72=pkh#HaRs zgI$0g(Ogb|009C72oNAZfB=Eq1OybhOt7|!fQZ)009C72oNAZfB*pk1PBlyK!5-N0t5)uA`nF=apC3{++`P_ zs`sH&w5vMWxdaFhAV7cs0RjXF5FkK+009C72oNAZU^Ia!Qi{61PBlyK!5-N0t5&U zAV7cs0RjXF^d)f0RrkNcEcXkC5Bw)9{$B0?E(z{g7}mG0RjXF5FkK+009C72oNAZfB*pk1PD|i zAfTv1)tLkc5FkK+z=8t1pY(#$>;fz(;%5Q`2oNAZfB*pk1PBlyK%ga{@DdOpK!5-N z0t5&UAV7csfv5#m{kL<@vkOqu2s=f)rYCs}0RjXF5XeP9N|DQ?^+|vL0RjXF5FkK+ z009C72oNAZfB*pkJqi5aUF$Dv7oaDyo-P(p^u*<20t5&UAV7cs0RjXF5FkK+009C7 z2oNAZpkIOU{od$40t5&UNKxSECnp_l7a+yS>WKgW0t5&Uh)Ce!hdEl zRba^_Tdgau7?*4N`X)et0D-{;1QdfCI)MNI0t5&UAV7cs0Rr6#oN>>$KV%o6JFA?p zdg`eUx30cAX92y(BCv!%j3bs&sgnQ!0-*}{Pm)k4qb>pj2oNAZfB*pk1PBlyK!5-N z0t9*zIQ{ygCfEh&iEO}&J4JiI6WmUqC8h8Z5FkK+009C72oNAZfB*pk1PBlyK!5-N z0<{PTC2C>z5CRnlT=c3*-?s};0jwhl5FkK+009C72oNAZfB*pk1PBnQLqI@Lhq7l7 zAV7cs0RjXFL?>`aG5Mo*0iqk5f(Z~HK!5-N0t5&Uh)6&{5z(-eN`L?X0t5&UAV7cs z0RjXF5J*Jex{ZJQm|cKGhN%q#1PJsiAfV`1&V2+35FkK+009C72oNAZfB*pk1PBly zK!89`0z!$NxCXd*%3C(R-!8xafc@RtDcb$r=q>^T2oNAZfB*pk1PBlyK!5-N0t5&U zs9r!yQN6Jz5FkK+009Ek3f%MNou=3YsMgr&1PBlyK!5-N0t5&UAV8pW0Rctnqz)uN zfB*pk1PBlyK!5-N0x1bR^P_veWfvf&iRy&_0RjXFgd!lI2xSuLAV7cs0RjXF5FkK+ z009C72oNAZfB=E~1b*`8cR!lxE`Wd{zt>&I1PBlyK!5-N0t5&UAV7cs0RjXF5FkLH z5don@BkUeZfB=E41y;Ry{EC_G0yIANPSI|>1_clxK!5-N0t5&UAV7cs0Rja6At0sr zhlQUA5FkK+009C72oN9;x4>G@oOFy`fVgLRRRPE5FkK+ z009C72oNAZfB*pk1o{^^=<_?TZx^6{KX(#XR6sznsEFSQ5FkK+009C72oNAZfB*pk z1PBlyK!5;&N(6)wm9RRLKq>+^pR>b9?E<7SO??m`K!5-N0t5&UAV7cs0RjXF5C};? zKoQb3)Ixv&0RjXF5Fn73!1b4`JI5|SgEQ|G?FOIj(F6z(AV7cs0RjXF3<*dnyaoga z5FkK+009C72oNAZfB*pksR{h?*{>XF7a+B%>W2V<Hl0RjXF5Fn7Sz}r{<#RYZ&5+1PD2oNAZfB*pk1PH_}AfSkQeyS%x zfB*pk1PBlyK!5-N0t5&UXh`7NHTK`aEB*v%-0t5&UAV7cs0RjXF z5FkK+009C72oN9;zJO37{22vQ;bv1Gn{5{$oPl(Tb~weTga82o1PBlyK!5-N0t5&U zAV7cs0Rp`XNGW7@>_3s4HBLkJKcK!8Ab0s@NiES*Gv009C7 z2oNAZfB*pk1PBlyK!5-N0t7M?xa*vKU(x$6fPf;yS4GPN2oNAZfB*pk1PBlyK!5-N z0t5&UAV8oA0ii?_>Yhn}009Eg3taQS)F*r21&F@wup8(U?XU|}9RUIa2oNAZfB*pk z1PBlyu$X|9VlfgQ5FkK+009C72oNAZfIxEsf7#>68|(r!=kLh`2oNAZfB=E|1OycI zS$h%z0t5&UAV7cs0RjXF5FkK+009C7niY8DGspJvzY)-E&7PjDfPf;|(Q1qU0RjXF z5FkK+009C72oNAZfB*pk1PFvBAe0De9;zWgpnQRUziP$F{#=0aU7bjP009C72oNAZ zfB*pk1PBlyKwuyN0mVRkZYDs0009C72oNBUyTDE_UU5ac03p5wouVCLS!yCcfB*pk z1PBlyu&{uXVqp)z5gw1vq5ExkCsi#`4apQ`C&v5_&0t5);DX_{at=5AN zj?1(8zjb}hHIF{y&jrZ(70^5Z0woFDeYgK^QWB+O2oNBUrNH{@w_3AjSNGpde*NpB z_41czNvrAj1pE^e@y$%d1PBlyK!5-N0t5&UAV7dXfC9gKL7a+jF{9j3(q8)5) z3L`*(K;8mUioEBqdjbRq5FkK+009C72oNAZfB*pk1PBlyP@6!1p~QtpZMCgkfZB%S zK?Dd8AV7cs0RjXF5FkK+009C72oNAZAT@#h0*cfW^h1CE0RjX96L{;FCR}P4Ah4k* zhX4Tr1PBlyK!5-N0t5&UC{;i}Q7Wgy2oNAZfB*pk1PBlyKp+Bv6AyjiTkHZvFeoJw zAV7cs0Rm|Y2q@B?ukHvCAV7cs0RjXF5FkK+009C72oNApv%pF3_~!C<0cu9?@o}A^ z-QyjVT`r}ljMl*f2oNAZfB*pk1PBlyK!5-N0t5&UAV7e?f&xN`1vUIkfB=Es1wOXg zzyHiGK<{quAV7cs0RjXF5FkK+009C72oT6zKtPfC3!r@h1PBlyK!5-N0$~fx`0oc+ zwF?mTj8sQ}009C72oNAZpg#ctMSpJYB0zuu0RjXF5FkK+009C72oN9;zrec3zG|Xf zfcWRA0|Jo>2q+>QoU#cJAV7cs0RjXF5FkK+009C72oNAZfIw^lLW$TWrrtpX&iup$<@ay`1PBlyK!89( z0u#P{%=vZ!5*nyh2oNAZfB*pk1PBlyP_2M~qFP_46Cgl<009C72oNAZfB*pk1WFOu z_3;;OWf!0nN{0|2K!89X0s@La2B8cB1PBlyK!5-N0t5&UAV7cs0RjXF5Fn7cK)|8I z&u&|OOS=H6zkvE9K!5-N0t5&UAV7cs0RjXF5FkK+0D(LO0uCth9Eh$75FkK+Ky3nV zdiQT$V;7({?g1avDcS>`;C2E82oNAZfB*pk1PBly5TbyTBE+evi2wlt1PBlyK!5-N z0t8|fcz>?>jI`r??6IY;keW;xP0RjXF5FkK+009C72oNAZfWUkK0mXa?e7hoVlHxo!%V0_BW>5TvZ0t5&UAnsOQfB*pk1PBlyK!5-N0t5&UAV7cs0RjXF#3xWyG7+DIiU|-Pkg>qDPcQvl zy8s!#09q$NfB*pk1PBlyK!5-N0t5&&ARwS<0No=A5FkK+009C72oT6hVB_Mr_t^!= zYUG+FK!5-N0t5&U=te+5(T$R82oNAZfB*pk1PBlyK!5-N0t5&U2vlIkLDM$33lQjV zlto}v0RhFRJia7AfB*pk1PBlyK!5-N0t5&UAV7cs0RjZd5)ew1CFvXjH42=6^wiDl z0@Mgz`lC8UyYw?1NPqwV0t5&UAV7cs0RjXF5FkJxLIEj7ghNv@0RjXF5FkK+Kve=) zFSGT}?E+M#>s$f^2oNAZfB*pk1PClBAfQ-K!_Nc=5FkK+009C72oNAZfB*pk)d|d8 z@8*^40#xVgWC8>TL?$4hh-_fWB|v}x0RjXF5FkK+009C72oNAZfB*pku?h$!s-4`N zL-&8aU4UwholbxN0RjXF5FkK+009C72oNAZfB*pk5ef(>A{?5M2@oJafB=E{0wnCo5%`;eoY<1+#T2oNAZfB=Dh1q2lR z%DImK0RjXF5FkK+009C72oNAZfB*pk

              ;e!Mo0~3s8=wQz8-&P((B=r4k@OfB*pk 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 \ No newline at end of file + \ No newline at end of file diff --git a/thumb.png b/thumb.png index 02ad3fda4a4278784f6808e0629fccad42d96266..3192cb94d62b20f105212f192a293808c4d1c74f 100644 GIT binary patch literal 1699 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&w@L)Zt|+Cx8@7x}&cn1H;CC?mvmFK)yn< zN02WALzNl>LqiJ#!!Mvv!wUw6QUeBtR|yOZRx=nF#0%!^3bX-A7zg--xB}_lEG&PJ z5Ri)|f-L+0|Nk8Up5{Pp{3Stt!3<94Za=$c?|6RytZTFXUbPV2{RAk*nB?v5A~1Cm zuMUvIUgGKN%KnUzgHe%{Q|pE`P$;g%HKHUav0R~`C_gPTCsm=OvLIC-Mg<0z1_l8J zCIS|fV&*w0OFI11A|F^4QnsM5=H~p za(^HduxK|o!k|$WCqE- z`mp;RXV-t}A3Oi-etX@D@n!JluLqiJ#!!Mvv!wUw6QUeBtR|yOZRx=nF#0%!^3bX-A7zg--xB}_lEG&PJ z5Ri)|f-L+0|Nk8Up5{Pp{3Stt!3<94Za=$c?|6RytZTFXUbPV2{RAk*nB?v5A~1Cm zuMUvIUgGKN%Kn6zpF@_+N0ZqPYwrE{-Rs>HggR|E`tdk{Eq~ zt766H*mfAq{rn}w{e1nu|6j~^l`=}`GdyNZ*u&5x-tdvhAdcY}_koI0!66VJ70c~v zFW9{U&>8V_e>B_asQX6ia%f!VMa#zR%JnxJ(D?0=bF_*u_fAOG*p_xRWP zFM~ISsn3!92CSG>OI#yLQW8s2t&)pUffR$0fsui(fw8WkX^4S^m64^Dp^3JEp_PGw zj@Xw56b-rgDVb@NxHZIj`+!;);Z-3KB|(Yh3I#>^X_+~x3MG{VsS23|CCLm76>}bc z;^8O^)6h8OfBKB)(;xZee9%@5v&}!U`@8CWlj)l{bedoW618#E~;cWR9?( eZtz&(rN{6}T(IPmlj&5T6%3xPelF{r5}E+nfov@R