From f993082473072fa658bc90bd8dda272e32198273 Mon Sep 17 00:00:00 2001 From: Morgan Date: Wed, 22 Jul 2020 13:47:15 +0200 Subject: [PATCH 001/108] fix incomplete personality test report --- tests/logb_personality_test.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/logb_personality_test.md b/tests/logb_personality_test.md index 20f4617..73772c4 100644 --- a/tests/logb_personality_test.md +++ b/tests/logb_personality_test.md @@ -39,4 +39,5 @@ ability to express warmth in a relationship. * **Decision Making:** Avoids making decisions; needs lots of information before they will make a decision * **In Pressure or Tense Situations:** The beaver tries to avoid pressure or tense situations. They can ignore deadlines. * **Greatest Needs:** The beaver needs security, gradual change and time to adjust to it. -* **What the Beaver Desires:** Clearly defined t +* **What the Beaver Desires:** Clearly defined tasks, stability, security, low risk, and tasks that require precision + and planning From b41a300829faff93e93f8503353f1b93859b89c6 Mon Sep 17 00:00:00 2001 From: Morgan Date: Wed, 22 Jul 2020 22:30:22 +0200 Subject: [PATCH 002/108] add useful gitignore resources --- README.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 06e2ca5..21ed00a 100644 --- a/README.md +++ b/README.md @@ -2819,8 +2819,7 @@ See also [Infrastructure](#infrastructure) * [Url Checker](http://urlchecker.org/) - Multi URL checker, can work from an input list. * [CICR Tool](https://www.ipaddressguide.com/cidr) - IP Range To CIDR / CIDR to IP Range * [Meta Tags](https://metatags.io/) - is a tool to debug and generate meta tag code for any website. With Meta Tags you can edit and experiment with your content then preview how your webpage will look on Google, Facebook, Twitter and more! -* [gitignore.io](https://www.gitignore.io/) - Generate .gitignore files for your project -* [AbuseIPDB](https://www.abuseipdb.com/check/170.233.47.242) - help make Web safer by providing a central repository for webmasters, system administrators, and other interested parties to report and identify IP addresses that have been associated with malicious activity online +* :star: [**gitignore.io**](https://www.toptal.com/developers/gitignore) - Generate useful .gitignore files for your project. **See also** [Source Code](https://github.com/toptal/gitignore.io) * :star: [**Xerius**](https://brutonetto.xerius.be) - :fr: [BE] Devenir indépendant : Simulez votre tarif journalier en tant qu'indépendant / Calculateur de Brut-Net * [Downdetector](https://downdetector.com) - offers a realtime overview of status information and outages for all kinds of services. | online monitoring of your favorite services * [Sven Taylor](https://www.techspot.com/news/80729-complete-list-alternatives-all-google-products.html) - (2019) The complete list of alternatives to all Google products | Parallel universe for the super security conscious @@ -5528,6 +5527,8 @@ psql -f db.out postgres * [What the Commit](http://whatthecommit.com/) - A random commit message generator. | some inspiration for your next git commit message | NSFW :-D * [rponte/get-latest-tag-on-git.sh](https://gist.github.com/rponte/fdc0724dd984088606b0) - Getting latest tag on git repository * [Tom Forbes](https://tomforb.es/testing-my-dotfiles-with-github-actions/) - (2019) Testing my dotfiles with Github actions +* :star: [**gitignore.io**](https://www.toptal.com/developers/gitignore) - Generate useful .gitignore files for your project. **See also** [Source Code](https://github.com/toptal/gitignore.io) +* [github/gitignore](https://github.com/github/gitignore) - A collection of useful .gitignore templates ### Dotfiles / Aliases See also [Shell aliases](#shell-aliases) @@ -5543,7 +5544,7 @@ See also [Shell aliases](#shell-aliases) * [GitAlias/gitalias](https://github.com/GitAlias/gitalias) - Git alias commands for faster easier version control * [Robby Russell/oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh/blob/456341fd69c3e514e401f1c3c1726b77d733c86b/plugins/git/git.plugin.zsh) - git aliases from oh-my-zsh * [Oli Young](https://gist.github.com/oliyoung/91a829ea21550a7a7d9469220a7c2f73) - shared .gitconfig with some useful Git aliases -* [gitignore.io](https://www.gitignore.io/) - Generate .gitignore files for your project +* :star: [**gitignore.io**](https://www.toptal.com/developers/gitignore) - Generate useful .gitignore files for your project. **See also** [Source Code](https://github.com/toptal/gitignore.io) * [George Gritsouk](https://gggritso.com/human-git-aliases) - (2016) Human Git Aliases | Stubbornly Refusing to Speak The Computer's Language | **Bonus** : [author's dotfiles](https://github.com/gggritso/dotfiles/blob/master/gitconfig.symlink) * [GitHub does dotfiles](https://dotfiles.github.io/) - guide and productivity tips for managing dotfiles * [raidzero/dotfiles](https://github.com/raidzero/dotfiles) - some shared linux dotfiles @@ -5558,6 +5559,7 @@ See also [Shell aliases](#shell-aliases) * [twpayne/chezmoi](https://github.com/twpayne/chezmoi) - Manage your dotfiles across multiple machines, securely. | I'm using it for a while, it's a powerful and fast tool for managing dotfiles, easy to use, transparent and secure, with support of Bitwarden, Vault, pass, LastPass, 1Password, gopass, Keepass, GnuPG, Keychain etc. * [Tom Forbes](https://tomforb.es/testing-my-dotfiles-with-github-actions/) - (2019) Testing my dotfiles with Github actions * [Jeffrey Paul](https://sneak.berlin/20191011/stupid-unix-tricks/) - (2019) Stupid Unix Tricks +* [github/gitignore](https://github.com/github/gitignore) - A collection of useful .gitignore templates ## Golang / Go * [faiface/pixel](https://github.com/faiface/pixel) - Pixel : A hand-crafted 2D game library in Go. @@ -5979,7 +5981,7 @@ See also [Dotfiles / Aliases](#dotfiles--aliases) and [Shell aliases](#shell-ali * [Kent C. Dodds](https://kentcdodds.com/blog/write-tests) - (2017) Write tests. Not too many. Mostly integration. * [Martin Fowler](https://martinfowler.com/articles/is-quality-worth-cost.html) - (2019) Is High Quality Software Worth the Cost? * :star: [**DistroTest**](https://distrotest.net/?module=systems&action=list) - The first online operating system tester | Take a look at the existing linux distributions, test them live online and thus without any installation -* [gitignore.io](https://www.gitignore.io/) - Generate .gitignore files for your project +* :star: [**gitignore.io**](https://www.toptal.com/developers/gitignore) - Generate useful .gitignore files for your project. **See also** [Source Code](https://github.com/toptal/gitignore.io) * [1x Engineer](https://1x.engineer/) - a non-exhaustive list of what qualities make up a 1x engineer. * [Dan Slimmon](https://blog.danslimmon.com/2019/07/15/do-nothing-scripting-the-key-to-gradual-automation/) - (2019) Do-nothing scripting: the key to gradual automation | pattern for scripts that do nothing but still help on the road to automation * :star: [**Eric Pement**](https://web.archive.org/web/20190804114017/http://www.pement.org/awk/awk1line.txt) - (2008) Handy one-line scripts for awk @@ -6006,6 +6008,7 @@ See also [Dotfiles / Aliases](#dotfiles--aliases) and [Shell aliases](#shell-ali * [Jeffrey Paul](https://sneak.berlin/20191011/stupid-unix-tricks/) - (2019) Stupid Unix Tricks * [Carl Tashian](https://smallstep.com/blog/ssh-tricks-and-tips/) - (2020) SSH Tips & Tricks for using SSH more effectively. * [asdf-vm/asdf](https://github.com/asdf-vm/asdf) - Extendable version manager for multiple languages | Manage multiple runtime versions with a single CLI tool, extendable via [plugins](https://github.com/asdf-vm/asdf-plugins) +* [github/gitignore](https://github.com/github/gitignore) - A collection of useful .gitignore templates ## Programmer humor * [CommitStrip](http://www.commitstrip.com/en) - daily life of developers From 98be6a9c7ef71205a8a335309704e68a82592c4c Mon Sep 17 00:00:00 2001 From: Morgan Date: Wed, 2 Sep 2020 09:18:34 +0200 Subject: [PATCH 003/108] reorganize remote jobs section into remote work --- README.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 21ed00a..60b0432 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ How can you support me : [![Buy me a coffee][img-buymeacoffee]][buymeacoffee] or * [Board games](#board-games) * [Role-playing :dragon:](#role-playing-dragon) * [Health and Work-Life Balance](#health-and-work-life-balance) - * [Remote jobs](#remote-jobs) + * [Remote work](#remote-work) * [Hobbies](#hobbies) * [Humor :trollface:](#humor-trollface) * [Images / Wallpapers](#images--wallpapers) @@ -3106,22 +3106,28 @@ See also [Infrastructure](#infrastructure) * [Google Search](https://www.google.be/search?q=what%20are%20the%20worst%20foods%20to%20eat) - what are the worst foods to eat ? * [Tina Su](http://thinksimplenow.com/happiness/life-on-purpose-15-questions-to-discover-your-personal-mission/comment-page-13/) - (2015) Life on Purpose: 15 Questions to Discover Your Personal Mission -## Remote jobs +## Remote work +> Finding a remote job * [Elen Veenpere](https://teleport.org/blog/2015/03/best-sites-for-remote-jobs/) - (2015) Best sites for finding your dream remote job * [The Remote Working Company](http://www.remoteworking.co/) - Remote Jobs for people that don't like to go to work, mostly technology oriented * [Working Nomads](https://www.workingnomads.co/jobs) - Remote jobs, with most offers in development * [We Work Remotely](https://weworkremotely.com/) - Remote Jobs: Design, Programming, DevOps and more * [Stack Overflow](https://stackoverflow.com/jobs/remote-developer-jobs) - Remote Developer jobs -* [Christina Ng](http://wfh.ninja) - Excuses generator for remote workers * [lukasz-madon/awesome-remote-job](https://github.com/lukasz-madon/awesome-remote-job) - list of awesome remote jobs and resources + +> Tools +* [Christina Ng](http://wfh.ninja) - Excuses generator for remote workers * [Sick Call Excuse Generator](http://www.getodd.com/raz/sickday/sickday.html) - helpful to you in deciding the excuse for your forthcoming day off. * [WFH-excuses](https://us-central1-wfh-excuses-gh.cloudfunctions.net/wfh) - Working from Home excuses generator. **Bonus** : [GitHub repo](https://github.com/lnfnunes/WFH-excuses) + +> Misc * [Antonio Bello](https://www.raywenderlich.com/114368/staying-motivated-work-home-developer) - (2015) Staying Motivated as a Work From Home Developer * [Nathalie Marquez Courtney](https://increment.com/development/home-is-where-the-work-is/) - (2017) Home is where the work is | Flexible. Freeing. Lonely. Three remote engineers share what it’s really like to work from afar. * [Julia Evans](https://jvns.ca/blog/2018/02/18/working-remotely--4-years-in/) - (2018) Working remotely, 4 years in * [Northern Ireland Business](https://www.nibusinessinfo.co.uk/content/common-causes-stress-work) - How to deal with stress : Common causes of stress at work * [Marie Prokopets](https://usefyi.com/remote-work-best-practices/) - (2019) 11 Best Practices for Working Remotely * [Remote Mob Programming](https://www.remotemobprogramming.org/) - A summary of the essentials of successful Remote Mob Programming +* [Thomas A. Limoncelli](https://queue.acm.org/detail.cfm?id=3417752) - (2020) Five Nonobvious Remote Work Technique) # Hobbies > Beers :beers: From dd0ab7dc4ecf63936f5be645732c6ce29dd89ee3 Mon Sep 17 00:00:00 2001 From: Morgan Date: Tue, 8 Sep 2020 10:26:36 +0200 Subject: [PATCH 004/108] fix http -> https for bash pitfalls --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 60b0432..2f77a13 100644 --- a/README.md +++ b/README.md @@ -6412,7 +6412,7 @@ See also [CLI Tools](#cli-tools) * [Hacker Rank](https://www.hackerrank.com/domains/shell) - Linux Shell challenges, funny but nothing fancy * [Commandline Challenge](https://cmdchallenge.com/) - Linux Shell challenges * [Bash Hackers Wiki](https://wiki.bash-hackers.org/scripting/obsolete) - obsolete and deprecated syntax -* [Bash Pitfalls](http://mywiki.wooledge.org/BashPitfalls) - common errors that Bash programmers make +* [Bash Pitfalls](https://mywiki.wooledge.org/BashPitfalls) - common errors that Bash programmers make * :star: [**ShellCheck**](https://www.shellcheck.net/) - finds bugs in your shell scripts. [Source code](https://github.com/koalaman/shellcheck). Can be used online, in Vim, Atom, Sublime Text, ... * [Nicola Paolucci](https://developer.atlassian.com/blog/2015/02/ten-tips-for-wonderful-bash-productivity/) - (2015) Ten tips for wonderful bash productivity * [blockloop.io](https://www.blockloop.io/mastering-bash-and-terminal) - Mastering Bash and Terminal From 17ef725437e3c7431c5c3f103b815e2748c3f6e2 Mon Sep 17 00:00:00 2001 From: Morgan Date: Wed, 9 Sep 2020 11:17:44 +0200 Subject: [PATCH 005/108] A book for learning the Vim editor the smart way. --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 2f77a13..b727114 100644 --- a/README.md +++ b/README.md @@ -405,6 +405,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [pdf-magazines.me](https://pdf-magazines.me/) - PDF Magazines and ebook, variety of categories, fast search. * [WorldMags.net](https://www.worldmags.net/) - Magazines from all over the world * [freemagazinepdf.com](https://freemagazinepdf.com/?s=linux) - Magazines PDF download free +* [iggredible/Learn-Vim](https://github.com/iggredible/Learn-Vim) - A book for learning the Vim editor the smart way. > Summaries, notes and reviews * [WikiSummaries](http://www.wikisummaries.org/wiki/Category:Summaries) - A listing of free book summaries in English by category and alphabetically. @@ -3478,6 +3479,7 @@ rpm --rebuilddb * [Dimitri Merejkowsky](https://dmerej.info/blog/post/lets-have-a-pint-of-vim-ale/) - (2017) Let's have a pint of (vim) ale! | Write a custom language linter for ale * [MorganGeek](https://gist.github.com/MorganGeek/2958ba47630a176733e0136b42557284) - (2020) Validating Jenkinsfile in Vim and/or using CLI / terminal * [devhints](https://devhints.io/vimscript) - Vim scripting cheatsheet +* [iggredible/Learn-Vim](https://github.com/iggredible/Learn-Vim) - A book for learning the Vim editor the smart way. # Mac * [Ask Different](https://apple.stackexchange.com/questions/69015/install-2-different-os-x-versions-on-the-same-machine-hdd) - Install 2 different OS X versions on the same machine/hdd From 7e7bdcdf7bc3d32bc5c1bc8dd91fb11f950b48c6 Mon Sep 17 00:00:00 2001 From: Morgan Date: Fri, 25 Sep 2020 00:08:14 +0200 Subject: [PATCH 006/108] read DC and Marvel Comics Online for free --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b727114..8038905 100644 --- a/README.md +++ b/README.md @@ -406,6 +406,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [WorldMags.net](https://www.worldmags.net/) - Magazines from all over the world * [freemagazinepdf.com](https://freemagazinepdf.com/?s=linux) - Magazines PDF download free * [iggredible/Learn-Vim](https://github.com/iggredible/Learn-Vim) - A book for learning the Vim editor the smart way. +* [Read Comics Online](https://readcomicsonline.ru/) - Website to read DC and Marvel Comics Online for FREE. > Summaries, notes and reviews * [WikiSummaries](http://www.wikisummaries.org/wiki/Category:Summaries) - A listing of free book summaries in English by category and alphabetically. @@ -2654,6 +2655,7 @@ See also [Infrastructure](#infrastructure) * [RAWG](https://rawg.io/) - Discover your next favorite game | The largest video game database and video game discovery service powered by you!. RAWG is building its database as an infotainment and discovery tool where every user can build its own library of video games and find out about new titles. | RAWG is officially the largest video game database in the world * [Movix.ai](https://movix.ai/) - Discover your movie in a few clicks | Movix.ai is a movie recommendation service based on artificial intelligence and Deep Learning. Click movies and tags you like and the system will do the rest — in a few clicks, Movix adapts to your preferences and gives you movies worth watching. * [Internet Relay Chat](https://netsplit.de/channels/) - Search chat rooms (IRC channels) within the Internet Relay Chat and get informed about their users and topics! +* [Read Comics Online](https://readcomicsonline.ru/) - Website to read DC and Marvel Comics Online for FREE. ## App discovery * [Y Combinator](https://news.ycombinator.com/show) - Hacker news Show : where people share their work. Related : :star: [**Newest Show HN**](https://news.ycombinator.com/shownew) From 7d8113a84c333080711475e5400b301f106e31b0 Mon Sep 17 00:00:00 2001 From: Morgan Date: Tue, 13 Oct 2020 09:08:53 +0200 Subject: [PATCH 007/108] Websites that spark joy curated list of sites with an extra bit of fun. --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8038905..fb64f83 100644 --- a/README.md +++ b/README.md @@ -3407,7 +3407,8 @@ rpm --rebuilddb * [Miguel Rentes](https://rentes.github.io/unix/utilities/2015/07/27/moreutils-package/) - (2015) moreutils: the utilities package every UNIX/Linux/Mac OS developer should know | nice utilities * [Bryan Kennedy](https://plusbryan.com/my-first-5-minutes-on-a-server-or-essential-security-for-linux-servers) - (2013) My First 5 Minutes On A Server; Or, Essential Security for Linux Servers * [Ben Wilson](https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/) - (2011) Basic Linux Privilege Escalation -* [Senthil Kumar aka SK](https://www.ostechnix.com/random-one-liner-linux-commands-part-1/) - (2018) Some Random One-liner Linux Commands [Part 1]. **Bonus** : [Part 2](https://www.ostechnix.com/random-one-liner-linux-commands-part-2/), [Part 3](https://www.ostechnix.com/random-one-liner-linux-commands-part-3/), [Part 4](https://www.ostechnix.com/some-random-one-liner-linux-commands-part-4/) +* [Senthil Kumar aka SK](https://www.ostechnix.com/ +-one-liner-linux-commands-part-1/) - (2018) Some Random One-liner Linux Commands [Part 1]. **Bonus** : [Part 2](https://www.ostechnix.com/random-one-liner-linux-commands-part-2/), [Part 3](https://www.ostechnix.com/random-one-liner-linux-commands-part-3/), [Part 4](https://www.ostechnix.com/some-random-one-liner-linux-commands-part-4/) * [Bash-Oneliner](https://onceupon.github.io/Bash-Oneliner/) - A collection of handy Bash One-Liners and terminal tricks for data processing and Linux system maintenance. **Bonus** : [GitHub repository](https://github.com/onceupon/Bash-Oneliner) * [crontab guru](https://crontab.guru/) - The quick and simple online editor for testing cron schedule expressions * [Pēteris Ņikiforovs](https://peteris.rocks/blog/htop/) - (2017) htop explained | Explanation of everything you can see in htop/top on Linux @@ -3566,7 +3567,7 @@ rpm --rebuilddb * [Moviemania](https://www.moviemania.io/desktop) - super big textless high-resolution movie wallpapers database * [Parkhi Rastogi](http://www.recommendmoviebyplot.com/) - Recommend Movie by Plot (reveal movie title after reading the plot) * [Short of the Week](https://www.shortoftheweek.com/) - Watch the best short films online -* [MorganGeek](https://www.morgangeek.be//minibifff.html) - Random Horror Show : some random short horror movies in loop. Inspired by the BIFFF and [Short of the Week / Short Horror Movies](https://www.shortoftheweek.com/channels/horror/) +* [MorganGeek](https://www.morgangeek.be/minibifff.html) - Random Horror Show : some random short horror movies in loop. Inspired by the BIFFF and [Short of the Week / Short Horror Movies](https://www.shortoftheweek.com/channels/horror/) * [Vimeo](https://vimeo.com/) - The high-quality home for video hosting and watching in HD with no ads, used by a vast number of indie filmmakers. The place to find refreshing, art-house movies to stream on demand. * [TED](https://www.ted.com/) - [Videos] Ideas worth spreading, usually in the form of short, powerful talks (18 minutes or less) * [Zach Alexander](https://dev.to/zpalexander/10-tech-movies-to-get-you-coding-again) - (2016) 10 Tech Movies to Get You Coding Again @@ -4126,6 +4127,9 @@ See also [Operations / IT OPS](#operations--it-ops) # Procrastinating :pig2: :dog2: * [Random Hunt](https://randomhunt.com/) - Like StumbleUpon, but for Product Hunt. Meaning : best of products, one random product at a time +* [MorganGeek](https://www.morgangeek.be/minibifff.html) - Random Horror Show : some random short horror movies in loop. Inspired by the BIFFF and [Short of the Week / Short Horror Movies](https://www.shortoftheweek.com/channels/horror/) +* [The Useless Web](http://www.theuselessweb.com) - Take you to another random useless website +* [The Whimsical Web](https://whimsical.club/1/) - Websites that spark joy - A curated list of sites with an extra bit of fun. [Source code](https://github.com/maxboeck/whimsical) # Productivity :fast_forward: > News From 9b8f0d5cf163069c3a9a399eca5caa7d2a92dbc0 Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 26 Nov 2020 14:52:48 +0100 Subject: [PATCH 008/108] cheat sheet - Using Git Diff Without a Repo --- cheat/git.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cheat/git.md b/cheat/git.md index 7f70405..636ddb4 100644 --- a/cheat/git.md +++ b/cheat/git.md @@ -14,3 +14,12 @@ git log --author="Morgan" \ --date="format:%H" |\ awk '{n=$1+0;if(H[n]++>max)max=H[n]}END{for(i=0;i<24;i++){printf"%02d -%5d ",i,H[i];for(n=0;n Date: Thu, 26 Nov 2020 20:25:01 +0100 Subject: [PATCH 009/108] Add free french books from public domain --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index fb64f83..51587e5 100644 --- a/README.md +++ b/README.md @@ -407,6 +407,9 @@ A small group of programmers wants to change how we code—before catastrophe st * [freemagazinepdf.com](https://freemagazinepdf.com/?s=linux) - Magazines PDF download free * [iggredible/Learn-Vim](https://github.com/iggredible/Learn-Vim) - A book for learning the Vim editor the smart way. * [Read Comics Online](https://readcomicsonline.ru/) - Website to read DC and Marvel Comics Online for FREE. +* [Bouquineux](http://www.bouquineux.com/) - :fr: [FR] Livres numériques gratuits et libres de droits +* [Ebooks Libres et Gratuits](https://www.ebooksgratuits.com/) - :fr: [FR] Ebooks gratuits | Livres électroniques gratuits | Free ebooks +* [Nos livres](http://www.noslivres.net/) - :fr: [FR] Catalogue de livres électroniques du domaine public francophone > Summaries, notes and reviews * [WikiSummaries](http://www.wikisummaries.org/wiki/Category:Summaries) - A listing of free book summaries in English by category and alphabetically. @@ -1215,6 +1218,9 @@ curl --user username:password -X POST -F "jenkinsfile= Date: Sat, 28 Nov 2020 18:15:33 +0100 Subject: [PATCH 010/108] Update WISHLISTS.md update wishlist --- WISHLISTS.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/WISHLISTS.md b/WISHLISTS.md index 1283484..1bcf800 100644 --- a/WISHLISTS.md +++ b/WISHLISTS.md @@ -32,7 +32,8 @@ ### Material misc ### * wireless high fidelity headphone -* agenda / bullet journal (or even both combined) for 2018 -* powerful laptop for personal projects -* ultra wide curved computer monitor -* kindle / ebook reader +* [x] agenda / bullet journal (or even both combined) for 2018 +* [ ] powerful laptop for personal projects +* [ ] ultra wide curved computer monitor +* [x] kindle / ebook reader +* [ ] hnefatafl From a3917b06a4ce7c76fba5b62ed255e4adba6c5573 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 28 Nov 2020 18:15:46 +0100 Subject: [PATCH 011/108] Update WISHLISTS.md --- WISHLISTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WISHLISTS.md b/WISHLISTS.md index 1bcf800..a34ddb3 100644 --- a/WISHLISTS.md +++ b/WISHLISTS.md @@ -31,7 +31,7 @@ ### Material misc ### -* wireless high fidelity headphone +* [ ] wireless high fidelity headphone * [x] agenda / bullet journal (or even both combined) for 2018 * [ ] powerful laptop for personal projects * [ ] ultra wide curved computer monitor From ad52fc7fd4b51f48e6083398b58e1d3ee01b6072 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 28 Nov 2020 18:25:49 +0100 Subject: [PATCH 012/108] add wish lists --- WISHLISTS.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/WISHLISTS.md b/WISHLISTS.md index a34ddb3..53996ed 100644 --- a/WISHLISTS.md +++ b/WISHLISTS.md @@ -28,6 +28,8 @@ * [RateYourMusic](https://fr.rateyourmusic.com/collection/MorganGeek/stag/to+listen/) - music to listen to * [RateYourMusic](https://fr.rateyourmusic.com/collection/MorganGeek/wishlist) - Wishlist (music to buy) * [Deku Deals](https://www.dekudeals.com/wishlist/rkfdxtskhw) - Wishlist (nintendo switch games) +* [Tric Trac](https://www.trictrac.net/mur/silvermo/wishlist) - Wishlist (board games) +* [BoardGameGeek](https://boardgamegeek.com/wishlist/Silvermo) - Wishlist (board games) ### Material misc ### @@ -37,3 +39,5 @@ * [ ] ultra wide curved computer monitor * [x] kindle / ebook reader * [ ] hnefatafl +* [ ] audible subscription +* [ ] lakube subscription From adcf7a514a165d958ab30f8b407a289515d97b1c Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 28 Nov 2020 18:46:55 +0100 Subject: [PATCH 013/108] Update WISHLISTS.md --- WISHLISTS.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/WISHLISTS.md b/WISHLISTS.md index 53996ed..09ffe63 100644 --- a/WISHLISTS.md +++ b/WISHLISTS.md @@ -33,10 +33,7 @@ ### Material misc ### -* [ ] wireless high fidelity headphone * [x] agenda / bullet journal (or even both combined) for 2018 -* [ ] powerful laptop for personal projects -* [ ] ultra wide curved computer monitor * [x] kindle / ebook reader * [ ] hnefatafl * [ ] audible subscription From b34ccc0355bc57c2a1b2957aded7aa6c4e912443 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 7 Dec 2020 10:24:52 +0100 Subject: [PATCH 014/108] Mobilism for finding books --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 51587e5..5dc4d01 100644 --- a/README.md +++ b/README.md @@ -410,6 +410,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Bouquineux](http://www.bouquineux.com/) - :fr: [FR] Livres numériques gratuits et libres de droits * [Ebooks Libres et Gratuits](https://www.ebooksgratuits.com/) - :fr: [FR] Ebooks gratuits | Livres électroniques gratuits | Free ebooks * [Nos livres](http://www.noslivres.net/) - :fr: [FR] Catalogue de livres électroniques du domaine public francophone +* [Mobilism](https://forum.mobilism.me/viewforum.php?f=120) - Your Source for Apps & Books | Login available via [**BugMeNot**](http://bugmenot.com/) > Summaries, notes and reviews * [WikiSummaries](http://www.wikisummaries.org/wiki/Category:Summaries) - A listing of free book summaries in English by category and alphabetically. @@ -2665,6 +2666,7 @@ See also [Infrastructure](#infrastructure) * [Bouquineux](http://www.bouquineux.com/) - :fr: [FR] Livres numériques gratuits et libres de droits * [Ebooks Libres et Gratuits](https://www.ebooksgratuits.com/) - :fr: [FR] Ebooks gratuits | Livres électroniques gratuits | Free ebooks * [Nos livres](http://www.noslivres.net/) - :fr: [FR] Catalogue de livres électroniques du domaine public francophone +* [Mobilism](https://forum.mobilism.me/viewforum.php?f=120) - Your Source for Apps & Books | Login available via [**BugMeNot**](http://bugmenot.com/) ## App discovery * [Y Combinator](https://news.ycombinator.com/show) - Hacker news Show : where people share their work. Related : :star: [**Newest Show HN**](https://news.ycombinator.com/shownew) From dc3034eb568935a9feb20ad7b36c2fdea53a80d3 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 7 Dec 2020 10:38:58 +0100 Subject: [PATCH 015/108] update b-ok / ZLibrary link + highlight it --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 5dc4d01..0795166 100644 --- a/README.md +++ b/README.md @@ -375,7 +375,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Google](https://landing.google.com/sre/book.html) - [Book] Site Reliability Engineering | free book about how SRE at Google build, deploy, monitor, and maintain some of the largest software systems in the world. * [DZone](https://dzone.com/guides/devops-culture-and-process) - (2018) [Book] [PDF] DZone's free 50 pages Guide to DevOps: Culture and Process * :star: [**Library Genesis**](https://libgen.is/) - ebooks and scientific articles. **Bonus** : [Mirror #1](http://gen.lib.rus.ec/), [Mirror #2 with nice UI](https://libgen.me/), [Mirrors list](http://sguru.org/libgen-proxy/) -* [b-ok.org](http://b-ok.org/) - ebooks +* :star: [**ZLibrary**](https://b-ok.cc/) - The world's largest ebook library. * [The Hidden Wiki](https://zqktlwi4fecvo6ri.onion.to/wiki/Libraries) - [TOR] a list of websites that have free ebooks. * [Imperial Library](https://xfmro77i3lixucja.onion.to/) - [TOR] online library with +100.000 books * [Deep web sites links](https://www.deepwebsiteslinks.com/deep-web-books-sites-links/) - [TOR] Deep Web Books Link | Dark Web Books Sites @@ -2531,7 +2531,7 @@ See also [Infrastructure](#infrastructure) * :star: [**/r/piracy**](https://www.reddit.com/r/Piracy/) - piracy on reddit * :star: [**Library Genesis**](https://libgen.is/) - ebooks and scientific articles. **Bonus** : [Mirror #1](http://gen.lib.rus.ec/), [Mirror #2 with nice UI](https://libgen.me/), [Mirrors list](http://sguru.org/libgen-proxy/) * :star: [**Internet Archive: Wayback Machine**](https://web.archive.org/) - The Internet archive, bringing back old/dead pages to live -* [b-ok.org](http://b-ok.org/) - ebooks +* :star: [**ZLibrary**](https://b-ok.cc/) - The world's largest ebook library. * [Soulseek](http://www.slsknet.org/news/) - for hard to find music . * [RuTracker](https://rutracker.org/forum/index.php) - torrent for music * [OpenSubtitles.org](https://www.opensubtitles.org/) - large open subtitles database for tv shows and movies @@ -2645,7 +2645,7 @@ See also [Infrastructure](#infrastructure) * [Open Culture](http://www.openculture.com/freemoviesonline) - 1,150 Free Movies Online: Great Classics, Indies, Noir, Westerns, Documentaries, etc. * [ZippyShare](https://zippysharesearch.info) - Search and Download Free MP3, Music, Books, Epubs, APK and Video * [Yggtorrent](https://www2.yggtorrent.gg) - 1st French torrent tracker -* [ZLibrary](https://b-ok.cc/) - The world's largest ebook library. +* :star: [**ZLibrary**](https://b-ok.cc/) - The world's largest ebook library. * [50GamesLike](https://www.50gameslike.com/) - video game recommendation engine with more than 40 000 video games : select a game you love and discover 50 recommendations. * [Internet Archive](https://archive.org/details.php?identifier=texts) - eBooks and Texts : The Internet Archive offers over 15,000,000 freely downloadable books and texts. There is also a collection of 550,000 modern eBooks that may be borrowed by anyone with a free archive.org account. * [TorrentSeeker](https://search.torrents.io) - is a powerful torrent search combining results from dozens of torrent sites From 176c31d19e5e365d831eb7a25a72f832f6533ca4 Mon Sep 17 00:00:00 2001 From: Morgan Date: Wed, 9 Dec 2020 15:04:58 +0100 Subject: [PATCH 016/108] add xerius tool in business tools --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0795166..a66abee 100644 --- a/README.md +++ b/README.md @@ -580,6 +580,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Deku Deals](https://www.dekudeals.com/) - tracks the prices of Nintendo Switch games on the eShop and at major retailers in order to find the best deals. Add items to your wishlist, and Deku Deals sends you an email as soon as they go on sale. * [Keepa](https://keepa.com) - This Amazon price tracker will enhance your Amazon shopping experience as they provide price history charts, price drop alerts, price watches, daily drops and browser addons. * [PSprices](https://psprices.com/region-be/search/?q=&platform=Switch&dlc=show&sort=opencritic) - Game price notifications. Automatically monitor 8 platforms in 48 countries. +* :star: [**Xerius**](https://www.xerius.be/bnc/app/fr) - :fr: [FR] [BE] Devenir indépendant : Simulez votre tarif journalier en tant qu'indépendant / Calculateur de Brut-Net / Freelance rate simulator ## Cryptocurrency > News @@ -2834,7 +2835,7 @@ See also [Infrastructure](#infrastructure) * [CICR Tool](https://www.ipaddressguide.com/cidr) - IP Range To CIDR / CIDR to IP Range * [Meta Tags](https://metatags.io/) - is a tool to debug and generate meta tag code for any website. With Meta Tags you can edit and experiment with your content then preview how your webpage will look on Google, Facebook, Twitter and more! * :star: [**gitignore.io**](https://www.toptal.com/developers/gitignore) - Generate useful .gitignore files for your project. **See also** [Source Code](https://github.com/toptal/gitignore.io) -* :star: [**Xerius**](https://brutonetto.xerius.be) - :fr: [BE] Devenir indépendant : Simulez votre tarif journalier en tant qu'indépendant / Calculateur de Brut-Net +* :star: [**Xerius**](https://www.xerius.be/bnc/app/fr) - :fr: [FR] [BE] Devenir indépendant : Simulez votre tarif journalier en tant qu'indépendant / Calculateur de Brut-Net / Freelance rate simulator * [Downdetector](https://downdetector.com) - offers a realtime overview of status information and outages for all kinds of services. | online monitoring of your favorite services * [Sven Taylor](https://www.techspot.com/news/80729-complete-list-alternatives-all-google-products.html) - (2019) The complete list of alternatives to all Google products | Parallel universe for the super security conscious * [Maxime Blondel](https://www.maddyness.com/2018/04/04/100-outils-pour-lancer-sa-startup-sans-developpeur-ni-graphiste-et-presque-sans-argent/) - (2018) :fr: [FR] (2018) 100 outils pour lancer sa startup sans développeur ni graphiste (et presque sans argent) From 0bcdf9a9031f971b6697e392eae71508d4c46d16 Mon Sep 17 00:00:00 2001 From: Morgan Date: Wed, 9 Dec 2020 15:06:18 +0100 Subject: [PATCH 017/108] remove link duplication for xerius --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index a66abee..dd0eda7 100644 --- a/README.md +++ b/README.md @@ -560,7 +560,6 @@ A small group of programmers wants to change how we code—before catastrophe st * [Hourly rate calculator](https://usepastel.com/hourly-rate-calculator) - A calculator for freelancers to use as a guide to costs, billable hours and desired profit. Takes 10-15 min to complete. * [Martin Fowler](https://martinfowler.com/articles/is-quality-worth-cost.html) - (2019) Is High Quality Software Worth the Cost? * [Freelance.tv](http://freelance.tv) - Videos about freelancing -* :star: [**Xerius**](https://brutonetto.xerius.be) - :fr: [BE] Devenir indépendant : Simulez votre tarif journalier en tant qu'indépendant / Calculateur de Brut-Net * [r/personalfinance/tools](https://www.reddit.com/r/personalfinance/wiki/tools) - Personal Finance Tools : Redditor-created Spreadsheets * [Farnam Street](https://fs.blog/2018/10/long-game/) - (2018) The Surprising Power of The Long Game * [Kristijan Ristovski aka Kitze](https://medium.com/@kitze/github-stars-wont-pay-your-rent-8b348e12baed) - (2019) GitHub stars won’t pay your rent From d933473e2391016b88f9ff7eac3c732b6efe28b6 Mon Sep 17 00:00:00 2001 From: Morgan <3721240+MorganGeek@users.noreply.github.com> Date: Sun, 13 Dec 2020 15:21:11 +0100 Subject: [PATCH 018/108] add instructables to culture section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dd0eda7..9bc7627 100644 --- a/README.md +++ b/README.md @@ -1222,6 +1222,7 @@ curl --user username:password -X POST -F "jenkinsfile= Date: Sun, 13 Dec 2020 16:27:28 +0100 Subject: [PATCH 019/108] (2001) Things to Say When You're Losing a Technical Argument --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9bc7627..6dfb9af 100644 --- a/README.md +++ b/README.md @@ -6167,6 +6167,7 @@ See also [Dotfiles / Aliases](#dotfiles--aliases) and [Shell aliases](#shell-ali * [Learn Prolog Now!](https://devrant.com/feed/) - a free online introductory course to programming in Prolog * [Logtalk](https://logtalk.org/) - is a declarative object-oriented logic programming language that extends and leverages the Prolog language with modern code encapsulation and code reuse mechanisms while also providing improved predicate semantics. * [MorganGeek](https://gist.github.com/MorganGeek/660e55cfbb8f8e82e77d06618802ea79) - (gist) Install SWI-Prolog and Logtalk on CentOS. **Bonus** : Dockerfile provided. +* [Mr. Bad, Crackmonkey](http://www.pigdog.org/auto/mr_bads_list/shortcolumn/1914.html) - (2001) Things to Say When You're Losing a Technical Argument ## Python * [Nick Parlante](http://codingbat.com/python) - CodingBat : practice your python skills From a58795dee883bc83ed738a5c1514a85a85274dc4 Mon Sep 17 00:00:00 2001 From: Morgan <3721240+MorganGeek@users.noreply.github.com> Date: Sun, 13 Dec 2020 16:40:37 +0100 Subject: [PATCH 020/108] Calm technology and Too much DRY --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 6dfb9af..4512c79 100644 --- a/README.md +++ b/README.md @@ -4990,6 +4990,7 @@ I dedicate this section to the work I'm busy at, about how going faster in short > the "talk first, code later" approach is an un-intuitive tool that speeds development up and leads to better communication between engineers and teams. > Everyone would have saved so much time, if only we communicated first and wrote code only after. * [Umer Mansoor](https://codeahoy.com/2016/06/03/write-less-code/) - (2016) Write Less Code +* [Calm Tech](https://calmtech.com/) - Principles of Calm Technology ## Clean code and best practices See also [Calm programming / Slow programming](#calm-programming--slow-programming) @@ -5214,6 +5215,7 @@ See also [Calm programming / Slow programming](#calm-programming--slow-programmi * [amperser/proselint](https://github.com/amperser/proselint/) - a linter for English prose. * [get-alex/alex](https://github.com/get-alex/alex) - Catch insensitive, inconsiderate writing. > Whether your own or someone else’s writing, alex helps you find gender favoring, polarizing, race related, religion inconsiderate, or other unequal phrasing in text. +* [Jamie Wong](http://jamie-wong.com/2013/07/12/grep-test/) - (2013) Too DRY - The Grep Test ## Conferences > In Belgium From 83ad366fe98a2b276ca57228e1f1113625d8f065 Mon Sep 17 00:00:00 2001 From: Morgan <3721240+MorganGeek@users.noreply.github.com> Date: Sun, 13 Dec 2020 16:45:59 +0100 Subject: [PATCH 021/108] (2019) On Information Loss in Software --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4512c79..47e7053 100644 --- a/README.md +++ b/README.md @@ -5216,6 +5216,7 @@ See also [Calm programming / Slow programming](#calm-programming--slow-programmi * [get-alex/alex](https://github.com/get-alex/alex) - Catch insensitive, inconsiderate writing. > Whether your own or someone else’s writing, alex helps you find gender favoring, polarizing, race related, religion inconsiderate, or other unequal phrasing in text. * [Jamie Wong](http://jamie-wong.com/2013/07/12/grep-test/) - (2013) Too DRY - The Grep Test +* [Ilya Sher](https://ilya-sher.org/2019/05/18/on-information-loss-in-software/) - (2019) On Information Loss in Software ## Conferences > In Belgium From 26645b8c83dd20e72cc313d96dcdb2982dfcb0c7 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 14 Dec 2020 16:48:32 +0100 Subject: [PATCH 022/108] Redbubble : products designed by artists --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 47e7053..91745b1 100644 --- a/README.md +++ b/README.md @@ -349,6 +349,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [LOWREZJAM 2019](https://itch.io/jam/lowrezjam-2019) - The goal of the jam is to create a game with a resolution of 64x64 pixels or less. You can use whatever programming language or tools that you wish. * [CSS Zen Garden](http://www.mezzoblue.com/zengarden/alldesigns/) - is a World Wide Web development resource "built to demonstrate what can be accomplished visually through CSS-based design.". * [DeepAI](https://deepai.org/machine-learning-model/colorizer) - Image Colorization API +* [Redbubble](https://www.redbubble.com/) - Awesome design products designed by independent artists | clothing, stickers, art, masks, accessories, home & living, kids & babies, gifts, ... # Books :books: * [fake o'reilly books on Google](https://www.google.co.il/search?tbm=isch&q=fake+o%27reilly+books&&cad=h) - [IMG] fake o'reilly books. @@ -2668,6 +2669,7 @@ See also [Infrastructure](#infrastructure) * [Ebooks Libres et Gratuits](https://www.ebooksgratuits.com/) - :fr: [FR] Ebooks gratuits | Livres électroniques gratuits | Free ebooks * [Nos livres](http://www.noslivres.net/) - :fr: [FR] Catalogue de livres électroniques du domaine public francophone * [Mobilism](https://forum.mobilism.me/viewforum.php?f=120) - Your Source for Apps & Books | Login available via [**BugMeNot**](http://bugmenot.com/) +* [Redbubble](https://www.redbubble.com/) - Awesome design products designed by independent artists | clothing, stickers, art, masks, accessories, home & living, kids & babies, gifts, ... ## App discovery * [Y Combinator](https://news.ycombinator.com/show) - Hacker news Show : where people share their work. Related : :star: [**Newest Show HN**](https://news.ycombinator.com/shownew) From 72f074b3fab2eca616e970bcdf7c07d33f2b68da Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 14 Dec 2020 17:14:40 +0100 Subject: [PATCH 023/108] Logo Lab - Test your logo --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 91745b1..c6cd8b0 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [CSS Zen Garden](http://www.mezzoblue.com/zengarden/alldesigns/) - is a World Wide Web development resource "built to demonstrate what can be accomplished visually through CSS-based design.". * [DeepAI](https://deepai.org/machine-learning-model/colorizer) - Image Colorization API * [Redbubble](https://www.redbubble.com/) - Awesome design products designed by independent artists | clothing, stickers, art, masks, accessories, home & living, kids & babies, gifts, ... +* [Logo Lab](https://logolab.app/home) - Test your logo | Put your logo to the test and find out where it succeeds and where improvements could be made. # Books :books: * [fake o'reilly books on Google](https://www.google.co.il/search?tbm=isch&q=fake+o%27reilly+books&&cad=h) - [IMG] fake o'reilly books. @@ -581,6 +582,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Keepa](https://keepa.com) - This Amazon price tracker will enhance your Amazon shopping experience as they provide price history charts, price drop alerts, price watches, daily drops and browser addons. * [PSprices](https://psprices.com/region-be/search/?q=&platform=Switch&dlc=show&sort=opencritic) - Game price notifications. Automatically monitor 8 platforms in 48 countries. * :star: [**Xerius**](https://www.xerius.be/bnc/app/fr) - :fr: [FR] [BE] Devenir indépendant : Simulez votre tarif journalier en tant qu'indépendant / Calculateur de Brut-Net / Freelance rate simulator +* [Logo Lab](https://logolab.app/home) - Test your logo | Put your logo to the test and find out where it succeeds and where improvements could be made. ## Cryptocurrency > News @@ -1162,6 +1164,7 @@ curl --user username:password -X POST -F "jenkinsfile= Don’t be scared, ashamed, or discouraged to make it paid > Don’t let anyone tell you how much you should charge for your work > value your work and believe that despite the fact that haters are loud, you’re still gonna get a lot of customers who would gladly pay for what you made. +* [Logo Lab](https://logolab.app/home) - Test your logo | Put your logo to the test and find out where it succeeds and where improvements could be made. # CRM * [For The Love Of The Game](http://cocopebble.com/?p=370) - Why We Left Salesforce.com For a $12 CRM Solution @@ -7314,6 +7317,7 @@ Run Lighthouse on an emulated mobile device on a 3G network. Running the test wi * [Vue.js](https://vuejs.org/) - The Progressive JavaScript Framework | Vue.js is an open-source Model–view–viewmodel JavaScript framework for building user interfaces and SPAs (single-page applications). **See also** : [Video] (2020) [Vue.js: The Documentary](https://www.youtube.com/watch?v=OrxmtDw4pVI) * [Netcraft](https://sitereport.netcraft.com/) - What's that site running? Find out the infrastructure and technologies used by any site, based on results from internet data mining * [myles/awesome-static-generators](https://github.com/myles/awesome-static-generators) - list of static web site generators. +* [Logo Lab](https://logolab.app/home) - Test your logo | Put your logo to the test and find out where it succeeds and where improvements could be made. # Windows * [NSSM](https://nssm.cc/commands) - the Non-Sucking Service Manager From 9f4cc5bf72dc6b42add930760e51e3d063f7981e Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 17 Dec 2020 20:42:20 +0100 Subject: [PATCH 024/108] FSF - (2020) Ethical Tech Giving Guide --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c6cd8b0..81584f9 100644 --- a/README.md +++ b/README.md @@ -1227,6 +1227,7 @@ curl --user username:password -X POST -F "jenkinsfile= There is no simple solution to the problem of privacy, because privacy itself is a solution to societal challenges that are in constant flux. If the apparatus of total surveillance that we have described here were deliberate, centralized, and explicit, a Big Brother machine toggling between cameras, it would demand revolt, and we could conceive of a life outside the totalitarian microscope. +* [The Free Software Foundation](https://www.fsf.org/givingguide/v11/) - (2020) Ethical Tech Giving Guide - Does the gift you're giving your loved ones put someone else in control? ## Privacy tools * :star: [**Privacy tools**](https://privacytoolsio.github.io/privacytools.io/) - knowledge, tools & tips to protect your privacy against global mass surveillance. Related : [/r/privacytoolsIO/](https://www.reddit.com/r/privacytoolsIO/) From 175315e40c6b77a821067a66c68b511b4dc63a2e Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 17 Dec 2020 21:09:50 +0100 Subject: [PATCH 025/108] (2020) Privacy not included* | Be Smart. Shop Safe --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 81584f9..f7dd7a9 100644 --- a/README.md +++ b/README.md @@ -1228,6 +1228,7 @@ curl --user username:password -X POST -F "jenkinsfile= There is no simple solution to the problem of privacy, because privacy itself is a solution to societal challenges that are in constant flux. If the apparatus of total surveillance that we have described here were deliberate, centralized, and explicit, a Big Brother machine toggling between cameras, it would demand revolt, and we could conceive of a life outside the totalitarian microscope. * [The Free Software Foundation](https://www.fsf.org/givingguide/v11/) - (2020) Ethical Tech Giving Guide - Does the gift you're giving your loved ones put someone else in control? +* [Mozilla](https://foundation.mozilla.org/en/privacynotincluded/) - (2020) Privacy not included* | Be Smart. Shop Safe. | How creepy is that smart speaker, that fitness tracker, those wireless headphones? We created this guide to help you shop for safe, secure connected products. ## Privacy tools * :star: [**Privacy tools**](https://privacytoolsio.github.io/privacytools.io/) - knowledge, tools & tips to protect your privacy against global mass surveillance. Related : [/r/privacytoolsIO/](https://www.reddit.com/r/privacytoolsIO/) From 0388d93a3fca07e2b4a5554186675d0083e82efc Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 17 Dec 2020 21:36:01 +0100 Subject: [PATCH 026/108] Restore gaming section head title + add hnefatafl --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index f7dd7a9..5183d64 100644 --- a/README.md +++ b/README.md @@ -2882,6 +2882,7 @@ See also [Infrastructure](#infrastructure) * [HTML_CodeSniffer](https://squizlabs.github.io/HTML_CodeSniffer/) - Accessibility Auditor Bookmarklet | Check that your HTML code conforms to your coding standard * [KopywritingKourse](https://kopywritingkourse.com/event-name-generator/) - Event Name Generator +# Gaming :video_game: > News * [Game Jams on itch.io](https://itch.io/jams) - itch.io is a place for hosting and participating in game jams online. Anyone can instantly create and host a jam. 60,525 games have been created for jams hosted on itch.io. * [Retronator Magazine](https://medium.com/retronator-magazine) - Pixel Art, Gaming & Saturated Colors @@ -2944,6 +2945,7 @@ See also [Infrastructure](#infrastructure) * [PSprices](https://psprices.com/region-be/search/?q=&platform=Switch&dlc=show&sort=opencritic) - Game price notifications. Automatically monitor 8 platforms in 48 countries. * [u/TrimMyHedges](https://www.reddit.com/r/gamecollecting/comments/76jgwx/collecting_vs_playing/) - (2017) Collecting vs playing - the problem of spending more time browsing forums, looking for good deals, good games and collecting them etc than actually playing. aka the thrill of the hunt. :video_game: +* [Viking Board Game](https://www.homespunweb.co.uk/vikings/) - Play Hnefatafl in your browser. Hnefatafl is a Viking game of strategy for two players. Each player has an army of warriors and tries to out-think his or her opponent. ## Board games * [BoardGameGeek](https://boardgamegeek.com/) - most complete board game database that holds tons of reviews, images and videos @@ -3163,6 +3165,7 @@ See also [Infrastructure](#infrastructure) > Chess * [hkirat/awesome-chess](https://github.com/hkirat/awesome-chess) - curated list of assets availible on the Internet related to chess * [Next Chess Move](https://nextchessmove.com) - Calculate the best next Chess move +* [Viking Board Gamee](https://www.homespunweb.co.uk/vikings/) - Play Hnefatafl in your browser. Hnefatafl is a Viking game of strategy for two players. Each player has an army of warriors and tries to out-think his or her opponent. > Coffee :coffee: * [Daniel Miessler](https://danielmiessler.com/study/coffee/) - A Coffee Primer :coffee: From 7eb0ef0f064f32eab332d98969844bbb9c3c8f45 Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 24 Dec 2020 11:15:30 +0100 Subject: [PATCH 027/108] Refactor the Wishlists presentation --- WISHLISTS.md | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/WISHLISTS.md b/WISHLISTS.md index 09ffe63..68d9eea 100644 --- a/WISHLISTS.md +++ b/WISHLISTS.md @@ -1,33 +1,40 @@ ## My wishlists on internet ## -### Books / Movies / TV Shows + Games ### +### All ### * [SensCritique](https://www.senscritique.com/MorganGeek/collection/wish/all/all/all/all/all/all/all/list/page-1) - MorganGeek wishlist * [Amazon](https://www.amazon.fr/gp/registry/wishlist/14HF95ODPK8AI/) - Morgan wishlist -* [Goodreads](https://www.goodreads.com/review/list/17205528?shelf=to-read-x3) - Books x3 -* [Goodreads](https://www.goodreads.com/review/list/17205528?shelf=to-read-x2) - Books x2 -* [Goodreads](https://www.goodreads.com/review/list/17205528?shelf=to-read) - Books x1 -* [SensCritique](https://www.senscritique.com/liste/Envies_d_horreur/1038603) - Horror Tv Shows + +#### Books / Comics / Mangas +* Goodreads : [Books x3](https://www.goodreads.com/review/list/17205528?shelf=to-read-x3), [Books x2](https://www.goodreads.com/review/list/17205528?shelf=to-read-x2), [Books x1](https://www.goodreads.com/review/list/17205528?shelf=to-read) +* SensCritique : [Comics x2](https://www.senscritique.com/liste/Envies_x2/1586559) +* SensCritique : [Books x2](https://www.senscritique.com/liste/Envies_x2/1469427) * [SensCritique](https://www.senscritique.com/liste/Mes_envies_apocalyptiques/276932) - Apocalyptic books -* [SensCritique](https://www.senscritique.com/liste/Envies_Apocalyptiques/478830) - Apocalyptic tv shows -* [SensCritique](https://www.senscritique.com/liste/Envies_de_RPG/494080) - RPG video games -* [SensCritique](https://www.senscritique.com/liste/Envies_d_horreur/492442) - Horror video games -* [SensCritique](https://www.senscritique.com/liste/Envies_apocalyptiques/492439) - Apocalyptic video games * [SensCritique](https://www.senscritique.com/liste/Envies_d_horreur/853562) - Horror comics -* [SensCritique](https://www.senscritique.com/liste/Envies_x4/1802277) - Movies x4 -* [SensCritique](https://www.senscritique.com/liste/Envies_x3/1521649) - Movies x3 -* [SensCritique](https://www.senscritique.com/liste/Envies_x2/1455499) - Movies x2 -* [SensCritique](https://www.senscritique.com/liste/Envies_x3/1699429) - Tv Shows x3 -* [SensCritique](https://www.senscritique.com/liste/Envies_x2/1461846) - Tv Shows x2 -* [SensCritique](https://www.senscritique.com/liste/Envies_x2/1586559) - Comics x2 -* [SensCritique](https://www.senscritique.com/liste/Envies_x2/1469427) - Books x2 +* [Anime-Planet](http://www.anime-planet.com/users/MorganGeek/manga/wanttoread) - Manga list + +#### Movies +* SensCritique : [Movies x4](https://www.senscritique.com/liste/Envies_x4/1802277), [Movies x3](https://www.senscritique.com/liste/Envies_x3/1521649), [Movies x2](https://www.senscritique.com/liste/Envies_x2/1455499) * [SensCritique](https://www.senscritique.com/liste/Envies_de_gloire_et_de_heros_de_la_baston_quoi/562578) - Dumb action movies * [SensCritique](https://www.senscritique.com/liste/Envies_de_films_de_science_fiction/1041728) - Sci-fi movies * [SensCritique](https://www.senscritique.com/liste/Envies_de_films_a_venger/1552465) - Revenge movies -* [Anime-Planet](http://www.anime-planet.com/users/MorganGeek/anime/wanttowatch) - Anime list -* [Anime-Planet](http://www.anime-planet.com/users/MorganGeek/manga/wanttoread) - Manga list + +#### Music * [RateYourMusic](https://fr.rateyourmusic.com/collection/MorganGeek/stag/to+listen/) - music to listen to * [RateYourMusic](https://fr.rateyourmusic.com/collection/MorganGeek/wishlist) - Wishlist (music to buy) + +#### TV Shows / Anime +* [SensCritique](https://www.senscritique.com/liste/Envies_d_horreur/1038603) - Horror Tv Shows +* [SensCritique](https://www.senscritique.com/liste/Envies_Apocalyptiques/478830) - Apocalyptic tv shows +* SensCritique : [Tv Shows x3](https://www.senscritique.com/liste/Envies_x3/1699429), [Tv Shows x2](https://www.senscritique.com/liste/Envies_x2/1461846) +* [Anime-Planet](http://www.anime-planet.com/users/MorganGeek/anime/wanttowatch) - Anime list + +#### Video games +* [SensCritique](https://www.senscritique.com/liste/Envies_de_RPG/494080) - RPG video games +* [SensCritique](https://www.senscritique.com/liste/Envies_d_horreur/492442) - Horror video games +* [SensCritique](https://www.senscritique.com/liste/Envies_apocalyptiques/492439) - Apocalyptic video games * [Deku Deals](https://www.dekudeals.com/wishlist/rkfdxtskhw) - Wishlist (nintendo switch games) + +#### Board games * [Tric Trac](https://www.trictrac.net/mur/silvermo/wishlist) - Wishlist (board games) * [BoardGameGeek](https://boardgamegeek.com/wishlist/Silvermo) - Wishlist (board games) From 16018e56b7742be2b755a1091abc91c8fbd45d3b Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 24 Dec 2020 11:24:52 +0100 Subject: [PATCH 028/108] Update SensCritique related wishlists --- WISHLISTS.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/WISHLISTS.md b/WISHLISTS.md index 68d9eea..0a20465 100644 --- a/WISHLISTS.md +++ b/WISHLISTS.md @@ -5,33 +5,37 @@ * [Amazon](https://www.amazon.fr/gp/registry/wishlist/14HF95ODPK8AI/) - Morgan wishlist #### Books / Comics / Mangas -* Goodreads : [Books x3](https://www.goodreads.com/review/list/17205528?shelf=to-read-x3), [Books x2](https://www.goodreads.com/review/list/17205528?shelf=to-read-x2), [Books x1](https://www.goodreads.com/review/list/17205528?shelf=to-read) -* SensCritique : [Comics x2](https://www.senscritique.com/liste/Envies_x2/1586559) -* SensCritique : [Books x2](https://www.senscritique.com/liste/Envies_x2/1469427) +* Goodreads : [Books x5](https://www.goodreads.com/review/list/17205528-morgan?shelf=to-read-x5), [Books x4](https://www.goodreads.com/review/list/17205528-morgan?shelf=to-read-x4), [Books x3](https://www.goodreads.com/review/list/17205528?shelf=to-read-x3), [Books x2](https://www.goodreads.com/review/list/17205528?shelf=to-read-x2), [Books x1](https://www.goodreads.com/review/list/17205528?shelf=to-read) +* SensCritique : [Comics x2](https://www.senscritique.com/liste/Envies_x2/1586559), [Comics x1](https://www.senscritique.com/MorganGeek/collection/wish/bd/all/all/all/all/all/all/gallery/page-1) +* SensCritique : [Books x4](https://www.senscritique.com/liste/Envies_x4/2847562), [Books x3](https://www.senscritique.com/liste/Envies_x3/1615509), [Books x2](https://www.senscritique.com/liste/Envies_x2/1469427), [Books x1](https://www.senscritique.com/MorganGeek/collection/wish/livres/all/all/all/all/all/all/gallery/page-1) * [SensCritique](https://www.senscritique.com/liste/Mes_envies_apocalyptiques/276932) - Apocalyptic books * [SensCritique](https://www.senscritique.com/liste/Envies_d_horreur/853562) - Horror comics * [Anime-Planet](http://www.anime-planet.com/users/MorganGeek/manga/wanttoread) - Manga list #### Movies -* SensCritique : [Movies x4](https://www.senscritique.com/liste/Envies_x4/1802277), [Movies x3](https://www.senscritique.com/liste/Envies_x3/1521649), [Movies x2](https://www.senscritique.com/liste/Envies_x2/1455499) +* SensCritique : [Movies x4](https://www.senscritique.com/liste/Envies_x4/1802277), [Movies x3](https://www.senscritique.com/liste/Envies_x3/1521649), [Movies x2](https://www.senscritique.com/liste/Envies_x2/1455499), [Movies x1](https://www.senscritique.com/MorganGeek/collection/wish/films/all/all/all/all/all/all/gallery/page-1) * [SensCritique](https://www.senscritique.com/liste/Envies_de_gloire_et_de_heros_de_la_baston_quoi/562578) - Dumb action movies * [SensCritique](https://www.senscritique.com/liste/Envies_de_films_de_science_fiction/1041728) - Sci-fi movies * [SensCritique](https://www.senscritique.com/liste/Envies_de_films_a_venger/1552465) - Revenge movies +* [SensCritique](https://www.senscritique.com/liste/Envies_apocalyptiques/389265) - Apocalyptic movies #### Music * [RateYourMusic](https://fr.rateyourmusic.com/collection/MorganGeek/stag/to+listen/) - music to listen to * [RateYourMusic](https://fr.rateyourmusic.com/collection/MorganGeek/wishlist) - Wishlist (music to buy) +* [SensCritique](https://www.senscritique.com/MorganGeek/collection/wish/albums/all/all/all/all/all/all/gallery/page-1) - Albums to listen to +* [SensCritique](https://www.senscritique.com/MorganGeek/collection/wish/morceaux/all/all/all/all/all/all/gallery/page-1) - Songs to listen to #### TV Shows / Anime * [SensCritique](https://www.senscritique.com/liste/Envies_d_horreur/1038603) - Horror Tv Shows * [SensCritique](https://www.senscritique.com/liste/Envies_Apocalyptiques/478830) - Apocalyptic tv shows -* SensCritique : [Tv Shows x3](https://www.senscritique.com/liste/Envies_x3/1699429), [Tv Shows x2](https://www.senscritique.com/liste/Envies_x2/1461846) +* SensCritique : [Tv Shows x4](https://www.senscritique.com/liste/Envies_x4/2527907), [Tv Shows x3](https://www.senscritique.com/liste/Envies_x3/1699429), [Tv Shows x2](https://www.senscritique.com/liste/Envies_x2/1461846), [Tv Shows x1](https://www.senscritique.com/MorganGeek/collection/wish/series/all/all/all/all/all/all/gallery/page-1) * [Anime-Planet](http://www.anime-planet.com/users/MorganGeek/anime/wanttowatch) - Anime list #### Video games * [SensCritique](https://www.senscritique.com/liste/Envies_de_RPG/494080) - RPG video games * [SensCritique](https://www.senscritique.com/liste/Envies_d_horreur/492442) - Horror video games * [SensCritique](https://www.senscritique.com/liste/Envies_apocalyptiques/492439) - Apocalyptic video games +* SensCritique : [Video games x2](https://www.senscritique.com/liste/Envies_x2/2568712), [Video games x1](https://www.senscritique.com/MorganGeek/collection/wish/jeuxvideo/all/all/all/all/all/all/gallery/page-1) * [Deku Deals](https://www.dekudeals.com/wishlist/rkfdxtskhw) - Wishlist (nintendo switch games) #### Board games From 29f9bcdf076a104636248b4a109810cb2d58c866 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 26 Dec 2020 11:37:31 +0100 Subject: [PATCH 029/108] add companyweb and highlight glassdoor --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5183d64..7283019 100644 --- a/README.md +++ b/README.md @@ -583,6 +583,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [PSprices](https://psprices.com/region-be/search/?q=&platform=Switch&dlc=show&sort=opencritic) - Game price notifications. Automatically monitor 8 platforms in 48 countries. * :star: [**Xerius**](https://www.xerius.be/bnc/app/fr) - :fr: [FR] [BE] Devenir indépendant : Simulez votre tarif journalier en tant qu'indépendant / Calculateur de Brut-Net / Freelance rate simulator * [Logo Lab](https://logolab.app/home) - Test your logo | Put your logo to the test and find out where it succeeds and where improvements could be made. +* [Companyweb](https://www.companyweb.be/en) - [BE] Know who you’re dealing with | Companyweb specialises in company information in Belgium. Its services allow you to understand the risks, the survival rates, the payment capacity, the profitability, the stability and other key factors of every Belgian company. ## Cryptocurrency > News @@ -2994,7 +2995,7 @@ See also [Infrastructure](#infrastructure) * [/r/BasicIncome](https://www.reddit.com/r/BasicIncome/) - community space for discussion and advocacy of Basic Income schemes * [/r/antiwork](https://www.reddit.com/r/antiwork/) - discussion and advocacy of a world without work * [PartTimer](https://parttimer.io/) - a job board for skilled work under 40 HRS/week -* [Glassdoor](https://www.glassdoor.com/Reviews/index.htm) - company reviews and salaries posted anonymously by employees. +* :star: [**Glassdoor**](https://www.glassdoor.com/Reviews/index.htm) - A site that lets employees post anonymous salaries and reviews of their company. * [BetaList Jobs](https://betalist.com/jobs) - shape the future by joining one of the fastest growing technology startups * [WorkWithUs](https://workwithus.io/) - hand-curated selection of best jobs * [Who is Hiring?](https://whoishiring.io/) - jobs search engine per location and some other criteria @@ -3057,7 +3058,6 @@ See also [Infrastructure](#infrastructure) * [Cornell University Ergonomics Web](http://ergo.human.cornell.edu/AHTutorials/typingposture.html) - Ideal typing posture: Negative slope keyboard support * [Itamar Turner-Trauring](https://codewithoutrules.com/2016/11/18/rsi-solution/) - (2016) How I stopped the RSI pain that almost destroyed my programming career * [tamar Turner-Trauring](https://codewithoutrules.com/2016/08/18/productive-programmer/) - (2016) Less stress, more productivity: why working fewer hours is better for you and your employer -* [Glassdoor](https://www.glassdoor.com/) - a site that lets employees post anonymous salaries and reviews of their company. * [Itamar Turner-Trauring](https://codewithoutrules.com/2016/10/14/job-you-dont-hate/) - (2016) How to find a programming job you won’t hate * [Itamar Turner-Trauring](https://codewithoutrules.com/2016/08/08/living-below-your-means/) - (2016) Why living below your means can help you find a better job * [Itamar Turner-Trauring](https://codewithoutrules.com/2017/03/20/open-floor-plan/) - (2017) Dear recruiter, “open floor space” is not a job benefit From baf4803c3b607c04334f3d2ef7f9b7319cb6eb1a Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 26 Dec 2020 11:45:06 +0100 Subject: [PATCH 030/108] Add finactum, similar to companyweb --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7283019..0a79c76 100644 --- a/README.md +++ b/README.md @@ -584,6 +584,7 @@ A small group of programmers wants to change how we code—before catastrophe st * :star: [**Xerius**](https://www.xerius.be/bnc/app/fr) - :fr: [FR] [BE] Devenir indépendant : Simulez votre tarif journalier en tant qu'indépendant / Calculateur de Brut-Net / Freelance rate simulator * [Logo Lab](https://logolab.app/home) - Test your logo | Put your logo to the test and find out where it succeeds and where improvements could be made. * [Companyweb](https://www.companyweb.be/en) - [BE] Know who you’re dealing with | Companyweb specialises in company information in Belgium. Its services allow you to understand the risks, the survival rates, the payment capacity, the profitability, the stability and other key factors of every Belgian company. +* [Finactum](https://www.finactum.be/) - [BE] A website with free financial information about Belgian companies filing obligation, which also offer low-cost high-quality, readable financial reports to. ## Cryptocurrency > News From 4541761889201924c75a1e222aa4d211ca15e4b6 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 28 Dec 2020 17:10:44 +0100 Subject: [PATCH 031/108] add advent of code and learn x in y min --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 0a79c76..d9979a6 100644 --- a/README.md +++ b/README.md @@ -4888,6 +4888,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Google search](https://www.google.be/search?q=what%20are%20the%20worst%20programming%20practices) - what are the worst programming practices * [Bystroushaak](http://blog.rfox.eu/en/Programmer_s_critique_of_missing_structure_of_oper.html) - (2020) Programmer's critique of missing structure of operating systems | **Original** (2018) [Programátorova kritika chybějící struktury operačních systémů](http://blog.rfox.eu/cz/Program_torova_kritika_chyb_j_c_struktury_opera_n_.html) * [dwmkerr/hacker-laws](https://github.com/dwmkerr/hacker-laws) - Laws, Theories, Principles and Patterns that developers will find useful. +* [Learn X in Y minutes](https://learnxinyminutes.com/) - Take a whirlwind tour of your next favorite language. Community-driven! > Programming challenges * [Colin Hughes](https://projecteuler.net/index.php?section=problems) - Project Euler proposes a series of challenging mathematical/computer programming problems @@ -4898,6 +4899,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [/r/codegolf](https://www.reddit.com/r/codegolf/) - Challenges to test your code shortening skills. Not necessarily practical, but fun! * [Code Golf](https://code-golf.io/) - a game designed to let you show off your code-fu by solving problems in the least number of characters. It is written in Go and is open source, patches welcome! * [danistefanovic/build-your-own-x](https://github.com/danistefanovic/build-your-own-x) - 🤓 Build your own ... (insert technology here) +* [Advent of Code](https://adventofcode.com/) - is an Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like. People use them as a speed contest, interview prep, company training, university coursework, practice problems, or to challenge each other. > Stickers * [DevStickers](http://devstickers.com/) - Laptop Stickers and T-shirts for Web Designers and Developers From 1857c40640650d12c5b065a92b334b5d0f98bfd2 Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 31 Dec 2020 11:44:00 +0100 Subject: [PATCH 032/108] force sorting of dekudeals (switch) wishlist --- WISHLISTS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/WISHLISTS.md b/WISHLISTS.md index 0a20465..1a7e87a 100644 --- a/WISHLISTS.md +++ b/WISHLISTS.md @@ -36,7 +36,7 @@ * [SensCritique](https://www.senscritique.com/liste/Envies_d_horreur/492442) - Horror video games * [SensCritique](https://www.senscritique.com/liste/Envies_apocalyptiques/492439) - Apocalyptic video games * SensCritique : [Video games x2](https://www.senscritique.com/liste/Envies_x2/2568712), [Video games x1](https://www.senscritique.com/MorganGeek/collection/wish/jeuxvideo/all/all/all/all/all/all/gallery/page-1) -* [Deku Deals](https://www.dekudeals.com/wishlist/rkfdxtskhw) - Wishlist (nintendo switch games) +* [Deku Deals](https://www.dekudeals.com/wishlist/rkfdxtskhw?sort=added_to_wishlist) - Wishlist (nintendo switch games) #### Board games * [Tric Trac](https://www.trictrac.net/mur/silvermo/wishlist) - Wishlist (board games) From 3301d2b3ffd2d732800b3a3e7f9b9e3ea45d2a56 Mon Sep 17 00:00:00 2001 From: Morgan Date: Wed, 6 Jan 2021 14:12:57 +0100 Subject: [PATCH 033/108] Add The Cloud Posse Developer Hub --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index d9979a6..5768e15 100644 --- a/README.md +++ b/README.md @@ -1049,6 +1049,7 @@ curl --user username:password -X POST -F "jenkinsfile= Tips * [Box-drawing character](https://en.wikipedia.org/wiki/Box-drawing_character) - because using some characters such as ╭ ╮ ╯╰> is useful especially for arrows : ╰> @@ -1594,6 +1595,7 @@ curl --user username:password -X POST -F "jenkinsfile= * Avoid using personal accounts or credentials. > * Automate as much as you can. > * Write good code. +* [The Cloud Posse Developer Hub](https://docs.cloudposse.com/) - You'll find comprehensive guides and documentation to help you start working with the Cloud Posse technology stack as quickly as possible, as well as support if you get stuck. This is also useful as a source of inspiration for your own guides and documentation repositories. ## Ansible * [Ansible](https://www.ansible.com/blog) - Ansible Blog @@ -4889,6 +4891,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Bystroushaak](http://blog.rfox.eu/en/Programmer_s_critique_of_missing_structure_of_oper.html) - (2020) Programmer's critique of missing structure of operating systems | **Original** (2018) [Programátorova kritika chybějící struktury operačních systémů](http://blog.rfox.eu/cz/Program_torova_kritika_chyb_j_c_struktury_opera_n_.html) * [dwmkerr/hacker-laws](https://github.com/dwmkerr/hacker-laws) - Laws, Theories, Principles and Patterns that developers will find useful. * [Learn X in Y minutes](https://learnxinyminutes.com/) - Take a whirlwind tour of your next favorite language. Community-driven! +* [The Cloud Posse Developer Hub](https://docs.cloudposse.com/) - You'll find comprehensive guides and documentation to help you start working with the Cloud Posse technology stack as quickly as possible, as well as support if you get stuck. This is also useful as a source of inspiration for your own guides and documentation repositories. > Programming challenges * [Colin Hughes](https://projecteuler.net/index.php?section=problems) - Project Euler proposes a series of challenging mathematical/computer programming problems From 90f1fd8ea5342e094a22886b90757b30eccbb0ab Mon Sep 17 00:00:00 2001 From: Morgan Date: Wed, 6 Jan 2021 14:22:15 +0100 Subject: [PATCH 034/108] Good tips on dealing with/preventing burnout --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5768e15..524d2bb 100644 --- a/README.md +++ b/README.md @@ -3132,6 +3132,8 @@ See also [Infrastructure](#infrastructure) * [Joe Casabona](https://casabona.org/2019/01/eliminating-slack-distraction/) - (2019) Eliminating Slack as a Distraction to Work Better * [Google Search](https://www.google.be/search?q=what%20are%20the%20worst%20foods%20to%20eat) - what are the worst foods to eat ? * [Tina Su](http://thinksimplenow.com/happiness/life-on-purpose-15-questions-to-discover-your-personal-mission/comment-page-13/) - (2015) Life on Purpose: 15 Questions to Discover Your Personal Mission +* [Jory MacKay](https://blog.rescuetime.com/burnout-syndrome-recovery) - (2020) How to deal with burnout: Signs, symptoms, and strategies for getting you back on track after burning out +* [Jory MacKay](https://blog.rescuetime.com/wfh-burnout-coronavirus) - (2020) How to avoid WFH burnout: 5 ways to leave work at work (even if you never leave the house) ## Remote work > Finding a remote job From c7a7bc359ef1a480ff2be67c988051ddeda6b6f2 Mon Sep 17 00:00:00 2001 From: Morgan Date: Fri, 8 Jan 2021 12:08:55 +0100 Subject: [PATCH 035/108] add principle on simplifying processes --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 7285926..dd53d0e 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -187,6 +187,7 @@ * Teamwork starts with trust * Il n'y a pas de forteresses imprenables, il n'y a que des mauvaises stratégies * Think twice +* when times get tough, if people run away from the process instead of towards it, it's broken. And when people are freaking out, they run away from complexity and towards simplicity. [Source](https://critter.blog/2021/01/07/a-simple-process-beats-a-perfect-process/) ## Art of Questions * Just ask From 7a21b608815ac87701e98247861bb576e761f7c4 Mon Sep 17 00:00:00 2001 From: Morgan Date: Fri, 8 Jan 2021 14:29:02 +0100 Subject: [PATCH 036/108] add ArchiveBox --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 524d2bb..bc037b2 100644 --- a/README.md +++ b/README.md @@ -4153,6 +4153,7 @@ See also [Operations / IT OPS](#operations--it-ops) * [pirate/ArchiveBox](https://github.com/pirate/ArchiveBox) - 🗃 The open source self-hosted web archive. Takes browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more... **See also :** [Website](https://archivebox.io) * [oduwsdl/archivenow](https://github.com/oduwsdl/archivenow) - A Tool To Push Web Resources Into Web Archives * [redecentralize/alternative-internet](https://github.com/redecentralize/alternative-internet) - A collection of interesting networks and technology aiming at re-decentralizing the Internet. +* [ArchiveBox/ArchiveBox](https://github.com/ArchiveBox/ArchiveBox) - 🗃 The open source self-hosted web archive. ArchiveBox is a powerful self-hosted internet archiving solution written in Python 3. You feed it URLs of pages you want to archive, and it saves them to disk in a variety of formats depending on the configuration and the content it detects. # Procrastinating :pig2: :dog2: * [Random Hunt](https://randomhunt.com/) - Like StumbleUpon, but for Product Hunt. Meaning : best of products, one random product at a time @@ -7204,6 +7205,7 @@ rpm --rebuilddb * [pirate/ArchiveBox](https://github.com/pirate/ArchiveBox) - 🗃 The open source self-hosted web archive. Takes browser history/bookmarks/Pocket/Pinboard/etc., saves HTML, JS, PDFs, media, and more... **See also :** [Website](https://archivebox.io) * [oduwsdl/archivenow](https://github.com/oduwsdl/archivenow) - A Tool To Push Web Resources Into Web Archives * [GH Archive](https://www.gharchive.org/) - is a project to record the public GitHub timeline, archive it, and make it easily accessible for further analysis. **See also:** [GitHub repository](https://github.com/igrigorik/gharchive.org) +* [ArchiveBox/ArchiveBox](https://github.com/ArchiveBox/ArchiveBox) - 🗃 The open source self-hosted web archive. ArchiveBox is a powerful self-hosted internet archiving solution written in Python 3. You feed it URLs of pages you want to archive, and it saves them to disk in a variety of formats depending on the configuration and the content it detects. > Some old links from my first times on the web * [Donjon de Naheulbeuk](http://www.penofchaos.com/warham/donjon.htm) - [FR] :fr: Podcast / Les premiers MP3 d'aventure From 5df13f7a79bbbabf4616a1fd24cbf20b8e4771e5 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 10 Jan 2021 20:45:25 +0100 Subject: [PATCH 037/108] 30 best practices for development & testing --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bc037b2..810803b 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ How can you support me : [![Buy me a coffee][img-buymeacoffee]][buymeacoffee] or * [Assembly](#assembly) * [C/C++](#cc) * [Calm programming / Slow programming](#calm-programming--slow-programming) - * [Clean code](#clean-code-and-best-practices) + * [Clean code and best practices](#clean-code-and-best-practices) * [Conferences](#conferences) * [Correctness](#correctness) * [Database](#database) @@ -5238,6 +5238,7 @@ See also [Calm programming / Slow programming](#calm-programming--slow-programmi > Whether your own or someone else’s writing, alex helps you find gender favoring, polarizing, race related, religion inconsiderate, or other unequal phrasing in text. * [Jamie Wong](http://jamie-wong.com/2013/07/12/grep-test/) - (2013) Too DRY - The Grep Test * [Ilya Sher](https://ilya-sher.org/2019/05/18/on-information-loss-in-software/) - (2019) On Information Loss in Software +* [Michael Foord](https://opensource.com/article/17/5/30-best-practices-software-development-and-testing) - (2017) 30 best practices for software development and testing ## Conferences > In Belgium @@ -7048,6 +7049,7 @@ See also [Dotfiles / Aliases](#dotfiles--aliases) * [mattray/inspec-iggy](https://github.com/mattray/inspec-iggy) - InSpec CLI plugin for generating compliance controls from Terraform and CloudFormation * [terraform-linters/tflint](https://github.com/terraform-linters/tflint) - TFLint is a Terraform linter focused on possible errors, best practices, etc. (Terraform >= 0.12) * [Tom Forbes](https://tomforb.es/testing-my-dotfiles-with-github-actions/) - (2019) Testing my dotfiles with Github actions +* [Michael Foord](https://opensource.com/article/17/5/30-best-practices-software-development-and-testing) - (2017) 30 best practices for software development and testing # Transportation :train2: :oncoming_automobile: > Learn From 4c06d7bbfa575c28980055a8d3fa011426e65e08 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 10 Jan 2021 20:50:45 +0100 Subject: [PATCH 038/108] best practices information from around the web --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 810803b..9fdfbfa 100644 --- a/README.md +++ b/README.md @@ -5239,6 +5239,7 @@ See also [Calm programming / Slow programming](#calm-programming--slow-programmi * [Jamie Wong](http://jamie-wong.com/2013/07/12/grep-test/) - (2013) Too DRY - The Grep Test * [Ilya Sher](https://ilya-sher.org/2019/05/18/on-information-loss-in-software/) - (2019) On Information Loss in Software * [Michael Foord](https://opensource.com/article/17/5/30-best-practices-software-development-and-testing) - (2017) 30 best practices for software development and testing +* [thomasdavis/best-practices](https://github.com/thomasdavis/best-practices) - This is a fork of [timoxley/best-practices](https://github.com/timoxley/best-practices) - Tidbits of best practices information from around the web ## Conferences > In Belgium @@ -7050,6 +7051,7 @@ See also [Dotfiles / Aliases](#dotfiles--aliases) * [terraform-linters/tflint](https://github.com/terraform-linters/tflint) - TFLint is a Terraform linter focused on possible errors, best practices, etc. (Terraform >= 0.12) * [Tom Forbes](https://tomforb.es/testing-my-dotfiles-with-github-actions/) - (2019) Testing my dotfiles with Github actions * [Michael Foord](https://opensource.com/article/17/5/30-best-practices-software-development-and-testing) - (2017) 30 best practices for software development and testing +* [thomasdavis/best-practices](https://github.com/thomasdavis/best-practices) - This is a fork of [timoxley/best-practices](https://github.com/timoxley/best-practices) - Tidbits of best practices information from around the web # Transportation :train2: :oncoming_automobile: > Learn From b41e3da9c9b27842378a4afc01759477e8a8c626 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 10 Jan 2021 20:53:01 +0100 Subject: [PATCH 039/108] Awesome Public Datasets --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9fdfbfa..aa08d33 100644 --- a/README.md +++ b/README.md @@ -1259,6 +1259,7 @@ curl --user username:password -X POST -F "jenkinsfile= News From 52ec646905959def430e9b64c4bf40555b0d0c3c Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 10 Jan 2021 20:57:29 +0100 Subject: [PATCH 040/108] Freely available programming books --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index aa08d33..6fc5ad0 100644 --- a/README.md +++ b/README.md @@ -413,6 +413,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Ebooks Libres et Gratuits](https://www.ebooksgratuits.com/) - :fr: [FR] Ebooks gratuits | Livres électroniques gratuits | Free ebooks * [Nos livres](http://www.noslivres.net/) - :fr: [FR] Catalogue de livres électroniques du domaine public francophone * [Mobilism](https://forum.mobilism.me/viewforum.php?f=120) - Your Source for Apps & Books | Login available via [**BugMeNot**](http://bugmenot.com/) +* [:books: Freely available programming books](https://ebookfoundation.github.io/free-programming-books/books/free-programming-books.html) - List of Free Learning Resources In Many Languages. **Source code** : [EbookFoundation/free-programming-books](https://github.com/EbookFoundation/free-programming-books) > Summaries, notes and reviews * [WikiSummaries](http://www.wikisummaries.org/wiki/Category:Summaries) - A listing of free book summaries in English by category and alphabetically. @@ -2680,6 +2681,7 @@ See also [Infrastructure](#infrastructure) * [Nos livres](http://www.noslivres.net/) - :fr: [FR] Catalogue de livres électroniques du domaine public francophone * [Mobilism](https://forum.mobilism.me/viewforum.php?f=120) - Your Source for Apps & Books | Login available via [**BugMeNot**](http://bugmenot.com/) * [Redbubble](https://www.redbubble.com/) - Awesome design products designed by independent artists | clothing, stickers, art, masks, accessories, home & living, kids & babies, gifts, ... +* [:books: Freely available programming books](https://ebookfoundation.github.io/free-programming-books/books/free-programming-books.html) - List of Free Learning Resources In Many Languages. **Source code** : [EbookFoundation/free-programming-books](https://github.com/EbookFoundation/free-programming-books) ## App discovery * [Y Combinator](https://news.ycombinator.com/show) - Hacker news Show : where people share their work. Related : :star: [**Newest Show HN**](https://news.ycombinator.com/shownew) @@ -4896,6 +4898,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [dwmkerr/hacker-laws](https://github.com/dwmkerr/hacker-laws) - Laws, Theories, Principles and Patterns that developers will find useful. * [Learn X in Y minutes](https://learnxinyminutes.com/) - Take a whirlwind tour of your next favorite language. Community-driven! * [The Cloud Posse Developer Hub](https://docs.cloudposse.com/) - You'll find comprehensive guides and documentation to help you start working with the Cloud Posse technology stack as quickly as possible, as well as support if you get stuck. This is also useful as a source of inspiration for your own guides and documentation repositories. +* [:books: Freely available programming books](https://ebookfoundation.github.io/free-programming-books/books/free-programming-books.html) - List of Free Learning Resources In Many Languages. **Source code** : [EbookFoundation/free-programming-books](https://github.com/EbookFoundation/free-programming-books) > Programming challenges * [Colin Hughes](https://projecteuler.net/index.php?section=problems) - Project Euler proposes a series of challenging mathematical/computer programming problems From c3467ab8e9d3635aeeee54bcd3f7e08d69abc8d6 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 10 Jan 2021 21:01:37 +0100 Subject: [PATCH 041/108] add beta site for mind expanding books --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6fc5ad0..cb71a8f 100644 --- a/README.md +++ b/README.md @@ -465,7 +465,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Goodreads](https://www.goodreads.com/shelf/show/reddit-top-200) - Popular Reddit Top 200 Books * [Amazon](https://www.amazon.com/Best-Sellers-Kindle-Store-eBooks/zgbs/digital-text/154606011/ref=zg_bs?_encoding=UTF8&tf=1) - Top 100 Free Amazon Best Sellers * [Jeff Atwood](https://blog.codinghorror.com/recommended-reading-for-developers/) - (2015) Recommended Reading for Developers -* [hackerkid/Mind-Expanding-Books](https://github.com/hackerkid/Mind-Expanding-Books) - 📚 Books that will blow your mind +* [hackerkid/Mind-Expanding-Books](https://github.com/hackerkid/Mind-Expanding-Books) - 📚 Books that will blow your mind. **Bonus** : [Beta website](https://books.vishnuks.com/) * [Ask HN](https://news.ycombinator.com/item?id=16357368) - (2018) Which books describe modern devops? * [Favobooks](http://favobooks.com/) - famous people's favourite books : explore book recommendations of great thinkers, entrepreneurs, pioneers and visionaries. * [The Book Seer](https://bookseer.com/) - What should I read next ? @@ -2682,6 +2682,7 @@ See also [Infrastructure](#infrastructure) * [Mobilism](https://forum.mobilism.me/viewforum.php?f=120) - Your Source for Apps & Books | Login available via [**BugMeNot**](http://bugmenot.com/) * [Redbubble](https://www.redbubble.com/) - Awesome design products designed by independent artists | clothing, stickers, art, masks, accessories, home & living, kids & babies, gifts, ... * [:books: Freely available programming books](https://ebookfoundation.github.io/free-programming-books/books/free-programming-books.html) - List of Free Learning Resources In Many Languages. **Source code** : [EbookFoundation/free-programming-books](https://github.com/EbookFoundation/free-programming-books) +* [hackerkid/Mind-Expanding-Books](https://github.com/hackerkid/Mind-Expanding-Books) - 📚 Books that will blow your mind. **Bonus** : [Beta website](https://books.vishnuks.com/) ## App discovery * [Y Combinator](https://news.ycombinator.com/show) - Hacker news Show : where people share their work. Related : :star: [**Newest Show HN**](https://news.ycombinator.com/shownew) From f5a308bec18a25aab3446b00fc59b771f011159d Mon Sep 17 00:00:00 2001 From: Morgan Date: Tue, 12 Jan 2021 11:52:39 +0100 Subject: [PATCH 042/108] stop talking about it in a chat room --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index cb71a8f..756b181 100644 --- a/README.md +++ b/README.md @@ -1027,6 +1027,7 @@ curl --user username:password -X POST -F "jenkinsfile= Everyone would have saved so much time, if only we communicated first and wrote code only after. * [Andy Johns](https://andyjohns.co/why-standups-are-useless-and-how-to-run-great-product-team-meetings/) - (2019) Why Standups are Useless and How to Run Great Product Team Meetings * [KopywritingKourse](https://kopywritingkourse.com/event-name-generator/) - Event Name Generator +* [Mike Crittenden](https://critter.blog/2021/01/12/if-it-matters-after-today-stop-talking-about-it-in-a-chat-room/) - (2021) If it will matter after today, stop talking about it in a chat room ## Documentation > Learn @@ -1848,6 +1849,7 @@ See also [Infrastructure](#infrastructure) * [Random Emojis for Slack](https://slackmojis.com/categories/19-random-emojis) - big collection of emojis for Slack * [Emojipedia](https://emojipedia.org/) - 📙 Emojipedia — 😃 Home of Emoji Meanings 💁👌🎍😍 . **Example** : [Pistol Emoji](https://emojipedia.org/pistol/) * [Joe Casabona](https://casabona.org/2019/01/eliminating-slack-distraction/) - (2019) Eliminating Slack as a Distraction to Work Better +* [Mike Crittenden](https://critter.blog/2021/01/12/if-it-matters-after-today-stop-talking-about-it-in-a-chat-room/) - (2021) If it will matter after today, stop talking about it in a chat room > Tips * [Dmitri Zimine](https://stackstorm.com/2015/12/10/chatops_pitfalls_and_tips/) - (2015) Chatops Pitfalls and Tips From 3ac77c1eeecc54d549403d4d9a0b9263fbc32070 Mon Sep 17 00:00:00 2001 From: Morgan Date: Tue, 12 Jan 2021 12:31:43 +0100 Subject: [PATCH 043/108] (2020) Death to private chats --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 756b181..d5771ae 100644 --- a/README.md +++ b/README.md @@ -1028,6 +1028,7 @@ curl --user username:password -X POST -F "jenkinsfile= Learn @@ -1850,6 +1851,7 @@ See also [Infrastructure](#infrastructure) * [Emojipedia](https://emojipedia.org/) - 📙 Emojipedia — 😃 Home of Emoji Meanings 💁👌🎍😍 . **Example** : [Pistol Emoji](https://emojipedia.org/pistol/) * [Joe Casabona](https://casabona.org/2019/01/eliminating-slack-distraction/) - (2019) Eliminating Slack as a Distraction to Work Better * [Mike Crittenden](https://critter.blog/2021/01/12/if-it-matters-after-today-stop-talking-about-it-in-a-chat-room/) - (2021) If it will matter after today, stop talking about it in a chat room +* [Mike Crittenden](https://critter.blog/2020/12/29/death-to-private-chats/) - (2020) Death to private chats > Tips * [Dmitri Zimine](https://stackstorm.com/2015/12/10/chatops_pitfalls_and_tips/) - (2015) Chatops Pitfalls and Tips From dce4bb467dd4334bcf505068e088055be6ea57e3 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 18 Jan 2021 12:08:40 +0100 Subject: [PATCH 044/108] (2021) Audience friendly goals --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d5771ae..4448aac 100644 --- a/README.md +++ b/README.md @@ -1029,6 +1029,7 @@ curl --user username:password -X POST -F "jenkinsfile= Learn @@ -4453,6 +4454,7 @@ See also [Operations / IT OPS](#operations--it-ops) * [Anne-Laure Le Cunff](https://nesslabs.com/time-management) - (2019) Time management: do the things you actually want to do * [Anne-Laure Le Cunff](https://nesslabs.com/neuroproductivity) - (2019) Neuroproductivity: how to be more productive using neuroscience * [Jeffrey Paul](https://sneak.berlin/20190521/writing-is-hard-for-me/) - (2019) Writing Is Hard For Me +* [Mike Crittenden](https://critter.blog/2021/01/13/audience-friendly-goals/) - (2021) Audience friendly goals ## Productivity tools * [Chris Barber/ToolsOfTheTrade](https://github.com/cjbarber/ToolsOfTheTrade) - Tools of The Trade, from Hacker News. From 7f6852db0722ce66de37448264ecf69a90e21ed7 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 18 Jan 2021 12:18:32 +0100 Subject: [PATCH 045/108] =?UTF-8?q?Don=E2=80=99t=20bring=20problems,=20bri?= =?UTF-8?q?ng=20solutions=20is=20bull=20crap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4448aac..df59dea 100644 --- a/README.md +++ b/README.md @@ -994,6 +994,7 @@ curl --user username:password -X POST -F "jenkinsfile= Everyone would have saved so much time, if only we communicated first and wrote code only after. * [Andy Johns](https://andyjohns.co/why-standups-are-useless-and-how-to-run-great-product-team-meetings/) - (2019) Why Standups are Useless and How to Run Great Product Team Meetings * [World Clock Meeting Planner](https://www.timeanddate.com/worldclock/meeting.html) - Need to make a call to someone far away or arrange a web or video conference across different time zones? Find the best time across time zones with this Meeting Planner. +* [Mike Crittenden](https://critter.blog/2021/01/05/dont-bring-problems-bring-solutions-is-bull-crap/) - (2021) “Don’t bring problems, bring solutions” is bull crap ## Communication * [Bohm Dialogue](https://en.m.wikipedia.org/wiki/Bohm_Dialogue) - (also known as Bohmian Dialogue or "Dialogue in the Spirit of David Bohm") is a freely flowing group conversation in which participants attempt to reach a common understanding, experiencing everyone's point of view fully, equally and nonjudgementally.[1] This can lead to new and deeper understanding. The purpose is to solve the communication crises that face society,[2] and indeed the whole of human nature and consciousness. From 14b11b1fd1125b89f711c9c64d8aa4432fb69710 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 18 Jan 2021 17:42:54 +0100 Subject: [PATCH 046/108] =?UTF-8?q?The=20=E2=80=9CYou=20Get=20One=20Diagra?= =?UTF-8?q?m=E2=80=9D=20approach=20to=20documents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index df59dea..877c1e8 100644 --- a/README.md +++ b/README.md @@ -305,6 +305,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Sane software manifesto](https://sane-software.globalcode.info/v_0/) - While very opinionated, it's an interesting list of practices for software developers, about safe code, collaboration, reproducible builds, modularity, architecture, testability, etc. * [Petter Måhlén](https://labs.spotify.com/2014/04/11/qualities-of-quality/) - (2014) Qualities of Quality | Spotify Labs * [Bystroushaak](http://blog.rfox.eu/en/Programmer_s_critique_of_missing_structure_of_oper.html) - (2020) Programmer's critique of missing structure of operating systems | **Original** (2018) [Programátorova kritika chybějící struktury operačních systémů](http://blog.rfox.eu/cz/Program_torova_kritika_chyb_j_c_struktury_opera_n_.html) +* [Mike Crittenden](https://critter.blog/2020/12/03/the-you-get-one-diagram-approach-to-architecture-documents/) - (2020) The “You Get One Diagram” approach to architecture documents # Art :art: > News @@ -1061,6 +1062,7 @@ curl --user username:password -X POST -F "jenkinsfile= Tools * [Daniel Lebrero](https://danlebrero.com/2017/04/06/documenting-your-architecture-wireshark-plantuml-and-a-repl/) - (2017) Documenting your architecture: Wireshark, PlantUML and a REPL to glue them all. From 424418078b92c53cb25c6f0a68a3ea8bdeebc980 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 18 Jan 2021 17:45:15 +0100 Subject: [PATCH 047/108] =?UTF-8?q?Learning=20a=20technology=20you=20don?= =?UTF-8?q?=E2=80=99t=20need=20right=20now=20is=20a=20waste=20of=20time?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 877c1e8..d9303fb 100644 --- a/README.md +++ b/README.md @@ -6075,6 +6075,7 @@ See also [Dotfiles / Aliases](#dotfiles--aliases) and [Shell aliases](#shell-ali * [Carl Tashian](https://smallstep.com/blog/ssh-tricks-and-tips/) - (2020) SSH Tips & Tricks for using SSH more effectively. * [asdf-vm/asdf](https://github.com/asdf-vm/asdf) - Extendable version manager for multiple languages | Manage multiple runtime versions with a single CLI tool, extendable via [plugins](https://github.com/asdf-vm/asdf-plugins) * [github/gitignore](https://github.com/github/gitignore) - A collection of useful .gitignore templates +* [Mike Crittenden](https://critter.blog/2020/08/14/learning-a-technology-you-dont-need-right-now-is-a-waste-of-time/) - (2020) Learning a technology you don’t need right now is a waste of time ## Programmer humor * [CommitStrip](http://www.commitstrip.com/en) - daily life of developers From be3adf4ccd1b6ec73ed59e150a19207859b2956f Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 18 Jan 2021 17:47:17 +0100 Subject: [PATCH 048/108] =?UTF-8?q?(2020)=20Hide=20a=20problem=20from=20yo?= =?UTF-8?q?ur=20client=20and=20now=20you=E2=80=99ve=20got=202=20problems?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d9303fb..6dbde1e 100644 --- a/README.md +++ b/README.md @@ -1032,7 +1032,8 @@ curl --user username:password -X POST -F "jenkinsfile= Learn * [Greg Williams](https://spin.atomicobject.com/2017/02/22/diagrams-as-documentation/) - (2017) Diagrams as Software Documentation – When a Picture Says it Best From 662eb9dd7cd8052389c6a02df0271dfe95134efb Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 18 Jan 2021 17:50:55 +0100 Subject: [PATCH 049/108] (2020) Write 5x more but write 5x less --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6dbde1e..7ebeb37 100644 --- a/README.md +++ b/README.md @@ -7430,3 +7430,4 @@ Run Lighthouse on an emulated mobile device on a 3G network. Running the test wi * [amperser/proselint](https://github.com/amperser/proselint/) - a linter for English prose. * [get-alex/alex](https://github.com/get-alex/alex) - Catch insensitive, inconsiderate writing. > Whether your own or someone else’s writing, alex helps you find gender favoring, polarizing, race related, religion inconsiderate, or other unequal phrasing in text. +* [Mike Crittenden](https://critter.blog/2020/10/02/write-5x-more-but-write-5x-less/) - (2020) Write 5x more but write 5x less From 0e20fc2d8aaef0c49441087071773b775585879f Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 18 Jan 2021 18:01:19 +0100 Subject: [PATCH 050/108] Slide deck presentations are the worst way to share knowledge remotely --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ebeb37..6042688 100644 --- a/README.md +++ b/README.md @@ -1033,7 +1033,8 @@ curl --user username:password -X POST -F "jenkinsfile= Learn * [Greg Williams](https://spin.atomicobject.com/2017/02/22/diagrams-as-documentation/) - (2017) Diagrams as Software Documentation – When a Picture Says it Best From 9d070e6cb641b09694b508b8d6a95fa7bbf297d0 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 18 Jan 2021 18:23:22 +0100 Subject: [PATCH 051/108] (2020) The 12 Week Year --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6042688..175414b 100644 --- a/README.md +++ b/README.md @@ -4460,6 +4460,7 @@ See also [Operations / IT OPS](#operations--it-ops) * [Anne-Laure Le Cunff](https://nesslabs.com/neuroproductivity) - (2019) Neuroproductivity: how to be more productive using neuroscience * [Jeffrey Paul](https://sneak.berlin/20190521/writing-is-hard-for-me/) - (2019) Writing Is Hard For Me * [Mike Crittenden](https://critter.blog/2021/01/13/audience-friendly-goals/) - (2021) Audience friendly goals +* [Mike Crittenden](https://critter.blog/2020/12/31/the-12-week-year/) - (2020) The 12 Week Year: 2021 round 1 ## Productivity tools * [Chris Barber/ToolsOfTheTrade](https://github.com/cjbarber/ToolsOfTheTrade) - Tools of The Trade, from Hacker News. From dece78470d909847f0f22fc4f11fff8d4097c80b Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 18 Jan 2021 18:27:45 +0100 Subject: [PATCH 052/108] The key to happiness is to stop getting upset all the dang time --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 175414b..f5a0703 100644 --- a/README.md +++ b/README.md @@ -3148,6 +3148,7 @@ See also [Infrastructure](#infrastructure) * [Tina Su](http://thinksimplenow.com/happiness/life-on-purpose-15-questions-to-discover-your-personal-mission/comment-page-13/) - (2015) Life on Purpose: 15 Questions to Discover Your Personal Mission * [Jory MacKay](https://blog.rescuetime.com/burnout-syndrome-recovery) - (2020) How to deal with burnout: Signs, symptoms, and strategies for getting you back on track after burning out * [Jory MacKay](https://blog.rescuetime.com/wfh-burnout-coronavirus) - (2020) How to avoid WFH burnout: 5 ways to leave work at work (even if you never leave the house) +* [Mike Crittenden](https://critter.blog/2020/12/08/the-key-to-happiness-is-to-stop-getting-upset-all-the-dang-time/) - (2020) The key to happiness is to stop getting upset all the dang time ## Remote work > Finding a remote job @@ -3173,6 +3174,8 @@ See also [Infrastructure](#infrastructure) * [Thomas A. Limoncelli](https://queue.acm.org/detail.cfm?id=3417752) - (2020) Five Nonobvious Remote Work Technique) # Hobbies +* [Mike Crittenden](https://critter.blog/2020/12/08/the-key-to-happiness-is-to-stop-getting-upset-all-the-dang-time/) - (2020) The key to happiness is to stop getting upset all the dang time + > Beers :beers: * [RateBeer](https://www.ratebeer.com/) - find ratings & information about beers :beers: * [Untappd](https://untappd.com/) - drink socially, and rate your beers :beers: From e35360b7e82130246ffcf4ef28e2df511b77e71e Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 18 Jan 2021 18:32:43 +0100 Subject: [PATCH 053/108] =?UTF-8?q?(2020)=20Never=20underestimate=20people?= =?UTF-8?q?=E2=80=99s=20ability=20to=20not=20hear=20you?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f5a0703..04108c5 100644 --- a/README.md +++ b/README.md @@ -1034,6 +1034,7 @@ curl --user username:password -X POST -F "jenkinsfile= Learn From 4aefea0a9fec0dac1c3762a0c41040879ca394dc Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 21 Jan 2021 17:48:45 +0100 Subject: [PATCH 054/108] highlight builtwith + math of frequent rollouts --- README.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 04108c5..debb80c 100644 --- a/README.md +++ b/README.md @@ -1607,6 +1607,12 @@ curl --user username:password -X POST -F "jenkinsfile= * Automate as much as you can. > * Write good code. * [The Cloud Posse Developer Hub](https://docs.cloudposse.com/) - You'll find comprehensive guides and documentation to help you start working with the Cloud Posse technology stack as quickly as possible, as well as support if you get stuck. This is also useful as a source of inspiration for your own guides and documentation repositories. +* [Jessica Joy Kerr aka jessitron](https://jessitron.com/2021/01/18/when-costs-are-nonlinear-keep-it-small/) - (2021) When costs are nonlinear, keep it small. +> - The math of frequent rollouts. +> - Some things, like laundry, are cheaper when you do them all at once. +> - But if those things interact, like software changes, then the cost of each may rise non-linearly. +> - Be careful what you batch! +> - It’s like DevOps and CI/CD: more frequent deploys are safer. ## Ansible * [Ansible](https://www.ansible.com/blog) - Ansible Blog @@ -2731,7 +2737,7 @@ See also [Infrastructure](#infrastructure) * [Meetup](https://www.meetup.com) - meet groups of people near you who share your interests # Free online tools :free: -* [BuiltWith](https://builtwith.com/) - Find out what technology a website is built with +* :star: [**BuiltWith**](https://builtwith.com/) - Find out what technology a website is built with * [Wappalyzer](https://www.wappalyzer.com/) - Identify technology on websites. It detects content management systems, ecommerce platforms, web frameworks, server software, analytics tools and many more. * [Netcraft](https://sitereport.netcraft.com/) - What's that site running? Find out the infrastructure and technologies used by any site, based on results from internet data mining * [PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights/) - Analyze a website performance @@ -7305,7 +7311,7 @@ rpm --rebuilddb * [StaticGen](https://www.staticgen.com/) - A List of Static Site Generators for [JAMstack](https://jamstack.org/) Sites * [Hugo](https://gohugo.io/about/what-is-hugo/) - Hugo is a fast & modern static site generator. **See also** [GitHub repository](https://github.com/gohugoio/hugo) * [Zola](https://www.getzola.org/) - A fast static site generator in a single binary with everything built-in. **See also** [GitHub repository](https://github.com/getzola/zola) -* [BuiltWith](https://builtwith.com/) - Find out what technology a website is built with +* :star: [**BuiltWith**](https://builtwith.com/) - Find out what technology a website is built with * [PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights/) - Analyze a website performance * [Socialtalents](http://loadme.socialtalents.com/Begin/New) - Loadme - cloud-based load / stress testing service for you website or API * [Dead Link Checker](http://www.deadlinkchecker.com/website-dead-link-checker.asp) - Online Dead Link Checking Tool From 0723b64162c368a197ffb843988c13db77a6bc5c Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 21 Jan 2021 17:51:47 +0100 Subject: [PATCH 055/108] A post on collaboration, coherence and complexity --- README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.md b/README.md index debb80c..d7f3c9f 100644 --- a/README.md +++ b/README.md @@ -306,6 +306,10 @@ A small group of programmers wants to change how we code—before catastrophe st * [Petter Måhlén](https://labs.spotify.com/2014/04/11/qualities-of-quality/) - (2014) Qualities of Quality | Spotify Labs * [Bystroushaak](http://blog.rfox.eu/en/Programmer_s_critique_of_missing_structure_of_oper.html) - (2020) Programmer's critique of missing structure of operating systems | **Original** (2018) [Programátorova kritika chybějící struktury operačních systémů](http://blog.rfox.eu/cz/Program_torova_kritika_chyb_j_c_struktury_opera_n_.html) * [Mike Crittenden](https://critter.blog/2020/12/03/the-you-get-one-diagram-approach-to-architecture-documents/) - (2020) The “You Get One Diagram” approach to architecture documents +* [Cantlin Ashrowan](https://cantl.in/blog/2020/12/11/coherent-and-complex.html) - (2020) Coherent and complex +> - Collaboration, it turns out, gets harder in proportion to two things: the level of coherence you demand from the output, and the complexity of the processes that create it. +> - Collaboration that creates incoherence is easy. You all just do whatever you want. Equally, collaboration on things that are not complex is easy. You can all see whether the log has been chopped or not, there is limited room for debate. +> - On the other hand, lets say that instead we first come up with a clear overarching plan for what we’re doing. This makes it much more likely the outcome will be coherent. But the price we pay is having to handle the complexity of the entire challenge all at once. # Art :art: > News @@ -996,6 +1000,10 @@ curl --user username:password -X POST -F "jenkinsfile= - Collaboration, it turns out, gets harder in proportion to two things: the level of coherence you demand from the output, and the complexity of the processes that create it. +> - Collaboration that creates incoherence is easy. You all just do whatever you want. Equally, collaboration on things that are not complex is easy. You can all see whether the log has been chopped or not, there is limited room for debate. +> - On the other hand, lets say that instead we first come up with a clear overarching plan for what we’re doing. This makes it much more likely the outcome will be coherent. But the price we pay is having to handle the complexity of the entire challenge all at once. ## Communication * [Bohm Dialogue](https://en.m.wikipedia.org/wiki/Bohm_Dialogue) - (also known as Bohmian Dialogue or "Dialogue in the Spirit of David Bohm") is a freely flowing group conversation in which participants attempt to reach a common understanding, experiencing everyone's point of view fully, equally and nonjudgementally.[1] This can lead to new and deeper understanding. The purpose is to solve the communication crises that face society,[2] and indeed the whole of human nature and consciousness. @@ -5039,6 +5047,10 @@ I dedicate this section to the work I'm busy at, about how going faster in short > Everyone would have saved so much time, if only we communicated first and wrote code only after. * [Umer Mansoor](https://codeahoy.com/2016/06/03/write-less-code/) - (2016) Write Less Code * [Calm Tech](https://calmtech.com/) - Principles of Calm Technology +* [Cantlin Ashrowan](https://cantl.in/blog/2020/12/11/coherent-and-complex.html) - (2020) Coherent and complex +> - Collaboration, it turns out, gets harder in proportion to two things: the level of coherence you demand from the output, and the complexity of the processes that create it. +> - Collaboration that creates incoherence is easy. You all just do whatever you want. Equally, collaboration on things that are not complex is easy. You can all see whether the log has been chopped or not, there is limited room for debate. +> - On the other hand, lets say that instead we first come up with a clear overarching plan for what we’re doing. This makes it much more likely the outcome will be coherent. But the price we pay is having to handle the complexity of the entire challenge all at once. ## Clean code and best practices See also [Calm programming / Slow programming](#calm-programming--slow-programming) From 849ac5fbc3b0d11416d06179cccf781c13a605ae Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 21 Jan 2021 18:03:06 +0100 Subject: [PATCH 056/108] (2017) Hyperproductive development --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d7f3c9f..91450e8 100644 --- a/README.md +++ b/README.md @@ -5051,6 +5051,7 @@ I dedicate this section to the work I'm busy at, about how going faster in short > - Collaboration, it turns out, gets harder in proportion to two things: the level of coherence you demand from the output, and the complexity of the processes that create it. > - Collaboration that creates incoherence is easy. You all just do whatever you want. Equally, collaboration on things that are not complex is easy. You can all see whether the log has been chopped or not, there is limited room for debate. > - On the other hand, lets say that instead we first come up with a clear overarching plan for what we’re doing. This makes it much more likely the outcome will be coherent. But the price we pay is having to handle the complexity of the entire challenge all at once. +* [Jessica Joy Kerr aka jessitron](https://jessitron.com/2017/06/24/the-most-productive-circumstances-for/) - (2017) Hyperproductive development ## Clean code and best practices See also [Calm programming / Slow programming](#calm-programming--slow-programming) @@ -6101,6 +6102,7 @@ See also [Dotfiles / Aliases](#dotfiles--aliases) and [Shell aliases](#shell-ali * [asdf-vm/asdf](https://github.com/asdf-vm/asdf) - Extendable version manager for multiple languages | Manage multiple runtime versions with a single CLI tool, extendable via [plugins](https://github.com/asdf-vm/asdf-plugins) * [github/gitignore](https://github.com/github/gitignore) - A collection of useful .gitignore templates * [Mike Crittenden](https://critter.blog/2020/08/14/learning-a-technology-you-dont-need-right-now-is-a-waste-of-time/) - (2020) Learning a technology you don’t need right now is a waste of time +* [Jessica Joy Kerr aka jessitron](https://jessitron.com/2017/06/24/the-most-productive-circumstances-for/) - (2017) Hyperproductive development ## Programmer humor * [CommitStrip](http://www.commitstrip.com/en) - daily life of developers From f1d5723e098341cfab6ca37e2f9d3aa183c5aacb Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 21 Jan 2021 18:14:38 +0100 Subject: [PATCH 057/108] Manifesto for Async Software Development --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 91450e8..a2f65c0 100644 --- a/README.md +++ b/README.md @@ -1004,6 +1004,7 @@ curl --user username:password -X POST -F "jenkinsfile= - Collaboration, it turns out, gets harder in proportion to two things: the level of coherence you demand from the output, and the complexity of the processes that create it. > - Collaboration that creates incoherence is easy. You all just do whatever you want. Equally, collaboration on things that are not complex is easy. You can all see whether the log has been chopped or not, there is limited room for debate. > - On the other hand, lets say that instead we first come up with a clear overarching plan for what we’re doing. This makes it much more likely the outcome will be coherent. But the price we pay is having to handle the complexity of the entire challenge all at once. +* [Async Manifesto](http://asyncmanifesto.org/) - (2014) Manifesto for Async Software Development | Principles of Async Software Development ## Communication * [Bohm Dialogue](https://en.m.wikipedia.org/wiki/Bohm_Dialogue) - (also known as Bohmian Dialogue or "Dialogue in the Spirit of David Bohm") is a freely flowing group conversation in which participants attempt to reach a common understanding, experiencing everyone's point of view fully, equally and nonjudgementally.[1] This can lead to new and deeper understanding. The purpose is to solve the communication crises that face society,[2] and indeed the whole of human nature and consciousness. @@ -4930,6 +4931,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Learn X in Y minutes](https://learnxinyminutes.com/) - Take a whirlwind tour of your next favorite language. Community-driven! * [The Cloud Posse Developer Hub](https://docs.cloudposse.com/) - You'll find comprehensive guides and documentation to help you start working with the Cloud Posse technology stack as quickly as possible, as well as support if you get stuck. This is also useful as a source of inspiration for your own guides and documentation repositories. * [:books: Freely available programming books](https://ebookfoundation.github.io/free-programming-books/books/free-programming-books.html) - List of Free Learning Resources In Many Languages. **Source code** : [EbookFoundation/free-programming-books](https://github.com/EbookFoundation/free-programming-books) +* [Async Manifesto](http://asyncmanifesto.org/) - (2014) Manifesto for Async Software Development | Principles of Async Software Development > Programming challenges * [Colin Hughes](https://projecteuler.net/index.php?section=problems) - Project Euler proposes a series of challenging mathematical/computer programming problems @@ -6103,6 +6105,7 @@ See also [Dotfiles / Aliases](#dotfiles--aliases) and [Shell aliases](#shell-ali * [github/gitignore](https://github.com/github/gitignore) - A collection of useful .gitignore templates * [Mike Crittenden](https://critter.blog/2020/08/14/learning-a-technology-you-dont-need-right-now-is-a-waste-of-time/) - (2020) Learning a technology you don’t need right now is a waste of time * [Jessica Joy Kerr aka jessitron](https://jessitron.com/2017/06/24/the-most-productive-circumstances-for/) - (2017) Hyperproductive development +* [Async Manifesto](http://asyncmanifesto.org/) - (2014) Manifesto for Async Software Development | Principles of Async Software Development ## Programmer humor * [CommitStrip](http://www.commitstrip.com/en) - daily life of developers From eb32b0bb24f5c88ff2dcce1e8b9eac43bec0d8fe Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 21 Jan 2021 18:46:02 +0100 Subject: [PATCH 058/108] Sedja helps with your PDF tasks --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a2f65c0..5091a42 100644 --- a/README.md +++ b/README.md @@ -2906,6 +2906,7 @@ See also [Infrastructure](#infrastructure) * [Romanr.info](http://romanr.info/magnet.html) - Online BitTorrent Magnet Link Generator | Hash to Magnet link generator / converter * [hashtomagnet.xyz](https://hashtomagnet.xyz/) - Hash to Magnet generator + Get Seed/Leech informations * [DeepAI](https://deepai.org/machine-learning-model/colorizer) - Image Colorization API +* [Sedja](https://www.sejda.com/) - Easy, pleasant and productive PDF editor > Bookmarklets * [mourner/bullshit.js](https://github.com/mourner/bullshit.js) - A bookmarklet for translating marketing speak into human-readable text. 💩 **See also** : [Home Page](https://mourner.github.io/bullshit.js/) From 01722687a957499c4ba5255c9588945e6d9ab392 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 23 Jan 2021 15:00:22 +0100 Subject: [PATCH 059/108] Principle - About chasing perfection --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index dd53d0e..ad07db2 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -188,6 +188,7 @@ * Il n'y a pas de forteresses imprenables, il n'y a que des mauvaises stratégies * Think twice * when times get tough, if people run away from the process instead of towards it, it's broken. And when people are freaking out, they run away from complexity and towards simplicity. [Source](https://critter.blog/2021/01/07/a-simple-process-beats-a-perfect-process/) +* Perfection is not attainable, but if we chase perfection, we can catch excellence. ## Art of Questions * Just ask From db62610709bab14af51b08faa82fbaa2f70b91d0 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 23 Jan 2021 15:05:24 +0100 Subject: [PATCH 060/108] Wikiloc - trails in belgium and in the world --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 5091a42..9bf24e3 100644 --- a/README.md +++ b/README.md @@ -3166,6 +3166,7 @@ See also [Infrastructure](#infrastructure) * [Jory MacKay](https://blog.rescuetime.com/burnout-syndrome-recovery) - (2020) How to deal with burnout: Signs, symptoms, and strategies for getting you back on track after burning out * [Jory MacKay](https://blog.rescuetime.com/wfh-burnout-coronavirus) - (2020) How to avoid WFH burnout: 5 ways to leave work at work (even if you never leave the house) * [Mike Crittenden](https://critter.blog/2020/12/08/the-key-to-happiness-is-to-stop-getting-upset-all-the-dang-time/) - (2020) The key to happiness is to stop getting upset all the dang time +* [Wikiloc](https://fr.wikiloc.com/itineraires/outdoor/belgique) - :fr: [FR] Itinéraires en Belgique | Itinéraires et randonnées du monde | Trails in belgium and in the world ## Remote work > Finding a remote job @@ -3222,8 +3223,10 @@ See also [Infrastructure](#infrastructure) > Balades et nature * [Marches Adeps](http://www.sport-adeps.be/index.php?id=5945) - :fr: [FR] Tous les dimanches et jours fériés, des marches Adeps sont organisées en Wallonie et à Bruxelles. Des parcours de 5, 10, 20 et parfois 15km pour tous les types de randonneurs. -* [Balnam](https://www.balnam.be/) - :fr: [FR] Les chemins et sentiers publics de la Province de Namur. +* [ +](https://www.balnam.be/) - :fr: [FR] Les chemins et sentiers publics de la Province de Namur. * [RouteYou](https://www.routeyou.com/fr-be/location/walk/47407895/bruxelles-a-pied-resume-de-toutes-les-itineraires-a-pied) - :fr: [FR] itinéraires à pied ou en vélo à Bruxelles +* [Wikiloc](https://fr.wikiloc.com/itineraires/outdoor/belgique) - :fr: [FR] Itinéraires en Belgique | Itinéraires et randonnées du monde | Trails in belgium and in the world # Humor :trollface: * [There, I Fixed It](http://failblog.cheezburger.com/thereifixedit) - white trash repairs. Aka how not to repair things @@ -7000,6 +7003,7 @@ See also [Dotfiles / Aliases](#dotfiles--aliases) * [Electric Unicycle Forum](http://forum.electricunicycle.org/) - forum for reviews and discussions related to electric unicycles * [OpenCycleMap](https://opencyclemap.org/) - :bicyclist: the OpenStreetMap Cycle Map * [Marches Adeps](http://www.sport-adeps.be/index.php?id=5945) - :fr: [FR] Tous les dimanches et jours fériés, des marches Adeps sont organisées en Wallonie et à Bruxelles. Des parcours de 5, 10, 20 et parfois 15km pour tous les types de randonneurs. +* [Wikiloc](https://fr.wikiloc.com/itineraires/outdoor/belgique) - :fr: [FR] Itinéraires en Belgique | Itinéraires et randonnées du monde | Trails in belgium and in the world # Testing and Compliance :ok_hand: * [Aaron Maxwell](http://redsymbol.net/articles/build-test-automation-system/) - Building a Automated Testing/Quality Assurance System From 2aa80037b160454791932bb24c4c13f7d6ef7dbd Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 23 Jan 2021 15:07:24 +0100 Subject: [PATCH 061/108] add result from aspie test - quiz --- tests/quiz aspie.pdf | Bin 0 -> 122624 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/quiz aspie.pdf diff --git a/tests/quiz aspie.pdf b/tests/quiz aspie.pdf new file mode 100644 index 0000000000000000000000000000000000000000..8f8374df21a1f533edf911ad1c77a0474fab92c0 GIT binary patch literal 122624 zcmbrlWl)^!wk?diy9Kx4?(QzZou+Y@;1b;3A$X9G5Zv9}-912pyTfg=)?Vk^=iIMq z*SUXE^*(gEXU{q2c*c~bQjw5iWMyJUU?*iEbuh6;5D;Ki_jEKPWmW-Lm?41vbvCpA zNXiQO>jwnp4`wb7uFgO+7gDyr4#XYoKZ5@5Ldx;>EF^?rW^elTE^m*2znhem?ME|b zQf4Vzz(+F)GoXVh=*<<(>@7Z8lCra~f&P!nM`tsD9fC)etE#AdHw#+pWh8GPRIEGZ zK(O9-oYJgFtm|GXf6-FXfJN20_OHj>ciP!#P(*a{^fnyq{4FEt*M%wsBy9s&UCAO< z@fg2gCafTx7($4|X;gdU77m0L#qC)tE-S#NZ)0&3@F`D|$>8Pku%l>gLmY~}BYm5R z`{B;yVi`l-p5MLfU(|Yj*h_|(vKoH;?W&H&Rik-A+^-B7=ed9(evYZ392_SI-sEK= zLHppVOBth5$GCRm?<+f}uft~bs~K(Yn;miQ(b4IHUK^4FZd}U-zSdh9hM%XnT^-k3mUrr+b%n{y^0t=Rp6svhO4hT7 zhZ+-%Rh#rCTEVrN>p>!fH>3Mh3Jl=yx5xh=f^00T z?El{ors&E$uX3TSJz}-h=u>q)eX5qFs#i-+H;P%% z*OqT3(}!jG2UF-*i&2~lj?6Hd9-e#!ZcK|<8lL{C3)1WCyUFQopClrWdk1$x;tBh4xx!`)aRktVUdi)2_W|i4M(md$t=RP+%{mNkp%=El-Hw%8PHwh*U&-C@*+L2icWGPiCb=IK`xxj#mE|@_VkFv4 zWZ6uh4|~n=j!8M&#WqT3cvIVV&oZWXRsARIXj0YV^QsoCJ3}zVH9=$(nfFx-gxst; z@{)`~7$=Pv{H1t!YdAF7V1LXZn{a1Ju%KnnK-I6%QP+Hb)IATpszvt{ zK!CoYBISk7E;WPPL+Smmj!)Rkii(>dqb?i-T

3q)s}Cm@n z?$IcT!?;FR3)MU&{=6tTBCsg1{|pXV#GQgca|;4HvjeuzPqCnuQy9(>fVE&k#3%@gDjl;(h##|UAXU>XLCp5l)F z$;ITb;%VEJT02=$NPRr5*swZ30h&E~c`ZKYbT0ik&lJX zBzng3YH07R?lmu4Ot_^g$~^0Ie=4R}D27DoPIpD`AXj-m0S(vB zfNmZQ1I7_F0q*WYKtG_u%B z1(^JFh=PFRmD3@zb5V5}AK(gzed51Pl~ChH6}UMf{EMx zqj6q%I6<+%%2F-bDfKJV5Q=pwPIV6fVGGsGAWc43?fd@TP?`86 zR$vcNoOzsvm>aMxL-b$ZlyOrHW@!l~tR5i{r{G0WELutxuq7)81@`lhG&g?4*~fD3 zUjOl{oP?M>VZPLms2uTmmz{9=S)YZ}!wLfPiNlpxsvLI5xvtN1G6^g%)WT*Hx3KBY zn0=2E&Q9i~fS}vuY&(`$NEcSzssE`sxc^Hd{BINo&%Y~(q@%)?O&>uq_4DT`9|2o-DmqD$>~GHNXl?Bzm8{5>Q}2`+7IH9*%|jxpF-&A8*oc~#IJx& zq$1l+;NXUfoVbmAjj+4C5F+0&FV?is$K)?6DqhZH)}P)}JBfV>7a$%YA?b+R%0-W` zOrbn`HE5#P31h5?_au>(5JEeUi42$G|DcKA<0BAXv7xkIPjQz9O}Z zHl5y&{T>nQD~|s_v&{qIug{)DOt}-s15K>)7$2Ggs*}ynA+E~FNcsUn+`9sXMl@h{ zgZUYQW@RfQg~%)kI9@H~OGbOepJ_c8Msta87&BmK%?S2zHK(^8ylfxc$Q6~D#ykS! z-Vt2r--fvvwnf(Xo(>Qn7^BK zbHBb95TiQgm?QDm6imFCHN+|Op61+z1J-2rn+HMwzWSm5>dbk%bG_W*-u?J|JsWS2 zNAnd~2+Y;+we6GPi0y;l%j&2a`&yE?w?O@4Q%m^p0L+Ed%?4Y90V2CZCSt~8Xx8uh zBKwlis~)l6EIm(I#!{1vjyv65&nd?^IUDuYVSedM$HY>{{%cMd%`IMhJ~q}jHsLvP;yJk@1eNaSa!GCPmH;i_lOs}8C51` zW~+C53h)Xk4C_Pe%xN4iWKr@ z>?QP~>u=Qy8yZPBvV1XiA`t4K3PDuPZqQ1=tsPFwf0-r;JFitZ?mfAdUvpc#PFW-J z|2l>zmkH^|jtD(ID3gPr;6;J#h zWQPj`^?p~L>&Cy*)YMppu&uqkel4>Ied`Ir=hZ<@?=o?jWR|g2-@@LA!y} zg;VG?lokI)#`Wy(>KJCtmDyZZM@QPJ=Eb9)5iOruL*W|xRvJZfn`AWW{I6d857U)_ z3Ye~Zm<$%UgrBJV-WTZU_2L16L2OvOrQ+3tuh&Tp|?2%;SsEaC+I00I!t5QJR)h#$+B(`D4fq^~)V`HcAG8W|hc!yA1NW1jTfeh{2#6uOHl;r5Z z=pVYt0Y2iIggw8JANymvS~KVMOkw&L5v1@3aZS4d+ACw3#NdxH%a#2I@`^UF+RIvz zFonXLnU$jxz9d7a$A24J@rpr*a;T(|0m@vO-D9WN^4a4D@u+KO16~C>Uvjg;%q9lL z;rYyAM@k-A4l8iyb(mqPE0>@M0sD}mIh|Hb3*`38er*&n5qQ8dmoWBti@~NEkI<-? z4vY>GQt(JTpslS6%mr2mG9&rXdnK_KlUBd{hBvUGi{THtQ09wFII(gthzC2H<`&%r zSAgq2D9R`Hx&cxPDfTtQY8XbD6*R)N0~RCc^BSSNjJvufv^M0pt*Ad5dNj7547lm1 zVvTf7mFgf#;*CC6Gg}LFX%_GFyZHJxwcm^o1icfk9?cK)ou*VO4Ar@&aoeqpHW0_& zTZ*Rr^cjs5Tbgcz5fEb*dV{VP=zQ~ThBBl)8fV)-_1zteXFl)7*KR_gklG0#;z$bA zI7=H-1vxcr*g})^#UmO9R~&0-8ID=HVX>w>#mK`!zp-KNlwLh30T89|i?!ZE!+Oo} z@u6Z{=4LE1c0ILzXqj?IPx#=8Z7KyZ+$6*%%|xe*0~ls^IOLQ9AW6_l z-(-X+PlJ$QB;-`Ocpl|dRKU`}ns@nbERltt#jL6yE|7Z>Be}=;V7Uv{L|3Eu^XRU+ z`!@RT$=mB|;Uk3*#*l}5DDSTT&*-w8?lOzc?W&^yK^39ZbDAH%-p?U+bH+`5H%3SK zZt<{9Ru9kMR!X3Z%cjo?5Re*A=>x7(++W8*QGvdOMig6o*r0WQWrW}^$dA5Xvin)blKh$wae3b1@-8v=oi4EmlzKESB}<+p?71(J!i~EO3;TZp^l5R zla>r@BQkNl$US9BlVh^>FD~XG?Gh#;D@erp_Q(zzMK54p;ba7`a*5GG-bYem9ndp{ zhBAh$#2(ck=hkzI$ah%r52wg=+Yb0Ex#*e$a*T&f{?05tK*hM|vj_zzs(DVPm8G{i zg>=1v>bTL}7W}82R$IqAmqWwWBN+Z{Qg=}igO`XG0b zoLAp&4LI>+?|at^Eox!`d$eGIzV@iAI_1Jiz7!;bopM0y&&-8>rH~sqO`?ORP%;K@ z+*r1Wv`g)*Nq$6qlJF!aJ&g{E;5SM9LB?cjPA6!jJ&o!=oUX|-EMmV&xA+U@@PIsd zQmE;HqvVZonns3q1Qbq)M%p4-LSs#IivhY^|3Vb$ah}4`BZp`542QElc}}L+I_hP{ z^CO4;GVTjus@bbQ7oO_3&V)3tY)3kjkPC%9luj^Ds zNZ??gYUnR8xvl_|%Ghyn=w%w!+;I*NzR8@5E_jYK)B}F%>!pjQVS8%{$aL)aw*Ac# zb&^fVP4bor;rqmuyp}EYoDerbM(t^v9URHRAhm=2Y_OJNtkq>Gh&h zSy5BLpS*95;_H4WRq7W*u@(*rmyZ+71^f_huHq`*Pz8Vz;a@kaNa?&Amy-=kh1B(1 z?$-yZ!b~?YXmc}_j4w<{(&qb$U6sndeYRL?%D{of*fpwmxbUxhQ43GG%h5g6!%6aB zgz0I`Og%z#m^ZNl^^@j^HzvTya4IslE%+cc?&#&kU2AWFaylTKwOV?r(A45loKLptiHFMQm0&>Fcwz))Ayv3;D*h;k^1R30^)+5X)<=18W6{W8 zcH?V>%rl9dD^B76EXsKQtBm^J6lJU||6Y~-dH#>eGH%xYpR$Zlc@Al`VbJ!&5Kn33 zNJ=%mf#FyvV^vE=flLN!-;VO2mg%n?hD1rXB}w7bDA^E`A0(fEJP3Nu{DS*^Q1y2 z#Rm~m$y?#LB%>mG5{Lbqjvw*x&d&6+A1uun6qr92fH!p}dH}NDxC$qs#2VD+(8vjW z-IcG=2M23M{j{9GAm~~8sODY9T=*+LXp8TuktMmvVX!uOAkE7sR9R6N8MyM%Ks+-e z%OQ6H`SD^=zZr*5*r?gOcy~otwHCgJ#neRqapkZoqu8yzEpg`a%Avlnn+oC%l)!#{ z80w^~mP_}7n>ERblIg;8Fa4p1#y$+4X-tlOXo)# zY5T!NC1EE28HnGgq-5!=6JZ`FJ)(;GiN#@)Q(h<2gS-Dnlri4d)JKy&-B@X>e* z9E)POl2pKm+S&U!b4LJW{{g@MlYM|-F2Rm|4Y+$!6kTTIuhB*%L4N+Mbx+GJTR1n{ z@rZTho^G!a8Mc!qL-qHJ6zhEpjLF;zF5bbVb8{|_l#BB-(BIPR%0f@HEK7L`Yw3au z(`@Lp^!M&H`AoLp3-tdFzyw8?^4$6D$(i+qlm5XVYtr zwazEl320i|9RTKm{b}~)I_|rCmAs5UUkN`AHREo6HSUM#g$Q zXLQXOBOkLQSHCMEE}qFirKvQbvu#01WI4zUJg_N z${=L^lz=+jNiW6+xMbjkP1xY=bHvI@znG9rAbN$*$G_tysNXqwECB2`5@ZJQs-dUV z(%w%#-G6%3Y>l?BrYw;)ojgkcyqg$KPfZ!`u~o%~GcgOqoQ=aP#0eSy={?EIKM)ze zL?Xoe;&l`)5Nnx;zu#}E3L;p3L0TY1N(yY|0ADF8v-o3@TV(V)3&kf+S_;OcxW@6p zKd%A?vvEoBmWd?lTbM=+9odB?bP(`=p|woOe3;Txhv`?rsAk9dQdX#H7JeW)g^tKl zg@=jAt{shEv&_gK-=Qi8PA7wXgQW+Au1Ya-)MF@sB((GsD(B?(xlnIVLDn`LusywF z>#TSL^Ls50{n^#{&OaC9j;yp|Y~r+{r`u0)5Xj!eOgYku;!`>okK^Y{SQUvrzOIl~ z_4AoXhla7KTP!$V5z~lFzzM9X+RDpRE-=FTsQ29U=z=a^#~f)alN89(}b2o3DgbUG?=3x?Jc?%5804yZDrcv|u9NZNx>rjxOm^0Ryspb zZWtk*d#i551K5+*y86U3J1hIYBVZhT_#+}wg0SdKqVqu_a;!)$QyqrTYp_z57ydr# zoFICs+RPY963)z$8oDF4R0)phzQCU{2xOER1iR0=(3dFBv}>(=PFQKt0E?t+Gs z+|QXmR+s92M^uc|MPVL`W&HFt^7QNE) z18*XhN@O4%_Z!V%9#jSZ=A@NbBk(PU1qET`3cqezL7J0{;0A-s%L(2B#{8ZBT*-F% z$b#cFf)?+0BRDnVh06)#vfA-$4Ox`=aPw3Se|qEU3(J z%abx2K>4GmiehW2K&Nkdiiv}ZL%GTT#OqP#x&ccCY<~)OQhwE7h~wVANoPp>Z#lm9 zTS>LxjV`NhgvSb00DGY5KGj=^Q~6fnh;bZI(Q<=#glu1s7i&;4KWkF(mb*(2$v-cS zBkEaHUPA~E+ULJ26c@F1-@{#CxHtJ_QydS1R6`a>H6ZkP4$!X(-n&KzlYuOHt7C92 z=RWwxLVw(wEB#~6o95Kjf`+yBJvInMSf-K6EkNqb-l4BXfH3*Ke8Z zRP;K)%LK9grQ~fTf#M_C^ca7X{0Pfi_AbKZBbo9?s^lFv;^~%?iOAgQSt#}9R7dicrll!kexk)S<+hjdqZheIWbM}u zgSG$#v8NhHbCUD)L3%miZ$ZygYi*@(($YASp*8$3FhVW`(D6*7%&(h$&GYrTju;19 z<+VRFAp9+$a0)TfhEUZUIwyh?7P0h?doO~>i=g>G=4n_xb~WdkthG!D%Wvh*rlQ_l zJ@?w{RU2@KPjHj8maedlfP@0+}UeS_l57G~2M6mLlE*0BLEK+%EsE7};QDD@2U zc%tEQ=QRf;f@<_14I5q7LB@1;6b1;Wh_qe`>WTxnFqH>ZC#Mz2~1BJ~;6 z7#+!ofZ|B+lofy^j=sT)y&%d*VSKb-C zY5I_uWXiu2mWYEZbbfSv^?L|^pGSy8{nx)+K>}F$c-vr?j;yt{%x{1r^nu`d1KfH+ zIF(s?L;9o+c2&&0Xm^7d8Hi8_Z!l)9$>J8*8_JfsWM5encGW1jN+wQM?5m@L9Ink* zmhSvM)(O5Vm)q=&*y!*$3N6Z}_B_Ve<*;Y-!xb6E0KrKL%3@KeAVwxSyLTF0rwM(&3pcD&=7#@tXN#mbFEx1l`Eam2kgN9+m5l zi$a9N=3ZweilcJWNoC?_gF&+k}Phgo2$PAa2S2bf(l68E?;JLrz8X6I)!gsBsKr* z4rgz6&Xcp$L;T-ah@oDG&gjOlrDS2)l*vfC&{WYumFpvRwA^9jH#!D?Z}NV*vgu_X{-Q&X zC9g)H$g^JB?pQZeN9l`g1xLfx5z-$=)@m8M+;F+3rqrS-$BEmDUmevWyPNq9QQ!}O z?u0AHP;M(mAeK^0t+RDVvejcH<*k0eHGMfcc{QJmJ*9||L+ zNzTWYmO_Oo!J_TE*`~buL@z7bbeo$(3Hu_Yt3+Q#@jJ|XR}cK|`vdaOdIF{2tKwRR zasj2E^q~7u-^>yHbN}QkIFrQp`u|zMvA%6v{ateXuS&Q-%UPge?C-@O*0<;XpoC*% zW#|335>9ude3c6WG+AqGVKtud`p)?|;1bU`(Ab#5-TY_F>R5YfeyXY9$>K|}k7T^Y z3DZXWOBEIghGgoZI#)mAHy`b=ZQgIiSP3M#&>Uk!uerY7%7)MMlmLk!|JB?f)Y}QM zJ9biV#sat(!ClyCVFu5P@ka@W3z1E+WM~ea_*NO7z2^v@ORobusdc5fh5g+Z3d*Dg zJ$6PoCz+nWU3@Ssh)v|fxH7`;^<>DOAKad%HFBxV^Cc)#lUagQK0(ryGDaX zS60SjgM$&srbi>zM4QUfj5EmnK9E$xzj{66iB{wnYKp-rKcwwyyZx*ps8HU0pfCNN zlR%KTXfcQn6X2OS2;@vgJ%XM%U8=IntR@Jp<{kc!=MUb0_X%>4pDTK8v2swozy~v#{3DsmkC*^qw>1Yi)mMosTVGZr|<>HE}W=Nlm%izx8o%+7B?+vOnut zQN!^?lFspUEo;Tl9(hr7p`@zJx)Ie;oHwiMK%djh&ep=uCYZy4QSW1(lU#LS9zenL zj19>utFt+Yot4RGk7b=qEj#i0k;F_QJ=u8%}t{ZKsOeP7(U_` zEFwC&g=hxWj2b(Z3oW39Y2MS~?1Yzug)tH%8NWEY90~_568f4A-^CU)A@~xO2!-*H zbwee?v()DCFCmRZJ=<9HV4_7i?Yofbl|d6r74oiA3lAng-}^-+$WnrMZ5N{N(r#N5 z9m;A;S%V3}KKJ4xd^d}MKQ2(fb8brv1u$Ex9l9*dnneN=GJUCjN=Tin9|_eWQ@plb z@3QDL|2#5;?!cOw*JSNaPs6aVc3t$S z9bX(X(XjW(J-#o15tF~Z(Iigt07uXOscoZzTSEmdEJpUHjrNL)4x>%wbw8ADNsm(n zC8}DFy1S++f$metxvS%9Z1+(0}( zE2;o)oo0FLD>wirhGI))xn{wt2p|j0su)mQ6ZZ~?g_=FR0rw*o+naRT#&zmj7u>J_ zOAKtOa8$dBB7~Rg!vh-9fb^AE#f+5EKdKL8RLGm^t2U`w()wHT@fLvQhGKALq(M`` z_V0|pWuMd94T&Oy((Qd5d^QfcVxsS!@rYO-oEWk#RoO#iGPMBbmjHpi z))%&FQG!u#KYyC#u$FK5IujFu1NZt9P8>}WTB}8moN*uD6vNp7e!WB4odXBXNybyA z6gfzCO@cJv3a;jy{bP5`P-`ZqbShGGK4=O5AA z*nIHI!`{QkU}5=}@$Cot_bugn`@MptD}I}>{SY_$7eSx4h^T~_wpbvWlE-?jUmi{4 zoM?ZKhwk=I-zkE_tG+qaC@UaZl9|O`=1<>O5wcVrbP51Tp7XLrTl~1s@f~;-rEjSV zWB`p8*r;*I(pY)%b=wQX1ZyVTefHi^*x)OV8FlH~ZYF90JyzpeZ1N8Tk>Sfkh!Q#C ztcbp+HIA|9&6NBq|JEm8ujVSGHSi6m!&zzDuGGhK==o>BvA|ZNYPHd!j4)k49=k(U zz?0bJ`WfP_f*&J=(^oto1IVwtu-~n@pEvtW4S!_*F$pxCDs(q+l!@v=X`86|t|I;j z^-C=UywPb5r?y-`=m@j6*O{Aqe)d-Y^^{QE@}t+^sS&75P5{w?WG_?Y)J+y5G*_VK zf3m%E)ya?OBp@XerA6Z+NH0EuW90pn%cROvwqltji)vYKUGwMeKZ!yH>YDFcit&3R;fjy2se`gu zCsO$qX0zXQC6S}5v69j1N9|V}wf52k5)(iltAJ`zW-IPB8ZC{j~b!1*n0o9|Zi(|i8KE$GAAOH$oNZsmB`owU`;iZ_0C_(?tU1F5P^D4H|( zQI)S%hEJ)ux!$aat)!}V7X#Iv_|U3%f$`i=w#>fR<*@@V5EP|>KmIS0=l^m2ob|u$ zpZ|IO4qnL*bYZp@WY$bsW1G$ZQcEX~XUwDTr0zpxnb z%e5P|C>tem3yZPbug}i}#8atG$A5$JH;25lZq=X9=dY9JMllUykN@zYDd2)(7!yTe zXojO)ORjw8*sQomY$#*gG-KI5gO@EIvPnd_!H9ZZM#*{~{az{5sKlPfb;0eqvhUsE zB@aX4X&$8WW5(4F6j7MF(+s84<(x#fdyiv3-S?i4eRbJz&mznVIYONz3lZb&!4rw4 zL-aviI}}fgIeh+~Ww~n?4mrfk8*urA(GIrJoz3nA-AE3uMCOYQTQZag9R`zq_k17A z^)#0!c2~uqA^Bn;cX=G}A;(Kkb71Z!8^!23Y*|TuJ!}Pl%~R5q1Gxo6uP_Pmruy(< z@V}Ms@J+;HjzCEjI)u>}k2RA%?;pGHGoacRSP^L~NnydVpn%NdyATJ_o0 zk$2A=GSfdmcn4~Zs#QnN;FmK+wbs6)fJ=#+X=DhDDAN#|0N&P~={9;Wei;;BK5RSy zUUYnVL1gNEK)2r4uyS&V{!F{${#f*``EWVvoN(h=MyJGX!ukLL$n|mZw8c$_+V3{f zl&1OPN{Z!BN9WzxmXDw~z!%k+hfGTU6Mpa_Gv)V=;SX$AL9Nxa_8{+Bg=M z7(I<;LHQa#`%iv35CoIQC4Q8@;QwX{(QtA(2xD;YMg4i<@Yw7(DGAx* z$X!DBouyXi5#7j_WShH*o*f>8#?8U|o9bGF4R-7(ei_+abkp@Da4!P)SAX!c2NPXs z9ns<1=!?L!?(dWl)kI9xo|L+mX3W%*$&`gOpSV||*uHJI4KCM3etGAcqouw4b252! zVYo1M*o!c;PKk2S=5_hQr4S@7Ob2!u89=q>U+5;9|xm*gZ?|WVL#ePe*qQ z(t69VSxBbs*&EXXb4*2=*Dq8lV?kxt(uH9K-sXbP8U; z?jpZ9w#qF0kw1#9e=!VIS_Z!7NI-sWOTNknq}wv?io)#8RQvH@39<4A8)B!WfS7&o zniWa$!uS;zS8qn6h|!9vG7E6ArJ$9SZu?ubMCG3!VM{L6oGu;Bw8L0hrA^#WN7g+u z#r4?AhB0Mw3}3QLu$Ykz!-=UcLSU@~*l3GjDyZHiUf2vo%9hmxZ&bn`V(;x6Q=S&5 zJoixB9RZIK*oX0{U4r>B7>vu08Pcpo+jolhZlMa<4g2v1?l$3Ow35%O?jl=gI`$I6 zJ@A2pwyMFu2<7VY(y<=-@}glR{e$v!H?eGV&IE z#=dO)8FZ?Pkck`eEnQiEpt{}qg13$s(NdZu7UURT+_2m@S1(g%xl{dt1wXzmY-u)i zdk_>R(ma^_^31U?qEUM{d1mSQYIlKgAp^@THFj0 zwFy(S#Ldb1_VIv6ilTbTvf~lBw~mx0Nfq>-{!!e5(6Q_1WroZN%-TWCgty-ouai`_zcgSkR_-A=LweR^2^9JRHO^A%l7pV zxInE%h+Qm7XunMgNum^=();7a6R9bonWPIZDuo#V`u&sf?6PMsNdk1U=qj}VbeYS< zX0ttz@}B6eu%IOU3;O{Aq5#Y}kCZ*?UFH7o?rl<1#?e7&ks>){@X+G|pbeCvs5dvl z3$0oEr@GC2psW%=t-*riqc5OCooV^Ui8^(=s>rF}9BfX;{)~MvcJew$8!9ga_nt>W z!A)WOq8-%KEEi&E=n=O z4O`$QcD+BvGj-IoEx&@wp5DX8=*V}>lvA%}t3Bxhb2eZ7b)!Y|gUZP*BovM{L#3dOnW}4fZJ(FS&{8LRwu=LT1`+xbrZ9QpfcnzTHaa(rwgV%O{@5rxdc#j zlX3T57n%G_q0}j8+UiSE-5RkJq2VfV1E#7;UK_Uvk&NlW>OGgrJs>*u;wURaJ-Bd} z;?zOTR-P3Su~HMSe8$$#Gq?>mb9+$?crZ0p^yAWKKEN;7mMqfCJt!L%$xUk=brY{e z_}+?w@dJKr-53jS8^?R#jW2qJpy#hoGi#O{gl3JmJgZGpsn#EN?DHGOuRpz`<~b|7 z;l&DCHP&V#=i0FarULO~_oyS~&wb#w%>%I(o5shSczG}l^j`v)ChKMh3t>IE+7B0f~HPa3!lIShy{U3rtv@MQIHjMX@oU!R&D zFVIhigQA+v7b}vPHhXTLm-GhIoCN>BfqDToL=7_pPzLQs(d^8%7`~Y)3MWZAp#ndr z;cwB1N05jMy2vIle46LL7>|pKWK1L%WmPZNSX))73&;${JJFEmO;Er4$M1jfUZFeZ7HQjQTU0^t4g7Qo-COD)=$ab_ zXP;qdpYR4wxf)715f^Lz!+C|9JAB^)j8K}Dckw5q&SR2ZZbmL^eXr}OgkukHhDH3g z=6I3{iG-JxDbIm2$7lIKi}cMNmTQktVMtVB_-`i>VcxV))c(OV!+1avWuky+iP#de zsz1c&fboa7QMhO!@MF4R68offC_%(%L+%w5-H8WFh7}MkgMpx52J)Z~d1SRk?!?`w z$XiH-s3Ncd0~Cq}48T{YjPQSm@j)e{Y6ja=^LT@(K1=d8*VlBuz*F&SS0nFTA82Xw z%>p>003->N;64%1710+nOFoRZGl(Ne8l+MkgYopP&O6()@B6|aT(lEqGk8Xh|_&C|D%) zGvz`cTw%2aOPuer6Ca{IVv6|0iJ`RkdT&o%PR57L?cL7VnDB>Aqyi(Ut zKy$kxa%7Nl;Hj2Gm$_lnYjkCBkU06cms0pA2@+T$MXEJ1Q8Ix?e*pJuoQC)faKAO* z0GILxxX^Xie#3%!Kmo_8jj9w{K{pQRKAu$*GL!=6bT`+4zg2Ii62sW#jlsC97e+_% z-rYO8^R==b*aI=cQ;Ymw{18%`&D~XY1a8lcql8(IW+S2qr-*kQM6YE~22EEo?(D#S z#iy}`ng)@_*U50ns$(zef|?9N9(LjtyyPsQl)>cj*D_)O^E)P%Jh04kf{$5!G@ss# z(VN-K>?8AcZ}QlLb1^WqV!iaB1GD7(6f%_?`ILGRd32!7)YQXn`<3*c z=l`J3z|O_}@1qs{G3VWS^!CU1j!6bZA@>s*`X6GC)%$+RZEK$o;aZ0hu=bHjKdHLi zCNB&!HfZw}I-g;hu2U)}+Jk|9EzO#T+VTN%?Bpf$C=NMZy|?|Ia?@)3wjDO54W8ND8&d-`2UhNOdpL&W}d+%tP>o;Ze zEzy@-lSCMZ`U%|ZW-YU1NsQ>iapD3A=_n+CdF9g6_M14Xx?NAE^U?BFPmveC{D?8A zQQJnjCrf*rax`1FQ)HTU@-Uw^rcw=Ds>!GSmd{OeRc5=0Ph|Azw@Spj)GEgtyZ3Pr z@)|B*nIy-C{fu3^Q2L5^)O)UD3|_nF9H;Wx@4Dn>?c;#ZI0OA`Lj-rXx^8ij$i-%8 zM+3^tk|kBkgC>Io3avALX@f1o4iSFnb|zyt4uhGS!?Qcqr~pm;^Oo z^PaDdd5BpGy@MgqZ;z|!K0P6cY+%R5*99rS5%B>-j8Lo`5W)oK7jnnXY>c+` z!M}RLhbvAsCrE-%00YYSIPGAEdQ7|EA#Lssi;hXZ+}dVJ61lpT!$^2NFM#2P&Omq> zgeZ|cJX&o&+~{+KYxYLae8q>l5qI)vZ_fwk;Z7^C=(Eww-zgSWN2qfGi|m7Ie|YSR zz_FN#VOYG>He54Xs6*z#a?ANP6As^v$>P(={yyv7cN{f1tyo9Rg@p#S6%Be~@E0(e z0{Sy;=)5#I!~O!^>X&k#Pk7#=%T>P%7kXS)5Ec5MmGCI#x5H}GkS0`GSoA*@$+Tjs z)^D7XVuz1A{!%~A?}-XYZfy~(G3ZTF(7yXdw;6pS?rLnH16fJan)kbR-u^l!QVGHmF?V_W{V=zWJA(WadyL@Yv6X_nf#aYgj=_vd^hA=YImH5t66>m1`E%a zkUXInA=E zYLZ0=l(11Dy!=H*!2Z=V?UF-3@ZqBA$2zl8!d49Vg|s-w_B$?od5Qk;`8+Oj2?gD{Smk$Byr3`WakO`$!ri@GP@1>chHJ4a)$abSV)$u=#|uV%ibw^^p*a8yr8g& z1m{cFrP^I+IEmYfP}33yt$t?@soX?R_Z-B!czOWno4) zqroNkMCoTvmO^J{E&hd!0MTvv+|nU$YbZ7`2{T?8kGU$Hq6Vfe9~?afnzze<)es`E z$g(ou)rqWD7x6ulz@u)Qt94DBkx0#+>tXeNfYVyhJ@tH@qJ?*k#mZnOQt;}$@yKI9w zw<@wz0{%f)u9&MhSp`{)ijRscKanu!$xP|D)X;1{5#to8dQ~`1CcGGSLzd^rBGD89 z=#&L?T8YH7E&^TSPGvpQu6vE01#mQ5FL!cpChq?u+&~olaU?| zX@ii7I4!sVAQx*-BP2Dt?cx9W>4@^d&8M#(pgNycedtuQF~TK&w6=MHTRUE<8^X0q zd$VaM>Ocr9gEbC4g`E8IK+RcXY7Labo+Bm7SCd>prU5zj<$(se1avAT&H)$3FnK0u z$Gz(R)a7yC^~YAEa7(n`ZE{4z~bR|qrwddjKah8gjnbi%Gpzb0%~5qp!^_ zJ62Uhm3~21-}aaH<*!l%T|z}IFCV*etx04AigX0RFktI6W|Dpo<2Uo`IQuDSCU0Jj zm@!fRD<3lHZ+Q(Ft&)4jv`r7qT6>N^=Wx19hMbWBWn4Lhn)ycpVCIcX!fY^ihFtbm zH^}yr$z5yk0ccceg#U-Mvy6+QN%uBRu;9VngTr9K-8}>d3GOz*9fAaR2^JuDAh^4` zyGw9)_qXBMea<<%`{DfF^95#ldZwyx`QO!DU018J{esi$;NDEM@ahigA_+=6c-2Uo zIF~SrhSHXRkFqdK(U+hg^r+ilX&P>dVr~E@26~lgE<}Jg`E7(;jLLjipzV_hhi!wu z@!-7QZ*QX&&bCUq09Jw3xef?NO*uAJGWaR1H+Q^IKl*a6aZqqndJ*Oek?sS|ZRqN9 zt9EDQdP{cqB4fM_H^$GK@Fgxf#^#ilJGiW+Jef!@p2G-8R8sehv$8fCz&#&nIy3*_ zo~Dsee?CPzorN!(g+_MIf@jwv=6me@+L?kxZYl1U{2k(yx`TgfoJ;*5hjq=0!av!J zPUE_@uSMLwja513r!OcmF>Q6_g)v14|8Q#HXYsv;X%Y;LxLDB99PSWXTuWB6TT~p3 zbv1!Kx8RfD3peOw`E$lo8woAk6i^<9Psx3?6hY9?yf2+c2iS{EisO~THgb_t08*GB zh9G0)yZ3CBtbmO8eFWhzeEd1F3bT&dB}=gRBDz9izDf~r6;ZCAUNLSeWnAtXywSNK zfK%VJG9GIwb0%O<%)xa3P`NBY;HXKPn4kotCDLXPOKz{g=AEUrc>YJr!}kG*+#5c3 z{63!RcRy;<-1pb7`)58NlQ3edWu`r~2ZOhR6$<>d>qYqD#yke8S8WW=VxZ_ibgBe) zKEM3s8A4zR(L&~9nzyB~r4#2yMln#5xxbH|nr73~t_)~RZ1xlgTWx<0@|Q;r`O1X> zM0_yPcvIg+T-vjOemllU1x0PlvNe){X^o6{rR@)kwKf)LenH7 z1V`r6NigRjmC4JN$~L_7VFWez*z);OfNsSS<_l{G(*%_HU;;+->Wslq{fE&w-k3Va zVorU5K80U1f_ZT-J86cnhB)+G*IPg$=$<7a%D=emMIv@gbv5h4>>0*2ht9qbP|O&y z_ICIYYN(FT7!O}=zpT8j*!`11nxC!?7FW=sQ1heIp{+r>@iCFG=Sl z*HP7-O&qW{?CUP^TBfUBlCU24MjX+)+J4@-F9lIBAhPb+wHqpsDfwB<))WTntZ(#H{Ajx0}p4 zkc$T9#nLH;%dEu6tZM5q`#J6d&#V}9b*5wF8#iR}&q4{K%dBJkh|DO$19T zG%}Mvx#S~dVLA!x_l8SSc^;3zUd+3$FiNLZ32PSzpX>v+tWdMmt`Dg@QHFJ9vJztD ztmJqy@cjtw!?$_u6hMzs_umxX$^(`U^*2R39WjMUEe6rOq<4qz-|1b;pb#l(B=gl*B_!$4K19?Ef9M_VwAP8mm{gk^1TQFcqUQC}%@dTuM&AgyGQ zd+o93A}mj`yP(-O6=peW=T5{O$z1U61IuPd2kWE8YAP1BrUh<50Ud)j2eJ!PVvt?U zYjI;kfj&s`qi%C0zqz>FBEno5tAY2w%4?xoIO3#Pag=)J*Y^YE?- z(>sWfTB)0jU9i*{bUBI7TNoquOwCVw3sZnZJwat#2>w zCNJLR(jye)9$w!g|Ck1E#b8&JwEu>6@`BzS(s!&NpiKncNmB9R(&7qvre`O?%D;V1 zk7p;TJUgkdLjJ``u;9O)WX1q_P!;Kql&*FrGm+}?;}89(_CI|MgLL>B65150j}3vh z?d1MDlwmGO1;WXn=+Uu!Oc_B=JG1yNnW5qCmvV}B{Oye7?W_pFSa~w%Le!0HYHZYV zXNV^?M*Od}J+V`FdIs?ih3>HxWuE(k>~G4TL9sIHi9jtgyM@L>^_qs-i*G4|>!msx zkmDn*N;zBW2BWLU6t!7-4bvFcR|;-nZmf>m|I)j8dyHE0zNJh3zBDkJ>WTqz*+Ug{ zltGGkgm*{rXq0$=wlS^u1fNn}=JFp-d;gE54%UA`b-cX)U!3-WSUCP=QP^Pg!e6Jo zTEAs7uDL`NnDROt^H*iE*TpW)m>2L4gNyKN2hw_FA|i8-M}L2^J!a$@4#^h&Y6^vd z{3oOW<=lN6Rm{usnAvFA6J0Xd=V32Iu-OFs6kYN>z24|$xZLnW4ot7Vk*o)O^Xktq ze26)n&sbJuFjhoT5|=ix13hdII`IMa>8l6)_CjjmTlrdqg<4~q_j9mnY`Qp z`t$xRJMWTOd+kz0LA*irMbu>GK7P0PQ@Q{o+;3u%)Xk@p|_?VRp4QtF!Wj&vH04JL_`Aj7{Vy?sUWVHjDRfMqbx)qF00 zMZsau82czgu3+!N`>T;{k?x!cM3+gOuY_c#h;QMxW!u6Bn2qHAg z`0HyKoF7-ZC>Lk%Np8-$4gz-5@v>n9B#D~p_e`2dUr%O3NpbfHl|o`A;3uHNw&L;P zSvwhFfjcq^Zh0d2kXTI9{52_r@_J4YP z7JO*&2iXo*HfngebPs;kKtV=KteX*Mo-OS3fbeEo{$j$heP%yi)2X-ZC^GYaGpuSS z^oif(l1;9=6iUs7X9_35un5Q9<1GEU;^C5n`*iWVB?7}Fmu?vRqy>|=Dx3Sx%QRg6 zp?-VQ48~`u9rC2@i|#Mk?s#vk0YMh-pXCBntPFm7NtFmD(2 zImb{ce{a__h>+V8U^M=5Qp;WDmGqEo^}Zvd_pTCdQqhwcpW%U6uU_W@ai)NOoEb(X>DEZ+u-(*nALKrnT z9Ty$7(-fLYt4@=hEn1pnu&swAY^QWlqF!z|%>l_(30aP892#%qr#vrX&=Liaa%u3c z+WRu4M)TiuDH^Vi){bAyd)mv|KIxB9qm{L8{=9C*U_jc2%tLe7udgH8RRl9Fb|A&n zZ@v=8VtyB)EBN6K4hHMJ<_9QvWse~L@d;am15Jm#tFxO8gpwK0)sK$@56AWl=Bb_8 zd#JKTXWd#`I4L!}?TeUe!wO|{-{e^*_Ek^^zRYAB?zp>Q@-!2EM|tF0 zr-4iX1_0m1QHF+=lQ?14M`{p*!>?W+%1*hEPHMCa;Go(Rh3dD8_~!cLAC1tn_mEnLJ1ZGLSFy=Y z`1T+vV8+E0P~51dtw&eT`3HY@M!V4vCoqDIiqP_PQPl!JdjyJ_Sd5tE4~vUZrYvT< z$IYIs2yj^#yeTN5O{sUoT=GLLgy-B52YbF`opbs^AM@3yuAPv_Osq1LWKK^81N*tR z&RX5^uE^&I^!bY$ndt^txWw(>5!g6E3YG`~x3$KLHw!4F^uqY08r-sx1Pl*1^0qPn z;41O$t}qBHw{P74k z%@BTp+_H(aT7j3Yn2&-TAU3D1)A|)JsU3F4KJP+TeN&0AEKaidn{%%mM{sx$t-tg4 zt?G=qqv~lfs1cT*wu_BOV?7%9(CbLExK6 zd}>+ort>8pu~|+?O+d)p$DviBO!9u0R0Yg?&nxZ|k8xe1zEL%_*rtt!rl0vNYa{j< z+kIx{^hQJBgvat@SR+lAC$!p#i`lH8ZDZlUd3EzBYkRczILYve7P72rBe(7*whS#-Y@I`kXV%2`NR6m~-e|}as|<3~ab$MJ zH_1YQaLMiYue~{!DnrUBf4<%!_OEO1sV{KFJJoyFYVF#zc=g>Orp9}gGuPbpH6{TU zNi$mHdNgOJ2K6^rG}cz>(!d}$O0SHVfhf*SrBMu2@;ARtGySyV>Nyg)qAuQ?|HOT( zyDHoP0sR`w*T~+CynG;DbZ=DvUHMVFLak&Ce&`3-|;}0p5vX({6i_;R*2&&yl^zBRP7!rmzh^x z3|0)#J>zg!wBDA)kUT@+zDtUee#l-yGgahHe`hpl&C*e}_apgmT^6%{frC<_Uj0?N+8D@k?u;veie=MPpd({Rj5s_=0_k* zTlgi|md1iOhT&B6$VXF4VHI5ZC5KpyKGII4vW-7lFhW{iDp~)RX%PGVw6AKSUf@%oW=`(i`dnsKum%BR>UP*O3Vev_N!(T|?_gMyk{ z!V&Zb?^{ybIt!F5T(99)yLYlaY*dM0uR9jzc`_LLVjueIJX(4ruITVGkJTe!cX=T=By`{^K@H?-Yq{Fj6=VlUX`R|hC`at zOf}TV^A|ii+z*mEI-9Z+$yG(yXrr+l++dUw(l&2P-SIN2Hh|oN+C`7}cO2>jOYRz)D82~&i0NYYp#6eCTX=Vs`p>X?v^>y(eg-Af3}SAiih>%}Xu)#n z{C`B4GJNQitJ}qt?$W@d)`+kEudhMyy`IS21qFXe`p!;2>$B@}xFodw`2%T77mU8K zg6`w7^=d7O_Wr6lUw2TG(=n*^%eAxx+xOxP7Kt~j;fn>!dFCUy_JVV)ZyLw#_-z*d z#52AgzYk{AMpG6vJL-r4t_4aJ9lq<}$MM7_O{4*`K#ul;RK^F>Tp0r(c~N@Ck($u~ zY|I%n)C>?kr*d7o3^4VL+Vz|KZ_`nUhzlp`dd|R+>j_}y8-R9v>*y2%J#eTE97PP;$I0j#Lj$ZKYUY*U4U)XuPBiWliyTiCo znZJPzfeXf|B-rJBw7ynUog~JEUol0l5_+JOA-vdq=hfOUtJs~t<>VT0r>-}*o^v#f z5*_kvWkMCy41VsQbLzvesQWr040%9y#bx;ds|qqI7qc1xjXU~V<0_z`6*8;>9T{F~ zXYWD3(zBt1p`Q)y{*1w|lfCWSYcA8~p9v zdJT`Z7|X;hI?Wrr8JlKH=&(Bh36M@!YpG<-oRRLafEeZ^x}tfsx>QYYzSNI7;b^sg z)DN#nc?_!W77TwSe8%4iPeX~NF%R5>a7r#uI7=fa5cUjG%W)?wW!ooH!+a-yBTFwl zr~h{ZTb0=|{rM#Bbn3?cM7$>~K!tHkhbPgD$-ajUcC_sK03I3OEhnY2jk)*@)64gq zR$af~mGOVDhK$unp8kfArU%3soACq)m(jMQfnU)JxC6->FLCi)bY)6kb4$^EAI%OL zX?lOTkqKwI!<7v|!Q7sz8>ew7(}jyqxC&wz9&~8@$IyTv_N>3hC8O!UxS7ybUFQax zD(qfi8sQS;-c7NLIO&kCM>BJETsVHek((p#kSLfkQBktBQ=GOTo83BGBQtk++R4x8 zDNHI&3xx3i;{|DkPmD#a`1-S4GUHN;{zERs;AcBp!h^$~hkM08w;8vES+U4gg~iO| zX{BO;@+%(&l;3f}G?wRKo@#ldhIFdUX8{U2LDD?otz?F|bx!mCk+uOx-pBKLDv;AI z9x;pv=M3S8<*GR`1V22J`+4afI)RpfQHy0O;R9)>lwp8IV)5^mMu*+78-8%T6|$cE z0>3)!94*q8gDd6lT<{)Rfu)`!5#&u|VLp4s&2zJMLfyEO!AA>cOHNF`(sRSBYoQ=S z$C^!XUSEj!ltl7iY4LGD=iaAIH1q`ehn8Lhb5pB&`8|hh4A=69gJh6G%yeku8kNTl zr)G-5BWf00Yx94&)bM}g&#?Uqf9B==|Kd^uD-R3D|6IH%9lpSc1%SvGX5lP9o<+(> zq6g~1*o^h&bJ=45&J?1GR1U8hdmxibHBJI>AjLx zqbFx3d0xDD6w%Z`#@vJ=jXO$8$_0NqIGBm%i7X}5PwV3q(m?vK=+lpN$cWHGYI`kLVw(zwYSVgMe!5#%&1?Oh6yF%ldj+6m=UYD z2OUU^^?&*}g~r)eWK-bSTt@Ll`BcURUQmRo^dl8X3uxF^FBL{y(3E>SErg6~F_I24bhv&nwl}f7)naA@7QD6d~ z2lPC?rX9|PU)39lLk_Nm6g0g{sY@N+5^p2L`k^6sY=ql0pGSSLmcMDxa*txzEurx~ z>hic|Nz~2bm&?(J{MG%_XQ%b(A=F&!-6I;?JHJH%Dz~O+2c1gZoE)TsS^9bgDYJx6 zwvTm1hjZ4rdnpU7@Y77UB=y|%D){g?k7-)AzjnD$_DMBb^YDI0l?d;13SgwU&Io{$ z&T=X4Yxaaxmp`}*Ps%)zSZRJAqpS~okRidkJoeza49Nr1aDE?k$9fabbtn)B8>18Tw80wFGQ!X4>^QSw#2*AL+8Yra|2^3dG zG;xXD4Q60Z%q*k@Zl9+p3;kZYL((Wt#u88#8Kx8*?E{ysmq9=!`N^oGQsR@%pN|H> zGRRVfCx4~$cB`V2>KQ@`#L*Hsjq`6tEl9R+-hk*kf?E-;A8$P1ufD+r8xPMt5MC{! zn>W{tw~RIyZ>+FK4i~3D8aG)R)LmT5f8)#xW$osp!%YuGs2<`TqoHccvClg(S>?i- z`^nZt7=rINBBwd>YhtoR`*jITiVtwh(t}|YEzG6{44L1iG&i#TXEegcQGd+&?2&iM zM!zI3Q)&bx3H<0Eb~~6{;zs?jZ>sbSl;K%nw{v84=Ychj-%K^2f9b1qfYwHS>}}jU zwe@$+oZXcbkgYx<;&|TBwj3EN)H=Ih(Pbk%iYXAJ6uMQczayVAN1P|y;Ri4_W zc}yiF%irqSVe+Wg#G)i9=H|9bIbdqfQaiI z=j2K8vco-Jt|sZ;U`Cf?0JscSp`w>bHe5nF#cK@^M``{)NPF z^L<~fLU<&wGW1Y>5}&pwydg{)VW>_MpE;4&L4n@ujQ5m>^_r_U(>kb$PF$@)L@|0Fa)jV?qik3w4a5qi-*~Zr!XX5ty`(LF@c#g`<0aM z2Da=Xg=@yZ$?8VhaPtH7H9w|d+_np{T&e~WFPl;g#K`ccAo><;#Ml!8`EqO;F2&nD zu8QjBoe$#ic#fdd*)H9%Z$!Hi48Dh<_Z-P^KE7?u>q-k+?(gCID`JE$gz_|t;a}{a z&839}Wyj!y1~rL9MVl?$kgi>W_0cgt9e-B+wR`#4v;+fbT(Zc1wKjyX zQxv8&$@uh)%h{1FD&H^J%T=X)4WX6d?kXN3p-*Nr`0Z?bXY% z(oJa_1=~JilP?U*-ehy{!9O|Idc=uow5}O9=AJVNM2(IrFZg-qwGj z`^~ly#|a`>%m|UMx=!f1^>hE`G~^rymU_})dKKyXDMJ{XRojyCyq*slZCz~rP90L- z?zC84hd;{63-x6rph$CiF#h{xBoG3O1W<3h&$l?3RbA4ggoa?=Wib3~^vy2H`HoQ-#_oG>|=2+@+uLX^1R=K?M)nSK{pw&y{!CNfRpD=xpMC&Fe|6 zAyhA#Hd|Tu8Nqfz6A(#^m=XZ+fY3VHU}$L9d?pyiYa7yLT8c}_4Z{P9Lz;BZg-V4nVXyO2G9+$Ukg96Io~xX7PfRZGQ^u1#U}^qK6b|eC^anMk=vUum5JW z!v!_2aFy5A)cO4x@l)s*r}N6n1xBNUHL!#KRg`R|npfjecQU{0 zHj!EVOvZUd_O0PWyv1~cQ9llobq2P@W@qSA8|ZYozRdH_-hj}fE4Y#+v6gDz_%NQN zF2yL6_4`gco=jUwOmNr^(#smQxR*6-&wLq_zL9mepUUaw-dcBGC-+|91AH%}qByj^ zkqM-J2}=x_Qz8ps30vi5pHkSqRB@@{<_6cJw3tM&Td7*(1HpnQu7ZyCUgnItZ+VMC_|y3c$KA0%czD-yiMiiDo%-yk0@?9t z@qC~u(t;-vVKv=?x=Hkp)>0nT-jZ7yY^~<)0i?77z~V`K`@@?-LSD^}v5P-i=TS-# z;JR2;(n4zneqiLMoDn%h-i)h$p+0>Ch+l8g5#gj^c^UNao}pj4dTD4VEn%MX(C;_I z%Z8z0zPnlIqY!mq{d7cFXey3>aRST+y5>7@gzt~x?gkFXjk8=(Ei2Em_Q#oAhT%W% z{iC1v96gWM<|8|Ci>NFWhQ{z5gLGn#mb_|qZoY+eJR<=H(1(OJe{Pz#6TZ-JzD2}7 z({RcFOd20nGTNbzB{6V5uHVq5`$Ap9007*du+mdDSM^O@e32)61dfgo79bY3s~aWJ z>Bl^l3`BCp#bON8SZB&2S$!f=v=A(A;A;%g&kaFnxe%a6j;#y9xyO=!)%$cF0vX+ zUx~aZy>qS^L*_G$DQ}KO9{Nk>vMp@kDf#>cB1V5LMQMP)8wc{G^wQtvHIR(n7>PT6 z+FUE#>SRm`NNUEzg?sF%rB!XBG-4jy8wR#_de)Hg>?$ zDU5_r)-ElD+p>EUJh#fb1ylIzoUc$YB?q|9Pxm}z` z;SvOv)g=M^rti`Kzlmsq5_X2@C1T?uvi=#d{2E=d&}qDZ7tI6U+qEI& zF!{^nivTEWK-k~hFwNx}%NoM^e10=C5W7?0tn?>9E{Lt{$FtOAc*byPA@qF;j!Y}g z0ni0D{$~dpu6LQYH3DP5uBy9l$`i}-;F}g9ND_4rp4z%R;Pah!FOZ0WB!PS<3uBMe zq#YwL21a7chFQpf>ni~Y$$-#r$8qH6Sj_)B+4a?7eYr0KflKYrxh|2Gg$(3+_T~?X zTIE`S@vC))mIXHii+%2FmomlQmtl<^0Cf;Re%$}*8Wuj#{aEU_&f{f5cVXS6`2cEF zFz}43`{9bg8G27IJ)?|#ygzy&d4iqEM@3YB)8E;}O|!8@wC9vkK;#G(gfY6hZ0D!) zdR2iVF#?bpYqXptQid}&FI0%d4gd&>Yd{51 zAt>lX?i5s0kQqgzfZ?nOw}2`OpsrT!V@2=L<^Z4%8B;R~S4j*g$E>W=3Qx;lxvhD0 z>DOQ(KQHui;ea_v9**@VEuhW)=G@%a&DGIky$o<6ruoLAfM^pzH8E{s^-8Um9wzLu zA^^A$(USPjbiZDJi^++Rg#9j&h4M%$!C>o)?dkNITH}jF`w)z9hoY$80W_@HEpoRf zati8zLcyNEj*un$8`lRK4W1hUzngJ;iD*fTZ{TL;`D$gfZxMd?8mV{)zE0`X7f;X; z9|Vd2!zl9q2!>$$7cj)j`~Sr#lAV+Le>|En`_o_%@RXUQExJHUYDi<;2hFN_x-m*v zd>C;bZ9@)%F!^O=Jy~MuCVAsHhvlF3hr!8eY3Wz;x0L)?PcBk1!d!M+k=-Q2>DM0b zVolZ8=M@p_W}}-uP6OaiJ4s|!K2*^5v;(ZGV`+pZMk(PdHQ1-aDqc2z^X92*4^mhc z$`R#CSVl*~dNB89dzAa-hWi2D&B~P5{SUr->>s_T=}{n&&ttZVRg4h(*bux7hQz2I zPSnu#@@uDOl}}#`h;_xQY#MTML%@z_rvjxaM1-`kyedEH1l?H3^>_c%1j!w{mb zmB{IyDeI&{8af+}%gvNk2_21GoGqZhb0%Xw_?aj0v9`0Xv!&dM4iA}dHdDh($z~|- zFEBoE53FD3*PkO9X8P|8ZFv&;L?6k$eE{zNmF2qDWVQA2ye6%696>!nB(zSQZtX#) zb?3Z8S|d41omqM6FL}FN_1dt9qMii`z46|HkhGkbX=Q@{5;IZHhiq!EmSDoin^h+j z^=SIl)acy`NCAhHk=%)xY>kw~h0yDe1pXSDr**Qy{-H&S?&K~qk>KI~oH5pjTx_O0(HNE#D_ z-)gKSXW*Yo^@Tf4*s%>n*6rY6tMQStkAinZ6h9oR&&CR4Za{78^b(KZ?<=&6^)(}_ z(^|7#T~b|j*YO1huCCd2qQHW=qdZo7{vUjBy~>I}JZ)-+w`X`YtiK)fp?EHQX_)Sl zisu}_!TCgmTv>%5=PUzRmSU+22@(u!$rY}|6F2<7Q}M(!Uq2*&w?;BL^~@E%${Y^y z7ivyS`W_;#b!b|zmAg3%JPfC|A1^15v*PU!kcyu3!(dTXePc?%ygnbAUmpx_0xxn+ zRbfg$D(S>MezM=f$+3fU_nMn!pU;OdJF6dW*1TEIH-w4bl99-eA$s z3}D#YMkJY9_ScegPdH<`t>3kIDAGD!O$=vbXx;%l2J1imcv}X1VW9YtxmeCFB|C3^ zWRi5xLV7nQnSo9X&K;>SK9N0@Ib2Z_Up@w=L(`26ka(JiFbv)`=0JZ5toC<~pKXuGf25E?MHcfGrz&P2gH9Irf;VbbOFx`dtp z^{7_V2^xL`cZTQqQ7$aVBx+M|HMWG+KNWF*#UhXc8xkcbB6gFDJQUa#^v2~HUr$nY z55uA(r8WBAL8}73iv^MbRR_A@t2dE@Kisd;Z)U=|Qc2`V(74-IQr3zN$|g~te8lMy zyeu^eN+SC7OPWjK!brtLds+j98gsQYZtDH3PRSxae4TIUY4fL8zB`j&oVz~cYYVp^ zC$V1qLRpflqct6N3=$}FsP7WwzUsGH9O@n9?~jH_RIS*riLpyM4AdX%!ZlwlfsaOJ zxAFA!h9#08)`}PdwdYJ(n9K8g_4f2?OfKll=+!zRc0}6CAJhtcETAU<3R0x6=J0(l zynSohN505gW9_AL6I*`XE08M6*%tio>?3{2oW8A#mHF)9`jo{W!N#J6=NO!z)J3h} z9He}|?dWJixlR_h6g*|dN{lNi8NxSmFcAFa@D1<@m}OaXDcDlDLMs%$YXq>8Juf@t zR$PUvy&3*C7QZT%9R&1)K%@M+QE6{xHAKkrP(x{Ym1REP;VqKZEKu_O2$3JII2hA& ztYnLz_*zMLx~GAw|3%cPMVIWD5skt~-}Bsdg~)#nc|3mED^9F_iw?g3fIUnjZzM)y zW`N8=Hv`@4of!L-u%k>`GCJqo>h}s({~C71cmeb2Sjp)djc(?J1uR81*E6x_+_*Hv12h{{}eYsRfn8x{C?i$x6&_r!Xnyc`B^8UzzZOM5)j`6-Q*15gx z4f)VrHQ(o8lhi5X4$`wZT$>NRNmJKSQ) zMk>F-=-GV^>4wv}#G%6fL`+OG!{5Fv%XLn}$-LURWnt@ba{=YHrLGiqFZa$CA6!dd zg6`OWACwzs4APGRx|2k(@BO}YK;B!8?7RHCXwVvZXI2=iJ!cPeo`0Nt34YLX7U#YC ztCwW!-tVctE4^3K$8*gfm1nn=0jYF20zPlrPUz^^OORCaoF#=S*Z4P9&gP zQMt82U8@eKn4$R%jmlKp3PK-3HhPMu&{g=Lfnb58+f**Wz0KmrTb+x>z4V`dF8UJF z@^)xWU?K#&1G?x*g(q84dqT(CeoC!G+Zk1V+Z!662?=nXKCC*7sna`&Ann0A&x+*` ztkT^oAdI!*`w`(sI1n z$?t17Gb>P^md$Jh#Xy9pi!IHF_bTohm5%7l{3WeF&*rNe%v3E+KPPOl-ODYt!9AF6 z-tb*UwD+^S+~K+1-P~TQHA{|2o*U077n&eViv**H9OV>kxiMdkJNT$r@NYPKPNpbW z@~2!8C<^w(u1&soml-qvic4!1n!btcMk>yVNuU(_BE9C`+jPLza$#aA8#zuEbZ>qQ zP`W*fG>6Sgjv|nuW=T<}%ZUdYZ6gGO27BmQrGtE)l?=AOPQ@sSMuW+*ocX$Tj)CLE zh0F@T3X8lp4*Bq55Bi`{fNoE4fyaSg?&jmyMv|K#v!z?(#q^!9kHgDfi;QBpr3WJL z&s5j>dxo8%VWIf-$J^34i;to^ka8Fhf@u=J!;A6g86fkk&a}tlTI4`sV3N?udv(wN z+b|hVkEuGszjN|3kU7E0j?G(*663bRgz~uul|T)}zT&83Vcf9 zMc5R+6Pt7lF1jR8qU7N(g+z37papA#jAOzn%*=nQISJw?noWPkD z8T?+B(O|Rww59ALi-AYg*=a+GW^>G&fV^{0iAJq=r$mFQs9L179M_wYe2Lz}ZEx~O zQm=8Q*~F<+B|bu+aijiA<8m{D&l0B zNhs_{1kbP|&XtFa~Ghnxx8^UUic9t0_PJD51Eng_X-Une(*hB^U$^O17P!Z3 zX#_lA0L`{!DMI92={Ath#fRA|Ancp&M`ddOP+9+c+sXN%te=$8vD58qJ z!?T3O0usu0#PU00aQURlh41R0^++MHq|W-f5~=YxvbnI$YoX)aAR+?%p4f#kqQ;@w9;xm(5dJayO%N+=Ef zHcRQ!Yv*yp674W1dFYf3qu`IvKFY1EWRbDQQhTWQey_|3U%xVZnG|W5SDKCRS{yr= zQQ`IS^NDYy?*#z^!K0mke4bYpeL#)=x-$=21cSVc7|e4gh%ZY58y`O@u<$$mbml-q zr5w~0!+1_LydzoO(dg zzDTpOdXSDcgk!Mps$iMf=9bG8iMM{1i+uj+VD;j0&fEM`4zgvZh|t&#oXe1&CrGKh z4%>e}^Zk$0Cw7R;vSx;Mq*~9X#VVxFGy@gV=fxc=q|f(VsF1#}qk(^aea`yV4y=Fe z!TQ%OFB3B=q-=lf@)?m?6zpJa4}24mS>DLdOiu*tOse&K7X}9p2NN4NDL06fiJRv$ z;(r09+5U~9AOW_vM`RY!vom^rMaul%%*x1)Q3Pyhh{&w!pl|Q;#R%94`~?~jw>AJ9 znpvBWGOL?e3tQWn{d2>AZ{fc^e*P~6_J3|c1#G2f{r}m-zpaV+&rL|%>sgu^{C~Fb z-=1mv*I{TV>YE!G0Ji$uD$-VZCPs*WEe!2VNjX6*h|E$(W+tZgq#zdHwJ6vUY^(Z3 z&j7HWn31EIfsu-&2w-V5dpji~TT!sp7qGPvU~z6lW(hM(dm~#?W(i9@dm}L;z{tSQ z{`Fr;&(_M0l#h>D$rkXifj!uk6bOyKe%y|fo%BEa-pi*BR@QdUeF9w1EN5hG0`!oZ zn+=$75kR!Fw>8qULUjJIpW^g`uygdvYchuOh-xuK0Z*FtYY+7drEl-6m`n=l*$CFx zx&)S~F)f~iXa02ZcL3saEnHHclNEJrZ+(%Pp%fEkIg6A6k-D*mq9ua+f{WSp&c^79T*3 zmnvuU%=dR0{f?IHZ{_lY|2*yi_7me%5S^ahi6s&8K*?opMu_A13w_tDlGm zz-i8xeZCRDthH|!opKiKWDmx~`&i(+6h67PCGw9u6$&)o)_e@GTJ6}K8hTn#cf4Bz zV;=l=rBU>{kd1fVnQO)W&X~%1G<9Bo1kuA$$-sY`bFK=O>)6un%PhhbwRoDE@vMO4BAwwPnZcMcvacdx&Yp&FZlqhGlNBeG^ zFu|maOWa^H1Y5hw>dAI-i_@G$FxjwwytX88vLCFGRe$!CL}!%y345IJW2XqUY$K zgwkSmmM^B3sXj0lyJLa1DxZd%mXD|0+s_I_nmkY1Jf4<+oR@VbA56SSH8p|1eCSl$ z!IniCws1bXz;jyWo5>%#eDLx#YS%g|)Ng(J#{4_;>|R|O*TY>WV{^x0^V7!6R;nZ0 zg9shXxZp}+cg~{Qys?%*tUSopZ;?cgD!Ea--T1D;OUpwTKMaUJz18!pZ}5q%Ywf=7 zYuhG|dr4fw_bSs&ZtpuBJ^wiJrooo{*+0YiVFwApo0f8V%)dAJ=HTFUr$}3_-G88!omElHa9_o^rGx1j(ruy4&{Y7x3u}SyajVrm6aN`tQ z1HV1%cQENY>UdM+p5T(X4wmNI@R#@w&W1g%B=uHe0}kg-Wha+3mz!ZhyN1xfO-8eD zUYk7rX|)Uuxqq9x2RYGP3Hj}I*F}eUf`jmQ{3rmdQ+uq!^%=9t;ns~y<0i=imHb1w z^#jq@iPP-3(_?f5-KVtAnsfyoTZMy;=KYEV)`jdNTpEDg+kGeRNLI7W{dXeyJJf*S$e#4HgUV(X`W!xoT%K>PESaa`c@UM)}uCbfzg|e zU4+xs)|G?2hgKd*qh|YXbJC&v&}*O7jMK8#T*ndE#rcIX1LbYjV5)|&<|SOeuN1?1 zc5$x_WFP_u=(cGe7RZy3u6@}!|gM7)X45wQN z=Tw7?3n0jGX&&><|1>9}2D{vM64!~E<|nnDpF5TDNllgEuqCU1DCoOW>i1bMZ<--- zAI1a|WQgO766?V+oD~h%1#Geg-1B@@DogxU)2vVTykEcLr1nOb&t1g}LX7Y`Y=$g9 z3e%#AWqcq*C7qisVwf+?n{UJ9k{upmPu6*$`TE`KkzX+1Wm)GFEGfI|{&Ml{^q9mR>unM}}J`5W267TsrrUMb8$Zgj@U$u)FAYXq}74dKz5EmWJe>Hy!XNmCNdR=UB zTcE@Nb&S#55(MOJ_3qew*2DY?5YA#Fc0ds;UmeNRsoCFEgD0F5^vtzXmA$I?{3g}r zP*&%TxZ_XF+fZ}Qm3hJaAGP%r2Q5MNhhWkY8A@o%@zGhca^q{~@^}r`bLoBohlb>QWs#b^q>TVVY>5c4=u-V5 zSo&ED2`rYhay^ zOhNcz#_&I}OP*s*F%+$}b)S5TK-OfF@gXAX$k=OvO zH$*6@EZ+FmKYHFhITUTb_m<(Hbb6XN)VaUGQOTTIzTsG(q|vVT7&?&E)-;zaK&Y4J zvlvP&7pS$kR=$=?D;r*?VCJ@6Qan1)p5%8}&Wpcav5=3!|IMGaQaTj)_$UUnA3#9l zm+eAg)2-&TB(N1e2`;=m)&2v^Z{eEObOWCDxVS|@9QJZ;UC1nU-K!P%938&cz!9h~ zx#-~mH`mmBG~W5$UsU^N?$T-QA*1+Rqj=JP>VSHKpykesZOq#~kj@-4kH z-uiw9fGQv<0uh5{N`g~-3h)To>AEnetNtBQ+L0i%Py04}Fhm?Lo$0m}q?D!}fhO(yuz;!VV$0duo3@}Q??PhKE6=M`FlrUE(sIqk zUS=29C!6CdR&L_WgD)gCo0&m?kFU_Vn3|g+=@_o(eQp#7pO$5x(B2rkl@VZhZs{EP z!7uZk_sOhi4L6F@LX67vLedafO6teuV?kWUDN_01lK;Mq50i-qCL29K>Db4IF%wmY z`*z#Hq0ecFR0{*se$B-G@)lr&~+L`reZaS;ilJ03sgiCn>FuZV3b( ztq+7otPG5(vNSwqym^tSqiBID6E0yN5-k)vObg=A=%F_nk{EF$kkkqJGBuRo*xT|U zabaO{BKym8{E0{zP3^CikbOSrN4A}^{;FR>%2>zN(`P0Z*^4|yruy;x)jYiXLVdAX z5Q%?Uf4b}zsXD%8FK&9AxEK6%+Z@Mi1Fh52)!pu@5C5Z~nW&QMbDTuE2ascD0;?wk zsWmGWT({z0XBl7h@I{f}>)5{jszN#Vg;1kL4u$K!Eve@KpK`I|55iwI)nd~-XMl0w zxSVKz&41UYIE3pc37Wj$ep+&04H87|p$h70skZ_ju({&z4nFFG<+GTWk@lRidT3~K zAato+@BO>2Yu4wY!UDW6WZurHXU?twxeLVmnG+ZxtxBiygud5*B0}N*gxZhhsB+w= zxe@YDe)G`m!SQ07h(7EaT@$77Pr4%`=$1lM4Be-nNm_y@!MO*@omsVS5;$(Jmn;cy z&c~;RP%4iK?6k7i<@9RF_*N4PrLN_IHDZa{WWFZElEJ_PV#i>Jr9T3L<6^c!o@8#1qZ%WI8q8tR4!AJ737D34pwHf;wkV) zX!?Hu*gz-0?<-&r{e2TG@uJ_Q(1q*y3c1X82~Lkbpvf}-$MKmmeT5(}Y>s9DE> z%((*rg2vGkW66dGfBK8d51jGT+@I|8#a5N<+huffduC}sL2V-1>$h8G3_SRINSU1i zo`L|PfOGTZH-+QjD>r^M*--P76MwL^<6#T2B35{z?$te(ZEh^cOQYGgXa%f!9}%yK zhhD+ooOcZgvSYTF_ckVc>J_KH@$5oY{GXqiQz<;`^G96r`){s0$;v}#ZO6@=u=L;W z0Qkz-?~I!{{<=3FDdyAd?TPchFz3<((!YOs!uRKV!HN3wZ<_HVr04s7RJR4FXwmW`_#6)NmC@1*K5- zS5tYimr9=QvTHk3x(rsTtgqMk$RHA|N@_hkOEG|G)J9qLhP8z*ZUw1G(YlogKq&>q z>(m2?z{z)Zr{c*}3jNvcws+oH_(c0Bzi@(IoN&p-e*)(I_UVpm{&=NR+mcGAe5`dW zTfzkmy6G88mVR3(AgGLoYtH)(5!q44D^xo(wqQJb;getc--|bPO4WE6xAc{z0KPQ# zym2$f{`!qyZT1w6X5{E7XwCbGOa5^2gxw}s5vyhAmapG@$v(&K9hSfQ+Pg!A_c&tr z@6P+q)P1K!5|Qwfv#&bm;_JQ#c0h%S7_mWe)Zkl4GI}rk?dQhtI@Yw!L~Sw}ug!F} zh{D*fo%_d24@lP@(R%6SCxLnf2HplxQx{AaH)&Me7{^w^$g#}JAkQkVR356JRGw9y zRYA#|lsOgTWRO!br({vdf(%?01kzI+kn)KGr~n9v1M-W~D@wm0y@K=$(kuFYG4P6k zWjeO$*rsEdrfpf4VOoZ1o0e@^j%7QRZJU;3*>+jXu_Bc}+jJsUBoe+goQh0I(sUxG z6*KL)5s8_RsNuwnNcfj9BAoX*@2kA8@_u+M3qI#v&K5cAA?G9KhX52>g7!4-o`V8qsJ;@3=g`Uc{ zqfn#Js8FY1DaeceaN&gA#+Sy!A1~kM*!{M0Je>8_8~lP4`ojnnvLtlLOR{##W zNeE_!vLlvhnWkl0mT6h0X$s3SE!*HQJi6k777SuyWq<@RF$ju6_c9<#f!fMIxU2{S zCL#kIu`JsVmSLJES%zsEWSXXJ2&EKp=(Uyv5EMA99|BCw0xXyX*Z>PK2LY54Qn8d! z;j4sV$8c;bu;X3A?708F+?l7PEJI4qW!ErGS=+qUZW?{{FaK{;&%&#JviOh#PjI3p z3`t}FCP5HPz(VQwM?jE(Bv9CIA_XBg9EPsZd;rmNz?u&esyzD}2E>NSNKx`gaHKz!3shNNPq;G1PM|A41!VsDMbWU3J6V6MJn(; zF4?}JsT+n|v0;>guo#MnnAKo^nM)m294;$jFqQtodr+Pj2D@%ifQJTc86W@(VCK@~ zaTvPA-YmMfEhgQIv4->*h zJX6TnjujD(LcS;4IVLeKLs{wPBetC@^fyL#>dBZfV{)M{_Uix6{oV<1_Pl)T1gz~@ z?fRMeIxCyW8?jNWQnF|gYyg302qQ2J*OM+804X9WDM(@v0g435E@DP#p|Su;5)zQr z@?i`!5m!5zOJ|WX1uI&&9-yR#nTaSYp;A3ymK3fPW~NXJa%eD?l`*ps20{}+3O0jL z)|VwM8;XU!3AJE^5nG*GQx~tZ5GgWy zMU{*tUCwPNjfqC{fkeBYH6JD@n=3TL8ggEyXP~z^Iwoo-dc01liZPpFND3<*1WmcF z=C6F|r(-&v`|$(zfu~$Bd3w_G*JiV8A`un_6w62?s(cF^A+~F0%zF3UdunIyOri+k zhRTPCNhpval0>ScXi0`8pt61?Nko7k5<~(3K@dtMVdAawTLJ`=ppxb!A_EWgSLP*A0|{fo>=Ry zj@nkU)3P@2NvWdIRFfI)#L~6_X}bsd1Jk~9@l6-(7i;*`H-B+_Z!%So!J=$oAR4nB zvq7r7Fjjj(FQ^_YAY{ozl}R>=;nXrnRQ$T7l#QWcswPxPEWkEkg2EJ83Kg9NF6WUd zFVQ6xDn1cf(q&6GlnIymlnmd{1P`6Zq5WBQ9fuY$DxPEpm`k6Qic4#LxMaeHY8hO$ zXc%P+SOS0|E?L;&S*oORdFXYeaHWx9@)b+~p50}tKuO0?F>sW*-z|1W5~*6Jso({+ zlbJa+{_sQp(cY2xDsK4gd95d?|tZDPIlj_tA$Cn-D{`$$< z@6SCenjA=`Md#X8@mN|)-*Fr!uYX{zA?$Q=j1a<;T_B&y2&ZgU-udLDQ$D94VDz(a z1qh;?>ndDC1Y%O<QHCkmG#Rmw|AISek(C9jhSiwNON@OpE= z6~c5^>xWR4P1Q=U6)73UPgN}1(7>%E->B3RR%8uFnX(;X$uM%bU{;j z$uAQNE=61;T=+x~N(o5<0)WK~1!e{XKww%{!S$6d;<2=C7`~f@lJR&_Qa%+odJD^A zk?k;Gz|<=EH>9SMbu& zNE8FES+KB+;ikJg#hbUzopS~fpJ)w??&k5lcJ11Tol2xfXZza=`2bKt2-~hn#p;2e zDEocnZ3+`gGm{an)Mc{|P@q7O9Ab&8N^7o!LYkp1~WDmJ*!l}7VHM@Kk2KA`@KT8t zv2+HM;eZ4=xm@11EypnpLoh2L3?eIE$on#rOgl0FV3cBy*-Gy^ZRMR0q<0$+QcP?B zAQsFZHV9z}lL|`&LdC^gQqNS5f@XrKGMK}F;!-)nI!ikmQmLE-z@<3lF!>ckcvcuk zU0!TdT9+KING=_N!RwchBH}QLj7q-;!e0^P1AqjV%fo-l!h@dgDMV1v91it&%{8L_U?7cVkP-PrdXG(%X<9@+aB;c5|))!JyFq6 z%q5e~E_QZoL>SLsGxuAEV$9L4t@~wQzT-H3Qb|a|cA^53gb%1743091$@hbzWh+}m zgQ5)msHBJm2`&Xu5u1P#Py`SQVh}TxjmyCw1zh@6lnvC9znDs&qP+aKTl)q zUqGRflp~yVR-xZG%> zdHMRehn(Nq?vJv^EzXK}qJRf4@KgecIy=?d)7@0pye7L^B$R^kVK8ih5U@-YRR{#h zsv(Dsk2JLr8I9&WL=QF1c1BhG@!(UB*LyNn(jFOrQP$iN2*PtGCCB&WyCZhAbD*!* zYEg(Zh;iV$l(kQ;bHZt}zy18L=KlJrmQjbbG9j88Adv%i++T@NpYUxBiWwqA7k$nvuoFMb|q7FOV%uD zOf;4fSPphmfr9e2s)ti0+I+B2>yAl{X8WO|pf%f*iUo|ahNB^FnCd5{r8o)zlm)!d zLnvSZ$mKJR6HgcoHquL0uWo7_-PzUFklr)soN)dZ{@>RQ9WeI$Ob~R{Hza*u5-iJz zf`vg$A|NV|@JRRo7-qOvLV5eY(wuH(Lbo!-OGL}=d}zDgtq&~6oIbvipHh@U%1V>U zgX@L?1tXvcF&Qi^DNPAONkf52x#YW`&a7{wCwRuhmmj(BkIy>4z4^O^+II_BY#K~Z zX(w#~-Nog$Z38g?O5{pwwZoj9gBC``Nr5V>BOHgaO7)6z=5UQ>d!QAtW_wa?i&UP8 z>)F25GLDid05GyZ0q_AON+-fX9Eh!1otZx7K!KX2t2)Lvj(hq?a{)9Q`JJpkzosrX zkm;#UPwnf5O{2kvA&O)aNMuNOrBseEQMIaPV+wfr-H(Lrn{ehaVIs-(*cHF6(+y!WgxKkz{8Z@-;;*_qdME~j{;wuru#n);3)+bQ!*JurGq1xq@nB2x)5 zsB1UtTdp3H`jM#Fe(2Gr+0KNIIb(<|f(<<=CCG#D0S22u6o>*2V6-^nS9N#9%og}f z>DaW-p8nm>%vhT`p!JeVPMA0qz8o0SGQPXhk6O(w%~O}Wvl5UX7ovdDQy%5iQJZ1; z-49JT_1N%u(iz7tzx^-U782Y5E4ip*;nNbjcAt1m8sR#g&2S_ND@3-sX`@*e%{ugrr#P@GC z47Orx1KB+=khM%Z5wFV)3@bJ7<$DcH210S;hgJG4nJtW0OpvWib7Xq(i z*~-yP<2xF5>7hrT4_rje(;6oe&fn>aP9A3TJh^YUphM3j~EY z2&P~PQ*0^%ucLi8Mnx-Y9jw`YXa%gy&u51lQ%r$JK@Y@mf!xDiDw=8-rb%LAIF_M z_Mv&J0L(sdT{X-WtGHstW|omx!e?fXFQ@=16LlizuNLeTiXK>4Tn`q>$Uvs>Pp=>z z{?nx^+vo?5Zf1>Cgb8$_r)!VtnHo|>&i2$s=|ABEQeL6j3=Te@?QhCLP%uMKC@J`LF$>q%wDgt5WxFQb# zV3bo>g{QACk9FlsJM)H@Ua#7!_E5P!p7Iijgd?I-v4_Az zU>Z)^ZeV4{tlE0B-t!5;_%%x!K6COf7yN$iZ=bF2YX0J`yVqHEPdrAZ!TDUDW7!nc zQBX&05V<4K}59fYOX zQLOX4^Sq$Wu9M*IT(4o6u}H!Xq!2BxkJn?{>&?DtQ$(`^&~w0=?N7z~SAi_ca^btucbtfA z#s~&03}kXOH8m2o&GCKDIPUwG9c*3m+?a2E>x;Sk%5<82l`ySfm7mAKF!*007tmTL3_Q+e7nOW}mR$_PUy_;_*K(JMyeaTj;($;e-}u ze(=Gz*|SFrqX%pNCX^ty7+gxVElsdPGR{nlfT;+xhn4BOb%|J#RCnHADTMNiEQ8#b zv|OF}(|!jZ`R)I__Z0l{k|+4CN9MT2x9k}8WCmjKIKhfVQeKeH$%128mSvT z#G%n_KlFgpY-cJv&s1mMWg^abIVok*O#6ZC>(8X@+VQo!S!!ncyA7utf5l}7TakTR z&pY?rXjG+A$me@h;3Z=5h#d`F*EG#&#Li^<5gL#rK>cEARpKwh{e zxb5LPM<4&`9eP7PqRgH>`oRa=NMuP22)G6-Lzz}!nbI<)DU=W@-0ngEU{XvidwbiXPOLWF%+d&gz%voI=)T{^36k1G5Ej6-vnId$=f`VjP0>ME;p>w5y_09v z60or#tPR#beY*X?1O1B@xx4Ia3uOppkuppslOZ4pfhapI7+^BNB#eBZGK$Es;}Q|y z6A?2qDp@CTBHP(JdK8rCsGo4)Xlr5b8?TJo?bs!4OY3UQoSSuBHy({CA-R-Ew0w`& zQNTlQm`3v+q7|@agj8+K%LYo%HC46mf+~M%f=GcG#2_kVATq*v5Swfv;LAWMA-J|B zwfoAI{GZ?c)7X{&_~l<`9dg!}+dCH4HyXuacWo-2&lUn#5~EnmNa@DoRv>-X^^&P{ zzyU~sWND8jG5`Z?0Ct$_hzLZ%+J_$*{pn98r%wVKfU&g-m5*qm zD$8$$0w(bE8FJ=yaqok`Zr`MUj|eO71kxY_8DPF#h0cZeEen_)1*nQJZ=Qdn5pubG)B-0(@QdxtcdtwYZNYeqsj>mOJ07z7{y5^#Yq z*3<+XzyUi7u*ffP&T~~Vl6HM*SxyXgU$IL>f})qPtw@9-rWoJX*?93ecYpKnsIyn= zclH?ow>LK=f_xz=?4X#BI3!R6aWrOY?^F2gTx<0u3Sz$6x6MeGR*2rj{62#F}`i9F44(H5{~ zBvkA*F8y(NGhL!}jN>q(mZXB`N;hez11QsQ2-Mr(U6-gSxNd_psjt^mg$Y!g^zUou z9<2ZY%v$Q4imAP9mYFp&fl2^Cs|AR08#C~S`aK;hy}0+9r%wU6K3eDukQ zsnZC8U=WLv*w$OXwYyDOcH3jMyG_;>aOi(7%WsVZ%tSDVO@O9PP0W~*nD1`?&P2Sn*B^*mNw!oz$O~Z>yn<~wfMNuINAN@Mw15qmq^y#Yhb2K0bLhWeGIb=4 zX4q&8SThn7C;%i%d4)_M3KfHLzyc)8>uw8x3vvO5Pu zP1G}XN^#?7&-l^T4)U&fcFaXzJ;gUxnC3Q1jIj3cc}+*1w5@6jS$gZ^+qS|FB1fIQ z(*Zkw?zu&O9C=kI9^G`$qaCLl)im;|07R%`to@|3`;q_k^FIUsbL-Rg4fkE1!@GHB zb&sEqT9Gy^Z$iV`f&AFIv1vP2kbT0Cvb6KGAwtiMGQmdZ1P6IaNWnI96v|P=EDEK# zdW~l5(d&RUBO#nS^8g6|uz)CJ0_;FVK&rF>k;nlBKq{aZs77=2lD;KVYNoUmSJp%t z6exj-xy-2EHKV@qm#DsccdYwuf=gV;ulaIij(&&bZt=!9evo~X8h|bvNeSSr@lvmc0f&>LjNppF8*V3HHoZVys@hblQ|LmM|z7(F9x9llO$$cN_M0 z`R#w1aOP3lu)+^6)!Mh(|GeMKbN8Eh?#Syu<%q_+{<`+=Cp$+{iA|=({*-Z%&J|BL zMOW^-|Lhy?9+>~@xfh>sMLILR(3hHN9F)(BcZw@^nY2e+wp)@RIm#-@Dy=vMwm}{! zPsj=sKz{hsh7l;rE99WHuVw^j3s^Hk6ktL{!2;w#WPv`w2P_}~*$5Q_0O7*uQINSj zYGch39wWKzO*L)&0q39f>+|>SF?MfFC(*rjAPBNErnfA5duco-3{#OwOllYwaQ9Pp zHynOSDMYIxKLQK*-MbzJFyYK&fQljek+y&<3i$cAZw}=@KJD}C4UQKV+&F9t80A!# zcR$&A>R}DodJEW)rtRC(4>Dfg|LXmBJ(K+1J>Pt@?e(T< zX2Dov!!M%WglQl`L5*PBU?pfkm>r-2pr~LoQW9|qOF=2*0c9d8U~I|%6OCplS^;ZD z44YsF0LTSpfB`@P5g-j&4;2LzL>|Uk1t!!hnacM&4XHh-XuR;>a{*vxE6DSM&QWzy z-z)U@4Aj=vf;}=>m3GM4ItASQ)SV57pH?{wBUZr6?|x*`>Bm>*fUD(~-un3D&mN%_ zaCkbg+<(S8=I=|d--wYZU;^%Xvh&o#8ip|k9Jq)&rV~X^Pfx^7!;E$3@^);OzJWcT ze(N^?j{Rz@o0dy6uTxDo(SSfsz%npO$fQt)fr25rNeqAr3;^-a|11$O@&JTZz?u=D zqo6e-h5}FkD8L68NCK8XLIx3mnBu^)15fqa@UwmqDqZXBB;DrIj`;bdhvt6%mx zGso_7&=o(q6`1>*2bbOS(DiZ3tqfiW%=RSgF0a4Ap5i0Y-|sclG+Wf*$=)#7N&pJV zAfXTgAoMJrW&~&pSTjNdpa6F;5SpVDJNB!cP zeg=SNwAR+3e*h4@mRTe!5V<5g0VzOWhhadNOxQvTxaV(o)E{;_fORa(5m>-0=RE{q z!l}nr2VrRo7{DiX`b=2QbBk}LYKykYLVfhEm6hn|ke6S*VR#mBB?#-zr@PKLq!wFd z0S7`BtvsNtz_C5k354aFhKeYF;<77msKlPD^RX8e%mc8?nHQ%fsUGVUrtX6DMj0(0 zR2oeI@XqojkQJGVWWS(X-0x5XOaqIp)GI>vKA`U5*w?i z-^07T*#&L6Wz%8@WICn>g}pv=%q@#=`q_W~)wK4xVj$bGVntUfiA+ziyf1I~FgBQo zjT}T4%RY~Xx~k9>}lg( zTySG`$=-XMzt5f*jO5a%A6k3IGre0VOi+RY!Ad9-Fqt3?*Ee(0%=Pwm*QTkb<0(6M z@yJhn@{xz%c;oh8Uvl_0W4t3f-FV4Y|^5!sg|s)U6Dgma<3CU^*@&%=|^X^ zes53o_PyKG7*$FJL1E&==1jH=Yy%7yfCPL%DWM4EbWaPojT1Nh;|d(FM)AFZC-;i%;zI>3fp(+Va(m5bc82jD&E>FG_YQhYHvNWZY0dp*QHNH>YHa<79TH*MB<~K*N5m z%a$OP^b%0s|D$BA`@dlPLumvy~MTi_3MUZ5Wpcpoph@=1Schnqw`p_uoVY{GL z-S@z_lV)!^5yyHi>m|25Hsy0i03Q_>bj1P=74XJf(Ce)Oe(2uS>v^PK`PX$@>w>Nh z!n*U>zB3L?Zz>3@bZ-JdJ~NYan3>22f zAYYdnBfO?HUA3P*`SLkO&73oD+<#ti?y6OYM~e-05!ZKnI=gqCK4op^8ZXFL!YX;8 z*#cY4R5CurMqPXZ|F|7M&B14G!%4VR_dPJ~q)+Qvy-l!%{^y|_f6^FW&hejasd%CH z+UG(5ue~%(YxvBAYHt5~AAqwzk=~#HDU+m0Fd!K4K`KljLJ*D}F+JHddd#X7J#|T+ zoxUK~RqXLTy;tk$7hDF+{r!DU-}cxqBT-|3`ihiy;-uh<(&k8_>>1JHL^C3^1*{nf z0?GnV$~uW`m~s+GSePseQwqJ!U;51dTzW`mU~+3Tj=;^P>|)H~OePnJMDqD;O@MMMHf{p_q%sjo$wDWQ`+@bg$R!TNAr8 z@fQ}|^M||Nx%cn4WFwt@Vu@#WN)!MgUr^sycn>Wn8^bjnKw2mfNW|7re#eOy~L55{TEi*dM zUu-~(e$_;k6;n)i_7Kiwi2z?|8$ zNAJD&g<;|DAG;91YcKw8cy*rriS(b!I=C7pMWjNLHyp+UB_IH?a{0;$6DIfdW>^Ny zULv8G`-5Un6kTSadqRBof%IWtI2HH*a_+}Yxx9ArZoTe8-|kZ61H`a=!3Ly&GL!&> z6akZxga2U!!7O>#Nf8Gi1{9Z~C3M`Dri2~}n)N8}O%5L@l>a;v!Y%qyO8W&X*Ut_m z1=xi2{A`S(p68l~`EJC^H#Ok!LdTxx9QV7|uATey`}fW^weB$srjha8RhCf%n?l4) zD^m1aVX^6mY$5AJqhJThA!QJQ;F8Fb$im2hWOd^*&;2R$+@F&lKWiIyxb30)TV|iI z4J-T*Q!#%>$n4ppAAGRwm499L?|%*YpLgHyqCNKi^6)A==i})=J=cHh^Zo0ThSMU# zW#Kagl7xgUNk~$$bfhoS4zplI*$<>r5fvmHPSq)jWmd-vuOB!AM@>EB@!JPpy5~oq zJ#-GW?=+6~53*4eSW!ykWuAl#L_UUSB#6W)GLY}jazVl9Mb?9GVFidPSfqr2G*A%8 z5eoVjo~9b@g4V2u00O`-uj>V10m6jUo5>`iHHL6(VG9J^xizLm5j&c9-MCYi8Q`cj z#t52aq45i6UG?>Yxu?E0okTo=6)QWOcy`PLr&t(ZKMJz_T+r3)fFFFY4ZumqjSel~3iF@8cB@>_s0zZm_4)qK?w=a$uatxRE%&-|AJ%KX z$-c^WjcFRUva`5&mEW?{ky+8QCKr2k`SrIy)_d(8|F0Np_hX$o>Tn`{pKNP3Mg_Tm zT_o#L1r##Kx(KpCuFh-*YzwBT0wUjl3-TFCK`*q`y3668ieO zJ!LmE#N&w?1DW2g)ivqZFxr)S@iqX71J2%teO>eLyq4omR;rP)6-1|^l zI0wAPz88h%vkv$&fcgKpW*Bvzvw!NA7X|=)X20ato-2h4Y}xG(DAdi|d5mXvWd@dy zZ)kF?PXT{@=BBHT{amY^9=$5~d&X~Xw8r+SY(qSnF*14h5^Nx-1;x!IqiDbr5aI7C z2?J~~Rosnw&RA1ITfmxXgo1(67QX;TOS=k^3cPHc6PL(!yKRPvn2`=-RFGo{Lj`eF zY>3dzBlo*>&S}YO9^3EYuN@tL6}R_iS2s3{5{TzAg-FC^RwSw{$St#gb1&Zf|Ji%* z_$tb@|NnE{GjnQs4}=Z@L1j^Yi-LlHfHdj7NK?VK?(f;}?mpXyTc6!$pT}KS1q(%* zbWlJ91QZv`_vgCnDoF2yKzh!}X)|+Qzdt4kAwWpNfDq67#fw)mXXcvw4><3=bpVK2VnYBJc%mYMWF(RlbOKmlyEX@k_3|hFhPo_07t1L zD!@@LAYn2Lzzri4tUxURl@W9R%nk=RboMiw4&fqD#0&<@I5V-!@k63bllHs*{5$}< zZB9XcNn(7AuIsU}iWKK{qsTCW9C60FI_hCT&QgeA-32)C`BHD!Np);Ri8=`IxvlFn z1`NBj3i=uaxT+aeyQvQ~)(~`$%J_3mPEOy+ZD5}OTl;T#H*eU(>6V~cPO!z^k6vzo z00UV1nQzKHo(u2yY65Hu4sj?UF}dh$u~+p*{DG!vO@l!$^o6zfgk$GJ&b0q$$KJOA z40(Fa{*wLit^Ij{y&f-n;Z~p`q^hjA9a_Zju~u#pOpY_zYml4CkW>VORXC!HH$g_tk#-vm` zN7!i4!kU9r(Tk&zQl-8C`c7%PeaR8qPceKz#)kLKSwB~gKX-cIsoQ%z-2j7=y2dX4 zJh1rlI$w3HnCvYs4XK)$p6ZNu3E#Q1dO?2cB#p|xyt73pPVRrGsmbE{OxN2r1u|Q!-Kqb z54ieb42KtQZ>%2h1I;TE@OzFfwT|DudS&LNUn5a~Qf)cc*w$0wrbTL0^1Y{Mphnk(gd0b3PzjP?XaGY*!fqAGddQOz-|_g7@R6l|1W@dqlhq1E zzI>KpRTYY&IaEnXC=dw6c{0jM%!Ih4upUy>g0SgVHIIa-U4VmMEb`p_=%rQA4Hn@1 z?Q7HejXyWThEQ` zn^si?-RXg+s;<&+cKsFg6kq_0KMzc~+g-Z=GgKy*9xnGfbtg;_V$zv(JvKHz7%__i zerK{Lth&yWnsF%)oIKI)vx0d5zCY%%%=WP-%l1oeC`>+w3JnTOQ$QEwmm;JC5qNc^ z0uCp9DlRj%J<4~JXccsn>PR3IiTF|+t}+yAKtwt`qN&MdS@3wGCnkchhIq})?$dS7 z&jyOWZcCay?U@*cuNbNtCzK#jgdj~_ke=Wq5e~xT=7^pzlnAq_D$d$ZANuE;0Ni)k z8FtR!zBaY*NZU)Dk1gNYYC``?y>H}Hsc#J|4|wacqy5IWviFQ5`=+hketz^rY1Xe_ z?|un@6^OpA*AD>f+xeGz8Jv8#d+|Sl0H$@kN^4~0L$Js=WhJwGfOf++DSK|>ZRri>La zeni~xlm-kTG^ZpCR-mxS zlo2oeuur+!c1~$YDApweBtau#LIg-egwVk%aST`i>7+yim6I^Rs)T^xD}|s#|61tk z@@S1BtZVUr3wEpqklJ_Th5haDfKRO00-)7|{ud7bK%@15s|0xW@ud~^`63T;>++)j z`j2a6mj`T(f9>}307myott!Im*z=-f@Hg+jP)85Ast9Yz7ojO#T$lBL6=v1c6{*6E zVdz4XF(P0M?3C;V3y{IgV26YWQ68b#Vm&M5x^wHHm5VmwFYo@0(u#|5l9BI1aU7%* zGB5vZT57WZ90oERaOpU&L_Odrm3(&vcocUz3>f7xkBKt%}s(4zOVr}e4)i+(2r*xG;FTgM(A+uTM0w)R}JBY#xy z6jZB%ww&N94sL&;?gC7V#s3TenA+J{vk`}>IwCHGC5xa*5hj>0nM{U4(oNDSq$)Tl zM6rNhK$+z zY3KUzmkXSor&lPA9Te_d1t6u*Xxlp;99#Kri*W< zCR3P%E~HcFF~qDe1f&98a5)==sj-gYaPFXc9-8@ob^y=6wx?v>wik{Se8q9)%+gPh zkU!*hyOJEDEL=>^7_N01QuIdjog$i$zy@CTe^&j-`gzZ)J>TwNuEb?8`VG9!`e);b zWCR{0Mtm`eTB}efNTvg!7Afurd)@V?r|&nY<(wZrJHDj2tYwRYl9G~8xk1ta=>#Mw z!XnI8-(Bkm(wQWaU}(%vwmh|qiTrzkv-5Nt$6vT}RdVk!$-PI}XcNHk)tis4+SF?7 zKzq&JT6}b3*;V&>cx>}6t4?lNb<*BbkLsPWW@o{wT?N%Q?%#1C4cxBZ58L(oVZCfl z?d)9e?~9_rOopNPBWlFt7}HEP;g(RD01<>*K#NxH-$@SRJnP_;#dgaUhowQuvBbZ_yjkcaUfZ8XI_> z9@a;@#sYA79IMJ#RPFPx?O(3QS#jixqYjtW;?9=ibH?4#>-Or0x4oy$;AaQD`t<7^ zx^-QJhy-ZP5SMGhh{v4 zOM+CW4E0xsV}->GM(8Uyb4c)xXjT3>j&u-*6D{b13v>8;YL z85T)MIgocMBei4DuM3z-u`M{5{?VVG2N2tFPVQOgrav)B21BI+Zm&B=*L9FdN{EEc z#MMHqCIGO5pn@GNti_JZs!mwO-UR?0cTTUp5l6j3&_y4tOzu4fKrM|p8W4g$v1U`t z(St6ng2oj>(11L&XlM4cK8+v*{b1IGbuT_TvFw8V%Y~q;S3z%Cb#mb7X10W&tKOYp ztlCvDwr3(Pu7b|)dy(`WdGCK~4?$P`9R$PD;Ax#S00btLq0tyRJPE<}{ z#dMJ#CyWG=Ce$KOSduFoG8HC=$6XTeht%6CcG9YEo(C}GS94B>&X}SYVPBItao~&h z?z`)rBW5tHT;u^qZ$y{75q(#P3NSYCx{u!a=zk`>0HA4yrZ0cyT1O_LvvVO z2#pF={MXY2S-Y+c&M_b${@)LqF^Bb0cC@xBrLTziWSA`>LIVDyk3f?typx za`P{$8P;{9)TJgm&>~Qht{Kfo4*KJN4h+4y=Ya=%bV*HfJ2YwPVTZ#d&9JKJLXGHV z8H0#D1Q*yvP%DH@F+jSN6$Tj)04o5jHbCaS`P%I>>bn?2EdpG!dli7B2gf#eJ>bg< z@Tqm10JIo2uzC^JcT<3OpIAoK?O#oRnfbldrvMBZkp=q%7;LWkpcufI9tkz3AyxN) z4{!OOiuYT$R+J0Aj!f&MF|kQHlT;)iNs+2Bg)p6hRbmJj5J5%+kR~gTZYBgGrLhi2 zoat~$iueMCC#Jv|yEowe^TvPmxHlzd!{K*6TM{Wdk>M@L-@hj%GbWfE8_-al=#2=M zxe-^~ruS`z}7e zsPD{&04)CL66>mZ`i&?5`0*dCeOCQ;b=?gXN!hk$R95K!S8qf-um^xrw0KO&;cC)*y9mxDAK}L=<%w} zM-BY%{~Q=9PM90IaCpuk$yu3rHDe-zZVunqprUv{apa{r1Rs}0y4XlA3LTX?| zFaQad1cP7_q`7atxo^JO$tVoJ z#1Iq#Bp^s?!t_A8!464~BFsWJ1xYAwr{;AzON-0O3d$Wx8NU1z3EF`+DMx-hsq1Zb zK9V!6?Nj}KlA*WoACC)_COFh|$xg6JQX{Dn3*rlR;2Jj~;)>GlMsy>(fHdR}mp=FV z-M_VdJ@DzlI(<%!j%X1U00>p2ES-aUozL_4&xvi@Xq+^*(b!HJHg?kZ#I}vbHXAm! z&Bjg|`#GQQ@42q~57^y%cXsAA@0o3uKNBoot|LXRUimvEwFk!|t+F*%Mv3eUWe>J=hndCpC1&ez*lDjm%1-CylBy6dj~xmey|su2cK#h_burAq&K(BnZ(WWehoJx(43V@Ay{M)E74hh^yk zLPVY{P-AogVTHViLN*W%Dn52Bo+Ug22*C#Y5^x7uTTX0&aa&xhjr_}Y8UX+=IJByl z>SO)BJ{gJ{;H$A31Bz2*u0=5628mKOgnQ1vaEOPlmiO(E$Y|fFz=Pm7SrWf9!0I0W zTS?yb_^erFGo7;7{quMmgAi=^F!9XTGmPs}h>XdLj4gVpWF#@zT>Cm$<;y_erleNE z^S=-57i(Wp1d$=C$1bS@e>$$gH?VOH5uE9kM6X9R!Rl8V*`3x-$MiD9lMNnD@dsq6pVX9(!=6F!;}@-VdG1{)5}*0!$p`~1hz4y8TSzq$TT z%YaO`iI?>)+%x;@tICJ6*vM(>YIDi&froQdKJvR66q5y-f~T6L?_C!?YtJce57vb1 zi)h9o{U|pG89jlU_6GdGqq>W zBee`*l%OI^*zEBrl=@Z~=3K$`kh^xa8Zxba5-u)6yUC~&H;-(*qom>3?82@rCw!?sB zEXgB4(prH7EgsPG`F?zN`N{k(4>Hj+5A}qdea%^%9 za_mHV?)Jcs-Z>1m<`DknYpLHkAXL*B^+CoN&O9)GN0*jUrcj?GDxlD!5-oe1QZ;Qy zUwsR)Ba(oAiu9>Evxvb{nbax==IQCYUJTXwC6n3e5pEX@)(gu;{ANn-VW2P)YkFi2e5bXLUa=3q8U#7rw#;{7vT6K!EqQlHFR&K zfA;72>lHh3Uw$ne^N?&L68@rdFC$ch+-3^MEDTa&`H&C@bb{ zergg!7c(9NgO7-l4;M^I7w#B5vH!CQAT#IR^Q&4_d6b0 zBpvMsfNbv0%0xC0Iw(A%56Y%Gd(4V!$%hbzEN%iazp2s3s3!AP+;z}!rdOkc{8`ul zXWh<(SWjiii9q%85E+b#J&R(i>CS|ZM_&L9mUrEfrQ{l(y}Z1<052sQt!*or=GMZE zwi`xJK@i6oKk^CKH?9tCx=WfHeH=2dBB?uo(jzkZ3>%LzTEhDzgvIZzYEd_RTdEZc zOjn?$$ROK{-;W=P@`N&0Y(z5J|7rhx!_I`3xB6P`OHEphDpY@0v%fxy>snTUt2=`G zCDv__02B-n50YhshBU*V0LVKpZ1Ik}7y42=P^qA{IjN-#Bm#mcKnRH-;~#l0Y&d&|18|%f;o=J=>CY#8xc5q6B)K99(jG`rJr&-bnr@|WvD`T2{CoV{}ds~ zC~fjB{P&wn`D4`?!1lPlxk=_YYK(btdhaUVIxs#93X#6;C)glz4gpu(nRv224D*Nqy=Gu zz32Zz-dvAxCgg6oM6w)N5wAW7W8nLsz>A8P42;R24|W)HYVJ}fPnw>eK1nKg-R|4c z�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%0D8Uph%||C z9v}nfQ!hB%Z=CK&`dFx9+240;%V;Mw>2DimXRiYs?gK2|e9*JBrm?-(mHoCHC0aiU zIqcPamNWnj?hcJZ>R0!V0bqq3);DW)Icee^TA`FuZJoDzBORWHD)4~y&uoC#IKt)gbaf?t3 zhl~tuj%Gol#iO3zl!6H3D?{P_mDZ{LZErI=rR3q?aA4hq>*=MH?w$hNlYzh&!fLlg zh^#W)UTsBL*(f>AFLbG*u^NrP(gtmjgRAG$((J{#U##&V9L!=Q(g@$0H% z_r@SJzK4T<^hjjk74S@YaFplz(Q$`oz`3`d6UTLw<@kAw69|I9pv~1tMnkRg9Y#nj zMYa<$dN3Bug|31zyVs8l0(L_V!@oPnRB}SB16BSWA5^ojbu3mHMzrT0j08e|#dh!V85V%sy|#xS_qb{EA?gJ<%9D zwDrh^+r5Dyy1|mRPbH$VH|;1ErcVO140aT)%nm6MjJLi0^IAJCu@!U)+Gj z)e+SOt7W63zC1$Zz_C%V=RaGtm%WT?o%O?SanW}#1|BKQ=o8e4!fOLp9EJ_ez#x?_ z)4v`g*toQ&%-!TNi0i;pL<=P1G^9ESh|=yJ8dG=@BfUSQKXoD3oHvJ&d|E@9)X7z5 z+hi`NKI-sM!*4GXnLYAJlcjnXbS%_MoDUm(z>kbn@!(emY z=kpH;xQjv3`TQ^YoW0An1(rL)NxyEs07JUcvApF}c@4X;cmWonX?bCk^iw2C2`V#{ z%su3*q%l|pYx!ni(kni-77d49hdKg~Hmv%^t)ql#sw~zCrI;vV%yG)-@ zV1(6+dR{pIjP7kn-4j=x^QMogIvaEsjx_6eUoHhzzb_o6ry*f_}tR?H@?=I@`V42SKKzwQJ%k7wo&?bSj^+8jRgRliOe!`@a3$f^b>Ee&O? zXEZo)FbZgj%-;y=KBv$$`*gR5r&)gA{8CeP*0sBR(5)LGxGVV3w_j66rpur6GcDmE z%hxkTiwKW<8oebQv75iY?lawJWY+ZD@BB9hk4^o+m+GC?o*qfD^c$f@kD|>$oGe<+ zQF&*fEH-bG0H#5gYg52l9sx3b&pAw1!@ zcv=@mxK3v?V6kBU4XR)SKl=VOX_$9k#7n5AkKh!Su9K{pJ8;3uR3yYi;c)t@*;CL3 z({bpJEBqh?Q|C4hD|Vg9(R3X12Gp+X>eG7iY`rIz51|pAlinHGfQsm zC7XI^mvv#L2?RZnFSfO|ud~B{ zb-$jh>!RB-bjuxf7UisIsv@Pu6tD`CS)p?uY{9DPyNZUJx=4pyE*t%i9L_Y?rDZ;1 zsV_jMq16^UjxcSbA5*e!ZR#QTUav}&yrRl^tPu;o%M}<)-romrdOo7KyOhp0LqAPgGg2%CBtW;fbk)#Kn4Zo3ZW(H%w%=HY4^Z9{L3%X6o2<8{?a(ICDc43t7oPrywPD zxALE=7!08*lU@n5$2ILsE`1iq95acDTdB4Jf9On-yq!DKnGLRx%T1@y$K>NQgjd50 zuQZnMnUyr9j#8^ZWV$Atx**?Md1@S3cg=Io7$XK6MEO8yPQ=z0qVOHWCn$SH?B4#m zzKUzFgT!rrYse=E_UNe9=8Fd}I@@?*k%gsFjL6_U|YOI4CMR##^ zPV%GQ3oFztLXSF9?R^$gb)OTB*n24WFsKqrdBy>J9+oaPQ|0C|F!6q|QjrZzbsaGl zGAjB|yA7x}BxTS6Z4b(l1s1g<Ga|OQTcFd5?LX;$0B^W7raUQKxa&{HG z(E~IP@_LECV}>aUv%=E4&}BKPXeYKNbKzz>)_ksD8lyoSt~b(+FTyqRY}$IZYA0md=oY(Mn`9F?wy@eUo#FM z;`u2GN*~}IW3R)abNmK9|NhG7r*ljq05Kyfrm_4JGH> zT2O=GVYz6I*}?9j@-#GDBzV*~Bxnfs8Cd}QF>)eyehfWd(?S~(e}%);u89bUCjXfJ zY6MKPviSafOezjr#KCdG4s@&ySmv|TjKIwXU^I#AAL;C=6WG!j1?UAeb$H+i8=v6i z-*&@6>_F;mD;YOqtxbmE?1hna6@=fc%s6&FYSS&)A%3$TABIzuYN=cn)5Z!`IClH{ zGvRj%VbrkA4#x&_M&L-3;b`MzW0>u%=9?4%zUl*E)lpf-U$^Qdxr+AmFG?6?>qRbI zOyN~$8A#6X(r|@`{JO(C0PX9*(IQno(nRPxrTTmplM8>Gdxdbd=I>q7i}{8d-M|Bw z_VQlKc6oFJ0jA_A;^^BRHQ9G4jNBikmg^PSC(!ZewswNJ+>Ax%A)4Q1fB; zvI_->0MF2uQLDceRJ;SkT=d&TOh9fo%q0@u|?| z>ON=YId*w^;AvG1!3gN7Pu{T)zklM@E8zQJW%3=n2#>DUvX)s&9Oq6|JPZ0CZ+xab zarDx%;)bLxs zn(yu#^-G#IZY;72`Z$AmL z-e~n%bJzA^bYu)_45<>Nn+a$W0QH1-aq+2W7&K3#+Y8ny_cq<$Juqufh7ePT{U#2E z1_)vvEfq#(N3(0@=R*B(*&Cv(6tTE{GF$>_g9Z>CSHdRxPG3_z{(w+Y>H!e?y{d2_ z0}HmywIT#)W@@i)8VAUBfzbRIIHLxzFq4Ufl^jl!XFgR2e2E2|3+ThW2z%&`uWXy1#Eokla zwpiQmm}qwGexPS51X5$v4sHIFy(X8SDUE|4^J!o`%gy!?V)5{l(@Ys>7$fsh6MsKq zqg&#{QJHPDh4cJX6Fz@_p!fo!7~cHfDUaSbTDE+IUaQKwJSrEE-9d@AE|@V01mCCW zDJAz-s<$mm`%h~;F#hFm6 zg)N>x?*l=`cE|(&ODgxw#2KpT!&VwYS=&0X+YUMug865BcKn9BLU&|oZ>i|Ccom=t zkTyh57mAX$R9Urh^$CA`+@CKGXL{Qg!=!k-Y=%^&?9JHgKG)jtf8-pWpQ3-}(}vF5 zQ*$HiBV&N9(NHD~i03KrxWLP&2Z2hYR3|lkwBQz@--~+B*^8Qg(Wr6A{KV{s%An$v zAkmG9tol=&1%b+77>~c>tbkNwk|Y>be53NW)S5qc7OIA}yzc6K>1RN-9B%?S-@*9U z@2<+t2faA#PjD0_t@o0z084kj%k4pU&^0h*q-8_w=xTE3DgKK$_<(5KP*z}+6B$gp z2TUY0s-)*9JooyiPOMw;CL>bXQLC-of_m5okD`^HxY2c@)1|JN%~xp^t+uYF_#;kP zQvrax?X(R#Bm~vXOX8MkH7NHba7}2#>nfA)X|jd!bwOunHPdpV{p{d9sjH*Cq~=rG zMeOv}HM176`6)dViRf%jbW4C66m{MH9GwOwiUym+UHBjRejA zhEv7nJpZa~v*#$DfIkn#EfRe^PzO$;xPJ1#)d?270f1(Ff`0ziEpb)++7n%~pD7)G zg*ur?QA|2F>xRbriNK_IWilsmzZ*@jFWLqtDJp@{bf%) ziR(fT+Hf)(5aLK2EgirJgswSWb;9#|3WRhhvqvnzpD99Hb4R&2eF zK%?G>68AkJ%^K#~>(TPCCZ7vO;obfAg^-EbVZbN+=luZ#6UW8uJRiL%oaK5GK=rnv zAp5f8<;5`vp#tc{CHtn8cPanD`@YwPjesrKda;bqVQ|j?XSArv#SSZdWO#Fx z0@dl()T5uP%~EjvD4Y;-bA*M-rN$J4C!r#6r?NMPaA=`zab(_O6LdaK5e(^|Mni1w z5`^H~3=sW`Cr&9oy^ch(@}Hqv`P}3OApWNqx!HcbN6U zk^r9S#c)X0oA^mWb3X$)GnCA{6og?dAwz+nudCw)+I|fcyBAcYSnAjU$iSh}pX5HD z;ifhl`SagU9lfToXU38xJuv&g6eL!Bg7SBEnT zD$_$%7g5JX^L=ChOl*RzSiZZ^W;5!N$ZK+99 zxXiI}VaJ9ZNJNKX3Ud~siVS5&PcK=@F=50AV>QDwIx(`0aw~UZ0+&hc^Jn6dQc`~B zXi$yDdwe1WM!<9c4C>)|*?$$>%IygzR|O--Ax*Vs!F68%@y5eR$2{MTUzPmx-&EVa z=#?tY#PrEcKewcgf|_6xsq{=7ynEF2TH({=(qMRfqzv>ngq}Pl*ZizJ3Kq1s!RWc4 z63B*}j?=_oxCr&wO`QOJ*LPSctZIxD6g=evi!kvyQC8nzA%bu)F)x8ffvm!iY`x!N zvqNfZUvNa#BsKImm`int04RfxHxuD%tOSa&o))IXL7_sv&%r1OJaoy2o038gl;@sh!OGm@L(4YrkWV!jc5L5%gEPVJcKy?rxo$G##5mg_Tu~z8z*V?z*{~@xq)obrs#x0PhWTzy0 z#~pr~SWlikA~Lklb~bPeg#a`U5eFgw4j=(@lW>wW9ApI01q)c0qoYyP2IXSs6(So< zH73RP)9kUMY`@-=Ug4XMB6C(rKQg(NV!ZeMF@0W*jg>G4d~LSQ`6zfaw}ogFTOSo? zJUqr$-)>-Kx+`3}pn{qHs<*i_~S@;>-fp0x65}^pBVAB+K6oBUG zW@tcYlyFd2kSH!}-$gYB{{hS(o#RPm?`Iaau+*eq^u5N&W@G!kXjt=mh(pMri{Ufg zZExDQ=y&}YZ!hM<*g%fd)ywK!Na7GMyJ?ybu!^@`69B8zeB=^K+S!_nLO+iMkGD-BKK6Mor|tRm|oH^Kw&)D+?%4Q+AZ z!EoXDt-HbhgSD6U>%ij%<>5|8`NcZa&G}|9RM`)p5sa3~sUQzkd1Jn+s5VBY9fOv7 z<@W}9kNv(_>oI|y32H2oTFFifxFL*W^Z<}lbH-Bb+t;re?jxa!R^XGE8)!IAlbT<^ z1JEY%<`_x=q+d(rXtx#jfAhyNRvyH@^7!RodcOsW(A}=;D=K!(+B^EZb>~>J{Z|Y7 zowJv;o9?mZ_n}?T7-^l0v_gLi+#mM2($!zc07OojH7JkR0h1W^s8cA@_xK{JOG2|l z@&JQd3Q$5sm*0DNZs2>~UBxEMdJz6K$U&ZDhRoH}S^3Zvpm4ux0AaOSbOOrf4jz`e zy7d!AEcK@gw_8F~oL7tV+r}>=dsn|~{cT-F$koeVlZ}zrgQ20_w)u9;yPjelL)- zu-qI(p?z_Y++J9|`wfsGQJw085v_EvfOg8o?q_X?y)U*|CN4a{&PF(N4fyAjER+24 zxlkX!JK;(lvmQh2@{m`!(T%)cU4Hg^;?xmfIhYJHeYz=c6wr&EQq>jPaYUN9Mj| ziuqb?xLfq}+RXXF5J>WWCUC9y9x}DXK3MIko`G4v8Twy%h8B zPk&sw3Q<#Fpfi#ztBo((_6)Cl+dH>5Jl2yFysPBLps^VbaSEAJz*PuKW^7MSOKI_we8=FG11`$qv zT{E=^nX>L;;Cb3cDW~Cu>RTVHRiKlT-ZIh;&}rQZ3O^lB<;lCxw`-Et8s z$^ZG!5dXt=;}htw{N3?e`YoQN`+zQ^3kGu-t`>OiVR;G^3nnddkQB%M=QN4LKb1!< zUIeHk8$u^cb4n>y5%BPw8@W4d!dq!Pi&njO2lUUAwjnFS!AV?J=?t@I&Q;~5z|tU$(NeSMeZ1<=2k89h!b_RQItQ3u zJM)siQT_mqN?c8*LYB}bfI4u?@uaCK;6R~qhXHyLk_gm0lx0#WQkH&j^n*9YH_*|_ zAieObk%*#{+w|ZMN5YbISd8ahja2~OY`tGe z0pRhS^)sP>^BQD)Zf0Af_vny}H$#f{wdsmVx_A2b8JD>SX>iR5YPnq6#%W=-qZfC4%K$9H&vhx876VgM{TBo;Z}|+6=jx`bS^eCXdR{~SF1d@ z5VQ5j;Gw3~+3DZ0lp>*pAOX`G0Mb;^TP8+BbW0IUME{C~;G+ErehTRpBD=lI0X9CC z8hs7znM`|mJG#*7c&7*;HQ5{e`vER@#=`#4YYu4mc8cA+pBW2WQ17BIdYW8m0CCa; z7Ou1%)POutA@4r9a%E{OWn!18HY8X(d>SBW>Fc6QMW{#{lSP*+K5UoF->=`nxVjkmS`$pj) zy~yaYAG$BQXYuCqGdct7S)RDX*apmoB5_C*|Ve;ePRdg&j7n@Zt=Qc=Z zewuBe1Ms>#Hrx+shRj+x>B&EEW4t&2ii{Gu!^xwk+3`x9SS3T-38%mJ<+PmAdR z=0T{g_I|(Zdsp>ZK7sGkhDYD&<8=;^&X~u=S<}5=s|%XG9uZu*G@TU#-fS!v$}`V7 z=}P^zcr1~sJlpXc6&f(89Ncmn8ki&_9tN(|gE^`uftGZ! zh@t`Ngs(Zy`cra10uE(mL4!h6vHYhpQ?Wr~Ms}iGgIDF-CnWa>3yytl61d4{F%xz) z@<4Hf<)OjMxXpjp|W<2PY``i}86FF>fiK~w8{>+|_JR-7uv za+E}7_`=1BkK4h)MA7BMRc>3yM!f?7VN}6)$=aU#i0|-plKpcmcn{S1BGB~g#oU04 z@Xx!8FaG)snAS@Mu^fT(+dN4VHn4yeCGlvoee#z~u68&nDphk{EpSj|2RuPN0d8Gl z94nfSR`ah9$y?l@F!>0N$BA0Ovlh%4g1PZu(NK+U^%!~zGKI*fpYUDjUbSv4NSgKd+re*r_jBJ+hViN)c=Ji)-{Ewd;fCK`MKGFdyP$N~j7GP9 zaU-%Y^w~iKX3%kN*C(TwQP=m@vWoRYo_Zg%lY^?GIf0i~OQGKZiE*~OS8H}zai1?E zr>~njhGPvAwFcPDxuQitrC}qB!OAQp1x!hEREds^L)Rbl`N~&+{^?u9eBO;#Gwk7^ zDSoD)s)xq|s!X)R=O~7t()gJ86Awof0J(mhvo^gPQRTp1fl292=}YrLebch!cXy?X zGV=LzkAPW^1HxbnE#J>okC&p#qEw;h%SI5^VawNGyY^RqP5!L$s*=E*s1Nk!xn?g) zstS7iUiDt%ivUM}B*@<-0qnrt1KF$x)(V5JyS2e8aI9Ziz3!Y2o!Q3}^(Vbll8{2|)^Wda&a z@zoJ_Q!+>y;iHRSCT7D`IR;YX1FVGfbK&a452NM}PB=TOjWdX@8$FQS{PNA6FgY6O zxi@X?R6}p^Hnq}W15t6s)oCD%jFO#xFl)+=D&5*acRTTXp!c#$1W9RCDol!wmC=eH zE332g_A|F_Fo7{d2S zO*WW}7$yv1<9x$QD4=J@nY~)Sb^A=dPw6cB?h6tESHovTx~aysCCYHAh!=nJcR!YEO=mc*=CLj4c8F}hazZp+=LCm0-1`%qBQ}@XrN3#%L?sR1NC4q z6)}Y|xwMW|%b}`w!?ft$&_YtHDV{n`!>dsIy?#r&2~u_Lm3RGlZ)zw@M;z0#mfp_) zGm=Zl7&2Xyc&y$HR)N@H+CMRAASuh*%WLQ4K%@baey-Juz0BCf7vHX8W`HhM*7QFx ze7;MeRgr1C^A=bOaBQeVs(5^fcue?Fn!QH4$o2N;4i^^$kkm!kaRk zP_=1wM0jotY&0lLFO7nMNY_%H&oi5~O%V5|ryq9UM)f7*pF%3s`T&i7eX6GA*DkURszz#{KPV3g z401k{gq8J{1aM1knlWCbPxXWcW&)@%&1ACRNi0lp{?XC)x=d6~j&&_Sq@QRZ*Eu=F z)`;`&09>gEk)0sm{-aBw*2~t&Gk(R_rl_gcKv?TjP2~gy=(BF-q#&(K$We;ql^Sdu z0=ZqB+4_2;r{@o}a^c3j1h~#mdedkj4w1<&0(?zQxM#m;l?5US|EFlV#Y>TVpKhCC zFw_L;iK5$i^F=;I-B(&FDWn%cdR*vfXO$laTcjt?c2rxwg8;yxo9j;2m9JZFl^G&v za?7thXaE7qW7vNE^oQKs7F#O_pdSrPr#2pFZdkz!@}I>ZD7Gai@IZxXOu@$WT8%aUtfl!<1WOd zHfThdI6!O34d||a>iM9k(RwnL5%Gma*X# zMa}>Zgo;Oozfh`;O{SRL`I>DWrY3nef;{Y@te8KZq8Pm8tUAp%XYd5#M+e^b?CgTK zkflvSDg&T#jAKgS&9|YWGN779*BM9blZ9aTYQWQqINSyR!w2_izM8n4fPUFn}*BMxt5T)!Rfsa^ZvvdWU81I>!_ z)$7aWdx~l@*o%wlMq!0(YuI0W*%86j8B$B_O8A;rq{WiC{wrOL@WII;8oop7QhHdd zR;yJrLKp%22YMLD_%x9a*jy%QijaN&{Z)4EvsiZCtmqCp>vNtfc-(lk`%~b9^y90D z)b7t-#HQQh-9x7($SOwX7r;=p`~O>~JEG~7Sao=NRiabkV{6pB|7W2FFKzz3V*}Z& zgdHn6Y(bjJJjJi}+q4)Gfr5K?wFG`;+1!Nzyp=`V9j^hseLW@f-rIC|SmU2o>h?S` z_c^jOAB2;>z(+fU(sOdwTBKmR;9ox%St$+SlzT#RG%!QZM@7t15SV}T_d|t|wY&*g z3h)ur2oU50z(r6KGBf32S&m}_bZMO{srqHFj>||XV>A`i40Mk{Ee$BEKZ@xY_-9L_ zpFB@~tK{3`e_W^4-m7m~(QW7KW!P&2-zDP?pzE%=@s{SdPFUQ>yT(irvjSz*(6oxj zCe_soEfC`5WY_{a9y|bN$d`HXHW3^XlVhlA17HynhzRm0>e18TBA8;3P?3E_GFT%q zuqNVILIq|k0N$~bG(kRK@M$|e zB2-D(>U!E^kmCB$x1Hw*A0L!57R-QGEN}<&8%m`&i?&fxv2eKzkh1;#rI|6R_;|M z&6oqQ1tX-x;|W6>@M@yxjj&vS*U~dKVH>gY^Zc~%&>%*9 z6{f`$UfX>!<5{nB!ACRPr0!)4r<0!&^2a$riP3d~d4{Oi#O@57W! zt<1C#MBvyCd!%ID$S6(NSS5OhK$-s*8WOLEP71!EG17YEljH6*rlQU7lB zXi#mUqeT1t&gf{Ea$X@)+L%(wEOplA{`{tcs}xZKp_EufCfgyccRp{;45Z@5U^=M_ z!}>NjGDKGm67_>UQTVk>ym*# z_Ysvu_$#kH3A?`WAj|ObwbKdfGt*$O=_yXv!_)!H4m0YH5qEWj>YOvB3zpQngxP*5 zBJdg+zEk&x&>DTYS+lT8?8CtiMx`3OX~J>?*G}DDd?rxi3?dd20}IL*?8#OTOyUuyA^aYRwlh|LK6A07#x%Op4UV*}-*`ko)j z=Lpj9t70G++;{JauN1w0jsX}b`tUCw4)eVKzPbPG$nYFV+dH~s{eepeMwhI z;A*N|PB=K~rnd2!l#_(MAdED$4_SmcGO=G)Rrn}OvB~UY6I#PYh(vGR5`lq(fQiU3 zuc-jOU{T=7KxZ%QznL_7#vw%LaX*ZNCq)N1+-jlO9PL_hv_z!F^nB5N{wIh+ubSz3ijqB1LS>r|@GLryBrg#8ai38p#ik zO|yrO3l&C6W28W!STPElo+z03%I#o_i_0H>{Ji2k`2|)^XM0aT&vV32(J5;;sZHG61%3AO!^pwvrYa?{{*qqCR!^shnL1 zNAiOTll)&7k>IMnzT4@EtH;M_))D`aTI-*y+_Ke*C)dHtekmBL2`_TBI!QL@IgV$G z^MC`s0vclh>71l=R=$5h-`m}64@;GsNWZ)W{v-~@3Jpym#R_G{#+%X7F~rJ62JKUe zubI#g3cFt}m7U*ED^VQBd~1e8mJUSkEaYP7&DEF-PE(|#mE3Q6|68oJ(VC3ZeW-+R ztE@tr*xEEXGV<~d+6HT~vu-0obSy0PM^0AL6NF0yOUcm`;f3-FB|I_tvWW?W)C#Qc*R@xST6c6@WLGUyvHZ#3^9~@Vr#Ksi#j^1*#JL}FWlA+70 zd-N5bu0HI(`k2(&s`XF^J^wrfmwmKSkS+GVh!Yem2}^f zAJ^)*lNw~D+5gklhudJi>u(QuM*?K0ye`<%uG9K{cSTkR{*i@diE51GU=k`+SuD}A z3y%=0d>{i63ef!1nr}V;1sL1hn&836Y?xQ=r^&)uA)fVC=k2@-F!Yn!WE=Cy^c>ur zdSH_cp<|w35)TP~Mb2JvTNw$RQQH7?5m00VcX7 z+Vd=RXMr?JdjP9_%EO~;Yb7@;aHHUayz6sERq}Skzt$uGr1pZ;EKOS7Ph;7CpX3XtpImW#qfXHMIuv^Kw~waz#lcft0A_o|@p@S{pmiMI zq#nx76P7m}G|IO}rXa2RjxOIkk_AlU&lgxg(gN3>>u5z4fSB1#GA)}9uL*VNRe-0- z>z&7A#1XG#77K>GD}FdZt+?LHZ22!tjsg8XSquwuw%D98CIF61GlPHUYjvhfP-_&kpK+6AdT<8NG^eSYY+C{xgIRV2P zM5~8t%h;mi(ukL#qc`ZkVUJ@BbYZLJl{vujRNA}U2~UecV*mbdri zOV$RQS%U)kU_y5_4lm?v!DGcECE*CcRuFvJdNm#oMKLSe`SoK1AgU9tM)&l23x>+| zT^1dV6x@lFmEREnpz4m-A_>Jpbx z`fhm)1OKTp0B$__kCBBc9y9%@MKJNfSDmKlrxY(tk`MOsxdG&yCeYTq^~<2ilAjogLWl~o z=%Vw$1R~ysyCK_2FdV@aN?hb9l*fI!@Aw|JIy9l;y; zHIXDzBJazQZ%0BO+9g#>z#x%Ch~HBHz%DUka20}a2ILM(`A82SkUbunS(pW0g%`7A z>gdL)VL4mC`DS-0scU3%GVM15wU++3oMXe4TSo~~=z~eG*BgpIga_w*9rt4?zgTkc zelNXk{v48x(~!)Ws$ARj8jWn#lFmr-wOJv&lhR-!d_UNL`E)J}l6<5WNYQKJP3|jp z1x=w(>Wq=|I;JVdd}zK!z+s^GMd)BHU}07@O@N2IO+X`7TI+pK7l5yPyiUW4l6JSg zgrP-W^Fs+1RSvr_B73V?`oA{>k~top)xv|K8=hKlC)QQ+Sade*YPsbKaK3p5cVsmW zz2W^vwLHM}ed@E4syVASk<1Vmh0*tV=jDNqS5cv|E!)95bMYAupNSi_vG9r6sl{b_nLvUti-!^X)qYtVjO61t`r=4F?67Ma_Xz}fY zvlv6qGq>3YShlY{$g$0J+&#ulw_3$(Zoge-x!G(2rNQaf&J<3N{(01%= z%sz7n?WQ|sHl!T1-fpKp&sT#X(Rl8zSvbLaK4cq*6uCMoZAAPepwznD^UXwMuz}g0 zK^5vFr|WH7R!WT5Y^#mxsl(@XXXw&u*h@;zM#$HsjR22{tAE&jvZ07X4&c(8dw1Ry zbA#GE-ZK8X|2L&|*|=L`dc0YWd5>H0Ai(Ooc5OXYwZk)NpwT5KT$P<+Dx(=5DTMxv zG#5MsY+yIF9%A|5|7MCqS~D960sl<{7FRU5M!L36n65_Kp3^q;FpAOr46tcf=QVo$ zFN&b3+{-~Kl$xHVQKu4XfP}l*2sM$M94N9+QY!8bK;%U!DuKVMiPZNMbJf#&5-TLU zt2dQRHu%FJX`_awP4&k9FBLz={P;&@dSR{nO8=~Pt*CRSNY## zP4->BHlEL(+Tvl!GoHm8AHD%YQXp7*#43cSdaw0dgh=>9Y0tn{T>PN+-NzIB|0C)h z1LJI;c;VeRjg!W98{28D#*K{zjcsjgH?|ww*rbh(#Pb3W|n-M#L)=b9g8 z21XbpBbvlZC4VK`HlJTcB^4p9oG&wq_RF@9&Lly=clB(zVf9w+GS3#I!mC|ohNL8W zqzzXkn~ut@1ZNMV4N}{RAOooeS)Fqb|At!G`K5V58{p)iCLbF|$s@p3Bije7tWFBh zkR8JgE?-m%W`dDuwwIB+`*}#+M;%|K2@*kv>QNK<@zc0Th{+*VZgf#k_T$s#GriBc z8~Am}ebTpM^C8_yrfa*_go5w#E}Ng!&)u=ypL^LxY|XYGfEjAQXFqZMIv@$#vB_G6 zp(AS-4|neM+}r)QIyT0~#liEJcLSxpTHcfDjce4;mW)U|KsKNopEVC_KZ<>^-{Z3? zHqJQJ8Sc((oXYRU@vLIS2wC4fJR-uv!T_0Huz?Ks4N1q_9cW2f2W{sr@AZN=D?w9@hjd_rk z)yi5|791;v9+otaDFb>mCTZU7)W*3!iG4t|BHQXYq=r{-dy;3L+S|TgSGj!1ss^`q zcp!o9wk7qJT2N>_y5UrozrX+vXFG00#%Xt*M&}=yG9q1LqS=Oh44uUTIUaiU&&nDJ zcDuO2@GOQRZcfBKU+-}jnhw7nrRpe$)+vYkajd%A+bkLfIr?3Et=cW+5eh=@g%O4U z4(f&&ZuqhQrIqkX^??$#4HUd@1~YzwzS8Es*8UQfT&wO$5YGGb?hE;oRWLPO*6Hhf@jS?k9OGNdW=1Z)BfQ zC7}u(^&OIML8xq_Y{HngAM`I#W9yOZ@>LM9d3Um%X3vv9xfRWBJJZx{n9rAZxR|VGtfOhV(;}uG zJNVx8>sM4W9<8S^6}BcLp=XZpTAfL+G*{N3%4R?k+A~eT*493 zj~X>$Hb4?$TJh+pIwRwC(;_iEFv5;C4;{b^9*gb@aE zGH@V)V2Oa3d)2N-jNY#}&ioQl@hOfv<4l6dTzyd)CU-PvCJ(Ewu3Pm}1SW>Xz5DQ2 zSy}5kEI`U&vlCchk> zg^5V0b3cAo8Ll3{s{RZ6M@W-p&b@d3ljhB43hIq-)q3=@lvLEh-WtZV^wA)$9T92G zg~H63Z_C^CMfho%cgeSb2BZADVo{QZl-_+k+n zv%uoSZxxb$UbXf&zZQlfam_8)-33f-S;$$DP7=1zEI(AidNwGrXNp?h1;Mt+7=84? z2Glyz;(=fR`zuU~vW)?Fyfn*B62>uiwc%MfV8Dx_2y1sYnFZgqhZ;q~Zp4Hh5`zsU zW-fFE!=9GZ+DP`ozHdddCVQ1HyIi=a(A)JIcI?c|412SU4Zo*cqnB%Ds^@0lDZo+> zUZ7s~-Lkp5?ZzY5kxDIj^60U*`+Kz?YVLd@x0+R;A+7sQr=7bxPq_T(PtHlMLGb$g zs2h0_f}$Ua<|35CzV{a1abK56MO${-=*%7bmAnijOj56(iH2W1XGA@G+t}4TW_KV_ zAP54Hp&nq;Dtt)k&ZF0*RNhhlUV*BmOf>rFDRL03eF8O&*%P4)+JVpEde) zX1_>`L9czg+QifNq3^D@@P1V5t9TbT+GXt5aJF?ZL~My-8cQ(idECSR*p^JE{6mlS zam<^AZs%pc;H|Zjp_y(rG7ts^m+G*W#~)BWjv)G7e~7|KYYrxnlZm0}+uD}9nJ;ed z+G0s(gd6}TbX9?g+1pgVdd%$eJ?K_Av7w)#6{|QN0m(iwfCmO1_FiC9QUh*0E$%0t z27j|Yj!pQ?CgX*!&3x0fhj7y)k-|spKYO5oG$K*qZJRwqt?b{pmQdl^EmPB@mYkE0UpL)8}8Y`?GET% zf7xwb1r1*j4cq}!VYg#M^dWywTz^_ePqpghfN)l2ODCVC_04P2l2_|9~~@=qPg28m*66 zN$GHySbu8Pz}0;%P9oAIUi7p41^;F0{A{Dd?tMM}s_UBzwG!b~$cOlmi4$hrm8X@i z8_z3TDT7z2ZaqZ}(%vf3GC`Nn<}ZmoXkXms->xEvUbD|E&XA9*AV@~xR8ACa_M|1g zlKXTJipAEw+%v~#*FPWsHJ`w1oX2Qx>xuZmvFdhFGl!KA7zT1xH?EhKkbsR>u9aw& zs0s`E#(UJKq3?4rg}3)NLc+}2TNapuRyKBoKB?xO76)~hXb58Jev}tuG_p1LS2s-3 z%@jkiblV$IBOn3ng{Og}xr_P30Pi+CgQGZLLR4X4>gedp%ZqnPXUA_+2Pfa=ES$|1 z!UIfErUpli^!LGUR_8hx!KhW`nc3NEp1m!6B&l=9ZyB98Z>52~;$s%0F1;6^*tc6G z0Hk72I{k8Zc!+&&Txes`NiRV-)4li9)vlgH$X4mp36|cLY{C(>e!4hXFhZn>DN|1- zxhz^WEgh(-UoS7g40QLPks@27LVz)HTj7Qv3MR-T@aiR0g`1gTm`?O8??h@g1ldBC3Yt!n)3 zqZP%h_F@OG)_!pSC6ZxO@0O6z&Qns?C`Y(tn)eq2U;Px{ZqcxfK8d`!!ipq4`icAw zQhR88?vB~w*ea-077p^>1#zsvK)lpmAVO9*LT@W_gd-o7`AMJEQ6s|g#-*~)-b*5r zAJPLte^j+H-$0mu?bUiE`HmbY{rKZIb{g-2zYXZS<)~3~lXIXEB;Yp@Utwkggh2p) z;a*Z^$8jlcw)f7t;l*RacozR)U1pX`w73L%MZTlLuHrn_b0*_HbMsABa6tKb!`7?S zQHxW}6J+7DeYug^Jf#{7c%n0Qb;ex(+$-=INZ8?a^1deYHv7E(Zr7I#As}4;W7YDI zS77Msa-}qn6O(7()AXMW9>*(sPIMj22BVlD!~^R{?k3P~A&q!ix%>`y>;Ttv4o_~s zh-jp~wksC}h?WY2pqtcUuyr>5EoE%;Gvg5bCsS6pm&+_pz)7XIC>^Xb6!3#TD<~I3 z74rqI(iFJPCpSZW0_5g}=_dbZPbj?GRt`m=*~$XFdz;T`PPMoR%*D#j->tCHpk7Uh zn;bqjLzc|RxXNL55DBogA?F`ib@B-%Wc~2E!%U~K+Tpt)eK#HrD0A=bDf$$s<+wwi zuT3$kXNJmK?@bHpUEJeV{*{C=_ZQ8FhRS3%aCKw?fX7!~9-epd_5MD2$Eee7f&1Rp zYIR`U(v0lH`}Fn36Kn>TyK415?;9At-4&{j8w{fB5ZfPi;&-y$X z5ipL$nFvGg^~d*PjO_p<2blVu3vT~i3YUW8iadZ&R&BdKf%nZU^HFM0<7&O&EQ#h% zf#2y*d3IJ}<2q=r=9vmQ8UrYH)IluP3ew@+mLeIh0m}$*AVkP=EolvE z;Itm2&V%EJh`Q<_Mm}whTSE*tKqS8Ypa7FUESTH8fNPi8Zm;;?wu!=+$v*M@k><9Xw!9CzR$!| z)KY4z#a|AS@!Q;g3-Y(IIlfzpCI2k}Gf*u8s0jYFDGmSHb zHHd2#Y%`nTGC!Q(u*NQSehUv_K%^5f(%p)~hm3^TTKUvP9$=Rw1By2kTHITg{|Tw( zd8vfq9O6*@uhM^FI|=0r$jSmX45>e1kKT7XMf&5eR^obn^)_ru#Y@>^_x;0`i?jto z_s^efe!{gr6`Xf-FFhq;KNb}d%w@ZJS$Zqznd$CW5VuDs3-7J%CFUy9pETjp+7sO&;8 z6_oaNX2E#9SfgE?7Ig}a?Rx6dQxyC-ZSW?x9*XUu`KPi#=*AZDFenH?tBQy;t@B*ri)f(R>-|!D?e?N)JhY{X8e1ANVHkpy#kY} zT34GvrcXIsV;AR7NcPe7Z{xJCq#;|^lDVZz7iP-H>KYn&*oL9Wn3xo1l;X~lsU+f1r(y9q zfh|+;;Rb$Ud(nR5=|0bUqEdG`+BbbmbcE#)Ric`d=jzFy(vC<#*VOCyZ>`p{d~#JG z?@&qdDQ}~7Y^#}F;Tpc?YtEs|M)kl^%XN0qKSC@iGg%evv>Fv>DWWJBla)%;em1j0 zw>}x4KUAF@!dmJZWkTxl9-{DCfM$=C)U5vf1tlK zS}QhtL=(omO*Z=kabkBPET{I{2MFmoT3)Q!vNYNc%vGkb@L`7haJbTb7^>dfkZDgCLJ76h_VAb^|m0m|4rv^eyDljhU9NVsU z-Ze*PPofwFjWrM=1Wv38^8V20cCxWuPvG@*&hWg4&VI3vY|O!}c zPdd`Ev$BzjZS7dxu`af~PEcfggxF;pN9;Qh^+PzO^}XVm1AP_mSKg20&z0{wy&NGd zAF1z2ObF_kXOm4=0$;H_bhI4)g7I)S&hZ^~)nmT>FthFY!!`Zlu+ydG1x|ockU>DP z*fhBek(@o4K@}0FePk=_d3)p>+FpE+m`{9pbQ~|uvu^&En1jb|mNaGg42Bc$`f>9o5HtIE8G-Ui16_PP4r-@&t6!>_^a8Z)p1rX0 zN9G6yei$XaJ0tjn6j)xT;O?%t~s^VDm^+t!B*tnf`?D@1V4)yaIxcDHl zaSFPafW%&UU{3hi;X6bSaj_^E!Y*!`AobolRRsGT*V8Q@PouRksmcM+oaSZ`yW$~u z!*_j|7H<4}?cx%q{`>asUk4kNfkw`ejim{sxl{VgC#9R82I7@V1|O$u@z>qW*R9H* z->|W|H8eO_-jET}EHLCWy1$ZPAIa@fiD^1x#2-h}#Z#&j|GdlUT&NC*u`*}=`tk{` zAtak))J6`Hwt10Z>{0#bQ)C@fTig(4}rbLyT|=r3wDC!b`D=oCblo$Zgk`p|Rk{(tlaWm!RW(>>U1!?>-22ul#)Q z@>Gta1@L_klB}hHZvX^{*-%ryM&OL-!a7(@0(MC57(yyUZ_&f`Zq$&w9#$z(3UN zb?%)|a`q1#V9WXiNWE!mRdx!$a%FVQ`LGp2jQfQ}E5wU|$oXY#Vyw{u-4e(7y~LBm zosq?~>))?s=$P5LtN`Ck!PAtVw@rMo9Sz7{6S9QBu_Sm~e*7+=SrSF3Y5Huw)~R;5 z{?Yf}G$U*hI>w{|SrY*1s`@@{|6xWh$FhrgOIEo=8Ugr~Oe2uSE!~Iu;VH}(Vc+F^1Yjj6-tHZ5W25se;G7bhZ2E1r+T>j?g?7^r#ue5 z|5Jas7#Wd-CurfIc8C`1S&=kZ6dErV4n`9xi7ZxBOO z;2;MVnmK!%V2N+M=xOuXtAa~L#ie`}j{I_&bH4y0yt3c!Lm7uGJAQZi9|1GKvD8j8$D+8{du9-}8plYn{X*2&EZ|k~K>M^>=PrGy$_Ks?Ce7vcUZ$gW;5 zubcAu5&S$^76xw?WJ2e9QMe*V==kN4tgyf`_j>2=xQe8%=5@RlTx{o?#{{k1FR%k8 zX*)M}$fEXQ>)uMuXW|gWGsEPb+Z^3zLq&zL)i_%dh>*hm+@?-MS6U~yeV(o5BRb@l zeYYGpu0tePb=2p|t+yuoSKZAQy zu{jOvvjm$lNi0~&rJT=Av(n*I6+mrEil}KF^_hSSu?ND?_l`xhmRIJe)#-ONeuoF# z=OLS~r;T^H-1-ED6AO@^#fS5@bEooT$EbuFXx7h&2S$tc!CXuZUN-MV{i8Mb8tcR1 zqJ6uu#8lTmAft>wlvQj}w$`yVJY3J%*b+$9X)(4{;XVq|AtK4R%0{l_4_3C{Lr?zv zt?L&a@d-YY3l6BPePn|v6K`}R|1e{-*Rpx{%$YGJQm9$<3HwX6?`DtR!+;-w*VPLC z0&&ffrjbakgez27&9dLgrTVu!HOWN{dWemHds0Dn7^a@n{orx7eY~=5)wD%4FjRcD zum_Ft$Y{rCHY2Ni{7l=&c93J{uiKyTlYh#Mbhuq^R+^7q{kdCeeh*C#U>atgF@Rq8 z`oVOyC=!)+d>2^5H!hPbEu^h~jU878y<*!O(oV=}_uHv^jIh`uQ@S?3QkuDG=v%G! zff7S@oi(Iaptf42jgrK)-=K@IM@r{2B%qm79&vzw!U(CR91*&DYt7jAQbw-A>cM-ap zDdMFAY}0!_pk({xtoAz0K`UHX(k-Tr?5R?fF6dS8V_T*@)YG=fdpWLfr@?30wDDsc zUYkp{>H7X6xQ0&v{N_-B6oc$i$=F)SvL4|k!MN015}4=-MaUpqUW;bgqP~?))fY<( z)k0Zgg|OwV>`{mHf<1yLQnoL?gAXTJF4}1-QhbV}p00gNSSab^RT09@4Hl0-{tqKU zL$LDVa2J$^NJGGp>H~%r?q4q-x&Y&!j%5Sj$in_ud}d&bUv2B7>}#^gpuX8R@I~q7 z443E|fOI8FF#oV{dE%@_qvlI;`1|vgxVRLOVfSKKL&bf&(dGb1_*uf_tEl6E8|KQOEfZkDF}5Cgq#OznbrDWI3SfXn##i@ zR9)ke0Yl%M!*B4HqW>?R^Cx$(o>}|7@^_c$?Jg;i{FCyikO`nh-fYb!S@!K_F&E|7 zkirq4)u(Pn^Am;4tZxHiF<=XbIfPTJfc9jZo1D?xt^W|>k@6=tCf52c)$l=| z$rK0QAPN7h+Q>tlR7Wzbk!Mr_PNvSJ)}x1__x$qC438W2jLo(&8 z#_R71qF?VA@fI1e5)dU0SdPx6(3WBVCrq_yGwJdv!g2GPZ@Iei%85j%V>9ehsWuMf zBP#Q)Z~LgLqIS}0%rnI5lXead{X@`LcP}QIhCmKtis9Slx(#&0PJ2{v`^Ug!{mAc; z=dbIJt}yr7NY`@s)vL5_Xtr)O^3eahW@LZ@-<0uW7tKlnhajIqZGVN6QmVDs6gArp zY{693yE=^G2~>c1F90Gmg9z17wsS$S4<#VD2LQ1WfS%0%#ntN&Vjwbm%eDJ}r2MTc z>EkmdrgqziH)jcKsZDlrb%*iUhIeR+w%0_bvJVO*sSqB6#soiuxF`qA&lWNpR~zh| zA;!9y^YcfD4`!6@2L(S8w8zG0#&YIqUc=3-M#;Q;hG(O5FSD}qxl=8jChmx*DjwCk zEv2C`ONY^}c`gWeGehBO>7WaGxGvWyq_rdQgA;~AEtk0Ux{h?@93ok~TB{Ji2U&LJ z%aWiTz>M?IqHZB$iWqImI@i;@9CCTVbOTW~Krng2EOF_2?$hPwz`?=lfkn7Txe*5ezgNW4xnZ_s7Z4Va$X-pxuhYm|VYt?>iAU*{QJwAGJ}i0LPJJ|Gn%r)s zy#9fLBvskdK4~hdNB2JrJu4n4;{*Y4%ir^RNV5cG6{$<8(|*`5H&rMX5cFIMYBpSr zY_-h?WP3Gpo-&P0pI6OnNJa=j1H@$i{=lP>lO za_HX!SbIKI^o*rnlq{c=qN~E83xk+aCzv}TxY&7CxG8iT@;_k-px22i zPuZ`MLiR+h29oJI_ddI+k-B!_Ly8`^+YDt#Ll@`?UrHOvXo%Q4l2lpT`g?U6E=Rj* z|8Je7-76s`Cw~t#&f4Rnj#|NF4ij&q`C(~~Q+pa`$f*unv+bBQ@~xgn?vK4dWllG- zvSf%>HWH&Y!@oIvv_88!Xq8e_vNV_6AScjPG_pPK6k+ZAIh&smu<`fWdl7`D1j_+L zU_qe3(1%`mL4;t=Q0Pp5R%vuLvTgw~@DVOs&{qxM$--MRJ#J6l2p1CpFHEH`SX`(} z{7g$@;9e3U{BVZAH4_UKpB}KLaA)j&aFZomVYHbnrJfHi_=n&~kl@o?B0QDiVFjs* z?`)NGAeecw!`jl`77#%j#}9+Yc|OI#BVf)PsKYCslYzY8N zBB{TSBrtdh6h*6M$h3a<_q@_O?QI{nb!^oAGLA4nF-`R78qw$Ooltu0SLjG~2xR56Pef3VYbr*V6D@l+#ReeiR>Q zguhtCEeVO1vHz6Zj}QS#C`tSzDvBLQxtk>Ru*zuipI4gUgd_b`M(ZpleZ7y0qL=@9 z3L+Z$Nn~mAvFy%)_Ag_k>*NZMB3@Auo`uS`?vgCk|GGUx6aD)@{|MzkbKoL27X;$N zu+Im#wTT$%?11^yq42 zjn<(M5GI@%7DWstIZQ8zNM6{@1uVDj`;VK4b_>l^( zJ6{@kbo;tTW#N6O?>zuFlJUD~1ctAo9+ZJ+yLsVA^}%V*FN>TRJ78Qp<1b9opPr*L zF^tNdX?u|SnAQI4o4FMb;wk2uvJOS03_th{zsxVsHh|q#xscVqmI_Cb$>MQ7+t}X^ zL~8SUy9*B)$Pv=_vw)Z$L=l|+{5t+Z4`4AhjBJy&OZn?pu{n!G_?88e?7OdcTp9;} zfw%Vl-UJ?z`Z}fKFzyd327{=>a-Xx8H`eLiM7PzOT|z z<{d-~%RqAgGL^)P?pVeGA+ldoTcp#i|yn21gqmEbQw-D?XZ8wL7 z!n@)Oy?cwZolu>>Z9FB%H3oAXe-;_vC&FM@{EMW#0n?u922iiHw&GCdFJw40=^HU0 zq`$20h1$5M(^n02{H|LG8cY>9567G~?Sw|;PvntF2aN+oFkz4sp}FlK+UyA{kpV23 zFxjL*Fm}0VgmG+5OW_aS%0aY^$#>t3$-2N91SMQEJqtBgt{_c8oM#188S34b@$HocADkr6IeDVYywyTi9EkUi$3C217`K~eEM(&UZq-sw8wh6->^nYOT%rc#K4Y%7>u4dR#{m;Y@0fXyJ^QKqYB={YA zP0!vG*Oa0;8uaVLgRzVsHNA)+s@%Y1WKjeJ>CDfW(!#U{R4@(*tNBhz6t9lU>o4~i zKK*W;cEasMu5(D$vpDiK4$%(NyfZ*OD1c%@jQ-D;{P85b^Be-uoDX(UC4dN=(b|(VT^3@2z+P0YdPLj(p;9tm+p$o{VQ@~J#Exg5 zxCCNB5xiK;X#=45-QHiap2YLqs(87rzrxRqNL8#SLK_-8S|^>W-uFz*+W$R_eS-(g zKnM5~^mhFxcM{uu#G#qaD1ik9i=4*FOd2q6Yam8UzP9zMY0Z-}5NJ8`1}t|_n>M8) zH0PUoIZ{+GXq%^-O%Zi6Ki}U0DKN+PJ)C4;i*RJi*#=Ffgl%)>px`sn)%&qg0Y{8g zsDyj!m=I`#0uK}BPrrLVwVOg{gbf<+O#jLJ@zDJJp&Hx^Hkg%qd_~vAoTN^Zi3*ww zM$HQ}L9mB-H@@SvrkDS25F6!O{=3-tLX;KwD`&x_aff^(wW82$6EcH% zJ1fciC~;^o5jz|t1*Ujwf)U~DX`qzJvbupiQJ*k|;$D5n6bb4v&D%=k7_Sa+eVz_V zSugKhCx+i8n{fv;w<0zt$sOp-l<;39**JJ$P3?j#njl$g@z2ORqN;dukN20Hv0_c? za_k7jIUmztz+Bb)az`3i=_gJ=itsdkBFE}Pkc2S~0?J1sk1leprx(J5jv8OFhP!N8 zswm&?TfYKsbbfcyaavM9m@MlI_8E^01pD&?owM~dG#+-^z1ks!^Kw5XeddNpWy#4H za%;!XxSDyW+%a-0k->V+GXWHRv2EMLea?#n+f{G0%DfTa|7Vs5;n0$T^)8;YAPcw? zSv=j!5;hVh5viyGP!Y0vm^mCZowul*=^d&>3X&P}XX*VsJi130NZe?7^RK-v!_m6( zjXC-1lHe#<)G?fBj0%l|E!O@)5dc~n8$Q^6&#{HW-Mei-iW-xuT?Jk^LC1c<#x+*G zUjko5U9Il3tJXK36#$GszKTjfx3ga;Ed#Cr8s1sMFMnLaWkHKIyJTR^ecCEIe^0L< z8wQo5t6dl=+Zsa#fKQ%KRD56k^n|TGt>w2@b(Op=C#9HIC*Ff>hJ=AP`X) z{e-L20_pn)NDjEO2l+?6>|gl>92So)fJLSS5t*KG0G2}*s~UN=XxTEY>`H%-K^^Y%_gG!J18%OT zwVzu0+0~9Y0D=6`qF(GWeGmp@B^L)eyfdnxZdk#;5^66R;e!Yvj3{*v*mK{8>qo54_@C86WXm~p|?AUiZ3Vx6uxHsJh%r~LuP(7k)l z@SMH<=i8x#iV@=D`*E+&91_$+Y~NVeXRv4eMI z7D{9*w-Wqnq-wwJ!?`;|y86xs`156!t3-z$0{6$-Cf3lA)ZDiPfSP|1?K0GNvn zp;UM?h?ve>Ce7|ad-tCCr#o>BaxnraR;w>VDK_x*O+Rv!RNMa?Zaz|}QA|E_HSz;M?bJk&c)C8~}a*?+GftXLvT_;K-nz(^957DQNVh9Nmp= zF&{~O9>}6)7C?9;8*-1#aySebzo`gPRo?`18=^i)65R`G-_1S)GJWI|Hy_Bi!+RlQ zO%uVFIfe{4J@cZ>@dZ7|JSpriW7_<`Za)HsPK!@FJC+VYoVRV;*%eAgkF?RA?^oHu zAsUbxYyed@4r(@T%t4jCiw>IQ**7#?m2unHirHwZ+Qisy2U})cHCvn0R3dLO=7pXI5yha><<

o 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 literal 0 HcmV?d00001 From db66f3fd07c642d52af32d849fc076e02947f1ba Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 23 Jan 2021 15:11:29 +0100 Subject: [PATCH 062/108] upload aspie diagram result --- tests/aspie_quiz_poly10a.png | Bin 0 -> 88434 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/aspie_quiz_poly10a.png diff --git a/tests/aspie_quiz_poly10a.png b/tests/aspie_quiz_poly10a.png new file mode 100644 index 0000000000000000000000000000000000000000..a405f6608b93386074552b104db81bea4bd23b93 GIT binary patch literal 88434 zcmZ5{1yEaE)NK;n-QBfC3&q``cyV{P;uhT9-QC?GXmLt$hvLP(_~ZNE{PSksWG1<} zxjD(bYwdmZUT571rEgLwh=hm$002csT3iJH0D%DjU_3nNV^2eZq%#0O4v-NSQS-5bHf{ef=`-d z3L$6bGK3f=MfZcn(Pim3bH1flC`x zUUR#1FZawc3u`ebTET1vE!y&7k#@NM&Edv$`N!4aG>PCN6t7i4Md!p<8vqP?AQ_n9%&8C>*w9nNGz3P&^|7@3T z6l*r$<8yvj-g&(JVdB<&^YiL;2s*z1eDT)R?MXOwFUn*%#l`-16()MNCgk^<$)J5S ziteG~i4G-d6TtfBfHu##?eTNm%KuGlP^XSVdFEDNlmAXNyDQ&usdb7prAVx#Vd+Gk1_jO^$Z&+@j#$9&nb64+cgVvlw7wM!!&TRxv z7_rt`_w8C#>AI`xYa+}zD@V~!7XGX1&5EvtTzzldszEL%V>_Ee-=~lByQ&mF9Pf=# zHFz74(C_rC4=q6|o9y9vy{7~`rnb`j%BPOJ7=jHBaw5Zu0N z5}YY*X<#unv0sS!;{0`EOO#7zjMjdZHnUA%k^4ws6L_|@$|7B~g3k*t*Az3);v>NC zahA<;pd9(Hv$?}uW2-Rvt3zkkSmpq1&hq##Cwes;Y18fw6k;YY_; zzc$q;SFQd1m436~8l2}_cRb}8dZ;xlx;wD+@a*3-Cx>U>s;c8rm@{$u5XJO+A`L%x z>2{=Q?!4QnUVS46?&amWl>1Ptq)?r4@sm#X!xtfk$C(=)zX*Za_x&S_T*pQzQ3g6b z*7LEjvUT4Ra~;8C1y1Mm4Kj0@tR9KA$ylrR`=>xo!W!_GwQ!DKWTd82F(_z=Q&f2` zI|~lkcOfkt_tlYSUR!o<6mW)bbkkY>(|Ew;ko97?3+=jAO9MrETui~7DhHx14_8Yl zN+@54?8gqzylw!1E$;EqWFd}r%Rg+#6Oh}rH-7lJ0~4%d{m0+}RjB4mI%%i9{n?sA zo+i!W+?gpH*K#+5`xfEi<;ZcK=K-G(A`+dz<>9A3@!h~jKr(vV`@hV?zD-oaN!7Uc zWU&iK>53***w(8;(~2yYZxq*T_l|*Ams(>_FL{h)SN@kZcp_L3834%y%UGeVhnV!o zsXID&!@dJocsGkkshlP6xy4v)EyC~^zC%z--R6a%@t2!}Eui!# z9hFaLWC;M&e=GY715XkT|AFE6LCPHYcS971X(Y7oB#z~2l|+?7T;37JzN&>bU)W~4 zkKJFfXoWoY>uzd_xYn*w8XF|-qwRVfbkxVp9cH1eitMn^@y1N)zrF&`4OVEWD%G*;Y)8E zj{$tBxvzHz8v4t&6WpUCgdJ?HkG*#4|ItAw&~d}A{Wi6p>i_+_+zJk?oGO5P&q=9g z-Wz6m*_NAccNfRokilO(7R|1;&4Tni>5$em^+}DHJIt{HoLan*fss<=6Z9rca&@=Y z$EzX3*Rda_`DhTTzD}O-5iZA1g(!^0Q@NTFTKBLMLDI~(C0QlL=ur-XG>g;AHw}4P zzv?erM%whZ_Uqh{2;{q7-xp7>3KTfaZHRbY&K&}$zBjJuG&dZmPn_Vgl)s&>U7c;k z8pIz!#eRom+L^8xNyR<>+zLk4*7q#f&pOcrOrY^pdaVnX%*@Wbkw8ZAa?KgNbr-*F znRGQ5oIRE$Ymp9iEY2=m=Q4D~JS_mkC|lj0cY@kHgMBniSi6T)S#deRh(~NVNBVzwNqi-K^eG{{?cAq5n4(P<1Hp z>Ic_4QN?3zZ`m2sUchV1OFu)eZ03#F@N1p z`bbQe?B(}(kO8cj)$7)pm(d;7^Nu^QzBiGU;t#I1bpv$<_?BKjRhTxlS(;4g@VT0o z69PRVOt;021vYeCkI#O;kzB%936dZ27*4e|z0{lh7wsuK3AD0N}b(dCl?%EikZv?4x1&dqGZ|~@^ zkEhGx`W6x)JvSar`jB_itKWs{(Uhj?JUJ#O?}s2-P_? zSyaaL=fnF;+}hhpPqz*X<3jTKu8FtL`C*@t4oo;)JQxk}!;(|Pe*Zf+fs zGf#Deuhq5hevDM-<&vUt31T_Y+jtm?@$WleTC!L2*u=UyBz76jnqj__^Xu)qd{V7z zBm44PbBMP%&g|)VykPKRcUbtXZ?Erd{$$C%m~pBLOMsN~!l4qMMC~Km<;lle^6&@APw$cxdn$r1^BZz34_R`1;2Jk_NJ3tPI84NvqBso5_Fk&P* z0Cyj=UrBATe`r6mDsuz>3maK?c@?%B!1T78Atpq`(NJnV6p^i1y#AU6hsL zrQtSud||(osHEbNYXmnM4lQ;5ff;1zq*)=hx>C|!o8v2W(w&|l3RU;^4~`DPh9HvW z`}N(%4eMSl&>8sMU3vPq|9h`A_ygMuj)@Dq8$#vZ2k==tbTY=6|NIEW1HB=tB>}Gu z4gZU@m#HXFs1@?3$?7Rk;UZUa5$*P3IK1Iy0a?fb)(`H|tlyS?H6~Z>2^<)l^D9Yc zLZ?`1{y$c^+{INV;@%!disIfVsPO10Gurqzv)P;x38w;74D^Z%$fHg?ut(|WO96(o zUVEKkbzMhogG6WSam>UqZK3JV!RWQI)V6L&!J3#gXCvYN5`U4r2Ks!iE7Dp?s96jql#1mBLYh{tq( ze01}@970>4X)K~9kasYCQi}~(s0@Mhvuu&Ab+Q_%34Qn7I~ zS?BM^ET07|S9e|f8ZQo4)f@dsMi-|~6TyK`;>|M`&6D^Zmk;smT`>GGKyl#Vh@1ob z&%reR_Y_mr4aILyZ;P>EpN1kecS5|r-)XmYG?25zm_HZ(ho*Se1L0 z{rgsj;9C%4=~ zDwXR}c<2pJGOLw)!Hiq5^>d-nN|ei{3Za0s+|0ue+t(d&q+v>wt~6B58q>ye&m(R4 z)H;#BR~FVSJ&uxNR*zc?@XN7*E$1aA?m}BaKHI}oNY8erzzZ|L44=$Hg+myAJQV*K zQ$vL6$c>eV()Vw^DasR=Wr^uJ8qfjrXb8-@-jT7m|6NlVOOE>zYbMv8FTyP#Hg@fR z1OvTr<#^Z8M?uN=*JD`QVgxrjY{u`l>fL>3Byk(zG^DB za2A=21g7SLl(S@?iQAsPG8wm=t=_i~v8+C{`wm>U8F+e^U*<}kU*&Xc<#ulsOH*Rz zUPmxZcU)#(1d=E9dD}DYN{DQ zsablf)k^BVW~<3cs})bGoyHI`lgew80-do0<&Mr^#dtE!$F?@xTr5#SIza^Cx5@Be ze*~%lm^`Fj#($ODVLuy>T>AHQBV0(Y1+V=)AUts{xyRSPgw}3GI5iW<9n5AAn!j0D z!$5jSI%@sjZo|6H{3egz?`Bgcrr%9C@$)XYi}CKLnf7qJsc??qSE6|BH`(n(OvA zj55W9H@pXELExAjp-f5Chymibg#cw}?5~lA;^XU0eSDZL!!CWokD2A7`9MbsHl#JCN+UBA#gd317LhG{fX;K~<26rftCLD(Yfxg~Qx}H_D z9|_)CDHn$v@|!KE(j-IlfgM_eP43`s$^ZZwnhXV1qB=s9wgZ{4Gxq*fQU|?=`JV~i zoc6fbW3a7k5K-`+KEnCKY;Q;P&Rw{cWJY;TY8=7Ihe8bvj=IECGlGU4uk|57;?YYY z=DaGoQMuXS*MQ!DbjXl&(mRNKvsx$F~J5>6cJLbBL{AOf<{Sv45Iq zW}f2=G0RA`bHpdra}_~?Wouv;4ot^~mMHKhK;IX(Gb7ji4h_Oe0LE&j+QCn-DkL!v za-y&+%y9*)M1H;1mIJ{f5-*|wY0ZJSlOS6#OnMMN7NJ5@w)|3Ew87+SE6(y&%fM;p zL+*=KSsAmK?2OqGtAf^6=ZHOl=RV6jPvOHIlYisoub^)~3TcsLOaZha=<*QJ#|J6l zcrdlnvI8Xy1vhbM?QA#PtP3Rb0jrYznFw|$bX-;xTLjS-1Y8b|6kAMK0@Xd9s`kEb zV43{^-y4u5$<14&e)8u@kQOJNaE~%YT9b!D7u~ytVhpGLGnSY}S0XIR3MGoJx&n&} zi_eOzB0c~H1slQ?KvN5Y6C&hSkOM`YZCrpK7Qtyzdn1n zz1=+*7uwcQ7Lg5@F*4!;t~!y524U@-ds-xKHpM=4u4e=zs@zZJc0VKGr3!v!osg#B zCzWL1B4Mme?Yz>Qvp|IVPr zj=%+ma0Fwdhn~o!A%n3oQgEo*!T}N>96UCvW+g2!H3Gt@_9JU(Mz~GRc1rt$O@c&Gvda+s|C@}r5yRFvU?&EQoYA0|j; z<0ZFkoJx@KK5A9J^kQmJtiw=U@?*vjz+DXw}aH z>xXrjF2C^B5~Ae}QRXh6yFW9ye4{SOPYkaaud@&5)(lTh?@5#$N&I}sojf95m%hmei`{*>Dq8d5Pq(SOKCXQv35HYQ0D)oTMp=2m$cPtXedry*6)GbQk^b z!ayu}vE)c%7fD{XW}&X)_zT<0I38DT-M1!-)pdVgo9Qz+5)VsXF-Ciy;e0ydio!f5 z**1n%T#1eG&4p4cZb?F~n~hRCOT6X--=J3TmkT;I-dxSy+Q`-KRdcPS+cFh}vuaTU zXCsNR(ajq{FO$g*1|EZW4{=|7Pl@`z7O-S6jvI>9rbmp}{2B2`q~B7n)Wm{IPBOh}|+aO#iY-za7S zC4y#y+?@SlhfbFM-*tZ$z(iNlWdIMZ%l7|VXOex+sxQ!nU1BDb90sKV^1~-^-8@nm zt8_`d^cZxlOf!67u)r2|U)1x9P0I1Vj`MG)dQnEG^~|Zsc>Q{Y*0t68qrGPHT{+L1;wa^OWw`XuI<@Pk6%5|Kw+?CwtH!IBA)Yt z&J@E2DkDxQ5IrdXKPMZXgXpmC{L&eVkTQ&0ysX>vCVS?rukdX2zBYG>GGa4e@^|jr z{=hBPm^8Xa?Fj*;D66obIEEUs1}7Vkahw=R2N5T*$)n$?!0u zU+a(x%CE;o0{|-2l{ALRv3N)v(i&UrD3WAFlsva+C)u^+>5Db!#nSYc(bonZ#`I&< z*ukPxWx|$eb?&$(If>U=*pik!#q!GE1WKuqL#Z&FeBF#w>%2Ht)Y;Z7Wogu%><-5d zU)Lu}y>1{>t8p9dJ525d3GgGZJ-bEe_g+8$1}h8E^60~oi&G{en>K{|37}Ma3KgVL zSZyj|3;dvCE5vR-;3(|vzwQ>L(6O{zPrEKMCwbhJi*@sV)qH(8$R<%RPqdotF*oB+ zP5tdo95zNYTFn-m^DP!r)WiAHs0I4~!y1k|KiAH@A`?756tgZcuzar*5f39EUCqo> zrCpwG(wQbh6Fmfh7j{2lz)X7K+F1oPh{&C(pg&K}(3!$xq zZ0MD$dK4F@W7QaUe`6YAA13u6{B>BdcO*~)LBL4)L2s<6v$EO zl$8BQqESEF@YBM=m_4$Zr^73yXrMbi;!xfmr^a+Qz9Dy&2SO->TDFWi=!yF1*&ndX{b%K*sFY20n=Fk&cS^lGhl#jn zGJI(<$*j<#a~B)B&8ITMb7YI94q$nsLI6sl@N2bl!-N6()Nnr7wuo4=97!0p^JYzC zO8LSG#KsYo*20(z-QSrtME0fWmC~cxvo%q7^OO?~f7RAn|5EBp6^ozf11j-_5EBmL zI61ceqW>|QddEbOy}2J*SYoZ_qHybM*L&p5dnBvWYzS0Ys6T8h(4}Ir9!I&i`$2>Z z_-eUlCj`NXCN}zgd?ge(Lwg&2Q zAJ4Kg@@%(C)&<%73P){r_T#f6nRSNi+c4&Y$uTqi1Q5ab`Z3T>C)R{8 z)bP6~zWDb7%}X<`3^!8%g#IUKQ_7~@cqHGs+=U=+ar!bqm^od<7JUGd7AF-xI5MiE zI=2E7W(r!_gf$E}yzd-DBpeqO)w8TOo zF=T{Ikm8RP+(*d>2SBJz4trM%h7%(3B8Cl3;@sZ!)i`7*i?#q14((w8G?ik7IgNip zZOxcJ0aD~?ZP()IvDb~oUfUsf4dnw{x&Z%ZR zsb^G%<(I!5OjL?iaxIZGo2Zm=d5`_A`M7y0qb=%kZ>9!W z|EAyHzc#Vr@qFu3!~9*JQx2xyfntOYDv~$8e$6*s8ONQ?rxp`pWH1&9oDfkPqRofK z1`Y+{56R=~I$ufw(}Zwvpju8@O0UbxncqKk#n|LM={&yRDV5Xi!&~I2A916)cn9;; zSf4YpVW|zf$`1`GsohDZ*&RiibU3R`542R^2+JGd3i1H>#n_<2S=WZdnX&O;5XQjq zvzoyxEFH3h?DhB+Y7PO=+~v^*VSxS<*_!Svi?Yn=O^Bj?x7&2VVT=0{)hQd2i?K5H z&Uj0=VQN%&V%=s-$WIMV%;pBPHMP9q?7QW?4`Ay54wKl2%hN7 zyjf4zkvR}KdGKKsRv<_4=LfU*<2Hai$?>phYxbP?_kuveV5Su&ih<^_!c%(`6ypHb zQcIW=7qN&;4K@9xxpEz%p)RY(@zUV(&vT#1!dBb53$2vqk}FKd2yYD?Zb2uAm$dsh z!PG!uOzHq5cIJ8nVPVmK;)3PXs04v4iNq-MATAg~xv%WuV?NnkiN-QHEth*(tM8l| z0-hV$4hEN0w~FC6oMdCu>kxYHv~<0`PH#K*g?f*>KL_G2JOTTL+&J{*x>asp)r+R! zo}16p=Plicc@edns4BD}<(6Lw|Abcf8f!-u0fc!VNCLqiTCfkr$=9pkSyQSWkA=$A zgMVFXRHv2$btt!)2hwB``@5$N+=L53=R9 z?;5#tHQ$cDmw7~39+RM*{_48R-CyPy`F^7s=`5|~sp9Fl!J2OfjZHxtR6=`iimXMg}y zaM(aHr9vM{=AnS)zv?R$MW~qNI*pAswm0c?ew=W^bIM!Ok2ik_uQO~NOuU@^(QFA3 zxR8}8i=-*#2AIm6gCjE41&CB36X!nkwp;B@u_#zFwRDOp>ViRRT1M{BAv{Hl2%L=9 zDKUOa33N2#!;ZD))#6{$Z8pS-jray-S=*~e>C!r#S}iMpx&v&zE(l*15jckr!|D950o<8`trwe-1MeMDpqf9>EXWdB|D1D zElA^}v#0?Rqa zjoiZq-t)7%%V(aG%yTpBxcRhSTi=(KarQdR0xIw%>naRoeyW)=Qoy>Nnfp$(n5YP0 ze&ItESmoqPzhtvOZjh)ifGdIaL>Gh@Vugd0A;4%Zi_`Jk+VmCJJ{pp&>k5wEn=vaJ z6}VP|AF~m=bc1Ob%62B+ov-B!tBbszSA{rW=niy=51b9xt$v35#G2-} zU$OIF`Ru;qJHu8M=V^Jvn~u^Bt4m3S%_<`SRE6Xl14YKHz9}-+-qFU{SGYgTO=oGm z?jbeBS_^qPyf?DEl@F(5{7eUqnm2th5;t{y#YsE#KnPt13wa*lW1Ymxd`Q{_AN^U* zz%M#IyZm2?^`%3R`w4d$)#K=3jpoYJT4cCU zZpP1GtBi&I&~qklf-RJm%ne2}4kQe8P9V5hPir5q^Oijp=V&hzS` z79_8r&qq>k&9~_sKUF030R^anZ^^SnKSZ#SD-7$=cG%^N`+wuI1994FJSY=1JG>gq zs%-6RjDDvp7x8uG*INLKa($kb0B(;%X}{(Z$_+ZWG*v8OxmOz7>9>*SVG0ZxK&p1| zoD0!C1(90+tqh?`vWWdYHEbOk%_lrG0ziYc{5%?A_TgLC`C}Z`Z$_zR`u^o3^m%ul z*%9VsI{UXU^~8oE?nJ_Pkd4WHb@8O#VgY>IWOfBViIX1!+wB8cs6M zCEw+l>+sw+&x-E!cQ7e_^_+(lGzY>CGCFumN5%*zDE?-F)nEFJL!~p~q3^F3wd=L< zVPT-n{?Xs^JC*-W{Eg82-Na14L!H0TW8M3Yt5MUaDt?JtI$bF8^gssrh6?!Z*!vB9 z^_pte`VX*h>dnJcTluQ!0ko6dS&Dqe(P>xwbri~ngWQI&^ck#r6_lX~u1oVjSFd?E z%oV@u?>2-P_+1rX{dsPi5kzFt_^eQdC5uDC2Y_S7kjBkdVZ)1J6UW#Kz*fWFpU0)a z=K&W`8g{k1GM)G0LDE&Z_;>lvt4-22?$fR;$nK^$av#Wk=CMBobT9!Yd9C!mOyX9x z8xNbuDk}|Gn8&k}!!ux^P+rtwp5n-nYHF^-b#_BV54n1Uq!~kZvRC>_1u1V z&`%^>YZ>uoLkE&4n*XMtC1lOVE(9jSRB`Uc>NAYe<6U?+_`0OBr^rkdSl!GWfAcBEdO{-%Xs^u?Dtvd@R2gI!U z$kCnkwVQv5G*t{7isupn0zR+ZM<|p-_k-9F@FYJJ&_S4RL#%2?cRfr}ctfHc!7g#Y z_YLo@^dzC&+*TVNMbnP%zhdUJ$dd+Y+%CpuO~IAI%RIH?PyqZC?C(3rCle-mkJr=P zJ0(k1t)&8LR*Ez-BfK&LuviwzW7h$$=K>3(OR_34fSPBw`ZtQ}xEHJASqp{y%n`L! zRDfzJt$R+Y*LJRY*Efa5=AVJ`ti%$s5rE=!wRQoRB)Kw!MvmFo z<26T*?VF7IOoYjM)6+iP$%sF5qHN~(0bFIs%%0ciLy=pt(sh(RdRwA0pCl~*eu`{K zIhJ}*63Le{noYGzj2Lt8q99aGzNpnxxN%i|$^=JoHO6~%4|w@OnKgy#({%MMOD-=# z3j8iFr#U*s$NiU+L)|;I-POgJvsS4fvxgBAQ$pR*2fkDV5hxgxA=m^tO0hyRN;qZ8 zf7q}_5tQWpr78?Gsz#aN@#+s7d{4z#?te%;w>VCUmC@F_yewz|=1+MN~A%*+|)o#C57B0PmfI3If; z2qlQ3ei25bNEZEVtGU=vTHxPZ(!8I2;G)GY@2ljjHw1a77KR{!}@n9&Vd&LPMX13_*2)}4np2n zLSFbP$zEGvQ#H!K>NfAT65LGY7j|7ZWPI{8B~S-)96CBS1Em=vSAKZ1NMyJIaHhe` z-(7LQR$5}NHZ8=?dv<>O4MWRy*+x3~ZDhvlW%B(Qv1}e~ST9PORaaG&RPGRS z;eK$n)wPFy^4CJrcQ-3<0`GhA+$oa=ycjJ0(FAWQhTKxeFlNIPG&y=Tqc((+hWzDM zEeHkx!CeLcuK7sQ*SJoG?pl`?Y;pc$v9g8YvgpHE1YIlJ&Fh2vWabwY{2oIn)&l5; z;ce$iJF7sFL??4&XnC6So@)6mJL#dsVlTwE4+sp53HGE)_A5_6J(D@lx4k`|t6oh+ zk?so#ajt#pvHDrgofR>>3(bTp<0(SH5*2Htm8!ntRUrEXBTTYs_ZQT+rl5**e$_1B zw1}@4`z6UT9A|Ki{^VJWCqEZ2>?@9Q9Jq752F%ikjV11FgdT44;w04>LqrQSVDu?* zgtG-8?uFO{@{x9%>>-eCRdDY?jaO?? zUG((@iN}gdLcVAcj5mWOl2aKJ3WAk(-0(nvBx4m>XquTA+Cs_6+fi=H(t2bTp>2y) z?lmSinVMXe{xLX`dB6UIAFH!lCmwtmjrW8)eLCZ{7i6PP0rHtv3}%}XSayccwMi`6 zMJp8lOD!r7f&m?1)wl~^Pu5N&LXC`tjqWLqh>ecX1oL$pUky7PlUM?AK<5S`@ECF< zInCS41z$x--4a303_h{==JTu=H$RhI98^EBG<@?!J6%m@Xd{c#>T0mKn5qBbpT8hk^}wIT{h3s4bt^wqJB!(sZ@*XKHMgroR=?ZAO1 z@GO_3SI5moRHCBj%cwVs1Eqmkq&6;lJhJ>zx8ArnofU*U+rT-0w z7w^x6BO`pgilZ(21|R}Av>>L#zuw^4!05*M_qvXK@Vk7}Ap}HwIdA3sq~`SS`goj_ zI25Xcef|mAoN~ArKQRKI92dHE67mTr-FDcG;$k(Fq~X+7u}>l)-9+}BYf86wd5iNt zzRE#2_pjfrMw{Ss0h+(5?v1!2ZVJ7$dboC~Ole^8HP<9)p9H@j9XZR0bs)p07F$JA zbF(fZgMR%|rp7yrGqXl)251v1Msq@@af1&{4#0E_U|pPtCWZj{5bH--oHt$6*%RG- zt+c)&yZKwyghSJ?*ytp{OUSde_H{iDxSYR?U?^K$+&f%k0o_}dnh%JZia5`cD`Py#hag{yn%+^HdQIkjev zPq*t*P!%xSON}Ui2Ae^7)`t1(x}GvRH2)l161bl|oR>EF2b9&&85l|!fnA}F^Y`RG z{`V(23*>M;@LI3ebWq#+WTP z_^q&d3>fDm2Hm0Da#H_|tXKbPkBt&Iwn943}j=h{E8&3Ia-iN*Vx=C8Waqv=MSH-rYMhGgL#ZQ;Cip%o?RX z%S9~A27*xiD{$9_z{;z9Ul|)rB#+>^-D1t)O_Xe!`cQ2+h_UGb)Z?BZ^5lp(LCz2m zHPeZG6d1`F$mlU#tVajwc!9M4`?pY%645;B;Y&+M&{f?2sA}MU|sfK zq6r0;E*eSAo6+^uBE?PpmJsHS$AmMT9q)u9p$0kEj5$`G=%RT~X9r`1yCSFhcZD3*Jp7+j&1S`0{xlwldkDa}V zmU2kav&7a6;}h61z;=p#JrYHW>zDQ75~jP57asVa=o>+2Y^(9Cy}8hK!O2HIdvQHh zBsh8k7Gl3rZL*kwW%a&4wZMHzz}IO+)to;ilgCN&suzgvB0UE={!N(LcO6ODM1ZwE zsT(b_wz%1L1%gAs1o}0;3baZ@>>_F zp3BqE%&;PGjd1#7ey{y$)r5;H)`KTgSlXKl8aM;5_3%%Qr#9=rxBH2GwuBtvnmXnj zA=iQ1Zsrh%hVT?X5Pu*vjJ&J}D_^25LYNVo4mmD8;(y{|%+U(c6f4F)D^o03K{((V z{T2O{^}2uw?NnF-h{dY0$NONtQJ3T`$HOLhx-x5lzd4U2_$tJr&u1}hw|jbgHl*2N zJ(es}#B8L*T8+@!61Rb4y>+&{X4dv;at0GL{)V|<8ajp3T^dABTb0I`=bb8cbXTsoUoD15~;oN!^VFy zqVzVXDyT|=JJaL#%KFJrO+|0>QS-qnjN9nslc88FrW1mk z2m?02jFQpN_VFDzrWE(X0Xi6}P!9#z3v3jIjTeTN7UL3?0KzDP8zch|Vq{AZp}whF zD>4$yyv`5<(l=4BU-G@h#pWL(p?Wf&p1kU%XsfPKd34JDJISKs@VP1rqh&;ol^isM zue-s2i5+WR60^uM{#8)5fKV0bQd=Z1Z*KgBd|>1ud1NPoXP2dR=}@S;;v{nsg>7xz z#$`q$Ue_>uTtz}nOIQwXun;E$EB85PnS1rh6N+*8Js4&vs$h9UGkki&!Z2}IHB&%% z*qcQJSQ$Y6VU9(H`dBd_;KBxjgn@z(Va$4HO!jd2A#Au*5)W%gXx@#S(y^BX-f?TL z-`)(1AoKf8U-bJEx8UwFX?zpO=T2YIf5#($qY&rh)xTjnGrR5pOa7PUv*kWBcR|j# z+ub&kkPE2L>9_BmZ+Aq1Q=!)z!2Q;lE`X)`>DfsCym>I|+{fn=m;<$H>$<5JzFT}- zWaV>pxEZtx_WJj4qc4Oy{GRL4K`hT>Q;_Vf^}gFsxY`(1KZ#3SLpNHZx;xm+QyD=@ zC@6hZy($TX+*72W8tD9dWK2XhfauI0tI&XtwdFx^0HPxtQ~?hn&Ydoo0*AFuEhBZv zoVwGALD zxw_;4RGVm_4ubUA9)N(|Z+x{}@Nzm3fMDYU-Jn;lmIu{>cJmk9zd(*&B@&uTkTYf! z4`^B<5eHR=$+iqjG7(;0x*6E}N%B;rB|tsuEGKXFZEZR(-%m0&8J|O$C<^$kThZBS+x{tw)%Tez zTD$7J@T**PpL;oJImyd2X!U*A*zNXx`0DU4O>npVX)W(`P1Gn5lNkQHXa;x;+N!-b zBh9?GuC7c_p+_%nt^Y>KcdrOd;NPlE+v`&yRW0d0$wH6iZ%var&=Y_622I}C749jA zJvV}!Q}6^TfmJN>8}qGY-}LpG zUpvt|?_a}v&n>+WZ_{g+cR}6zS?WQ#3Ojt{?$0)J7n^=Ah#^oK0+);#sU-8z?DUk^ z2?cSR@BI*a$UelLZ_6(&Ld*PJN2ODx+a5a$TS8ym&DwQ6@&sm}E`Q4{p&k}mkZLdX zTaf6sS;-h1$zYjL=`bMbjeG{Hi4oJslGx$AzGT*N*LD4IZu^Szub;ttrsL$;ZRX5* zo*iSVzCc%5`|p(dq&e(>ye$}n6qM5H^Fh#$duawKbg!ctbH)omtpEaUY^77AMXt;w z=Mpydwuvf@Dd4YW|L5Ps;WRzst3fMkb6vk1tJS(A%#dw?@{$OYijoM_1l07Q3bcRl z|NT634a;WZMD)ti`^9w8;V?PY#FZ0nB9M0XCyO-q_LwRFEfT5I8W@J?Ve9(#H|*M8U@gi(=WfLt2b!z{BYc&Q14u-WBk4za#wc8%aRoYk1vMR3kyh-z+}%ob z0-@{n+4~zCSj)hkWz`|_wlUYxYN(o}-`NO?b{ok9wz!|QxI`KnB(IHO(~5B>G>eRe z%Hfa>20Wr`;rFn@^0MoFP8`T;=xn;%4KsN9tL|bxLsC@QTBjS~(ac%cj~n^i$A<6Td|%)phDXZ*t(&3s*E@f* zf1k6SB^=bUMc&QB%HfMq>t1!xiT(Q_q(%|VRvw(pP;4R{mMnuD4+;?y4mOdZq+~a` zEmkQ-$Mah~j*EmT*`yQdb$|ZUH?iS=m)(TcC0uJ2gH31VEJS;U zbLu6VKK)Pi37rg+pY4j-!MaZ!U(c$HONaBU-FG?m-t+I5t+}x`XDno@X2x?a+QgX!+fr}h&x_s^ZrWZe6d8?VL<7VdJ`KngEUtN;3hy;L5Oxlh6;IvE2%IoI@L-cVv=d=UChaWu8*agOz{S#rukU?BK`Ro zPNzt%S%R4)2UJPwL4!>f902B8SdboGV67Ngg(y}TzU9L0^z!fX1(EBYpHeyHc3bY* zSc02wee6X4*fo%G3YS?^g zHNd_I3^=&LFf^CKSR!8St**GG#T@-(>OWCl$s!h1s($gL4c56XO1_W!?gu83MXX0S ze(b=P5SaObakCMwVQDphF7o#j*;C zk2H2d0nRu67pe(nHM%ovim=R~Al6w1i75KDSSb(1;_7mrbDDAxw@4C*R55e;-=8w| zy1_qiwU#A?)7AS(q+!j(5FRE+65JOV+URL8Dmh`)?GB*i^hmZ(Yhoy$cjzRN30iyv zg?$8)*IkecFq(g7SEq~Uw~{9%bLZ7ZOz`}9Jqr}{Sm)U}R%Gc#P{+GkY|pn@0&e;H z!-13H$h2&rXT0y*g3h*{HsbC5+_qKWieaCb_6_}+dTKYr?p7Td>kw_ETB5aP^|af6 zJFM-OXItvz#PxKauC9@uKcAhw*I}RBnrwLfb*A*|JGJ~G3H=Dxqb5?3z-}7tfOi(@ z?YD)oMJlZTQEq{et_eO`0OF%btxQBOg2Yl-E*$1~03sNKxlO+e%bZ-`H*W6xYx@k_bIWLgua#<6>U1Ucd`yn=!ydDPu1|Zgp zbvj#25MBS`xRe(|Xz3 z+3jdbzfhx}Mbno~gZ<1uv(*WoAZdnBA_DaGv;;IzxnOvI4Hj_bUDh(BF0N;6(MqkPk)+}d@+r!|)3jaL?lr9s9SQm$6R)$d&M8WsJA+Gwk)@UJ@BOsLJsn5A_2FHwtMc1vc9)eiw(`g&Dq{^fcLt~(2Jt*OXuZyAQF)edd;yCDD!!kW6Cxe21bF4XpYDJ8r7J>!GbHM}$d z6$&p`8Gb{Hm*Yx3Vv&-9hfl5EwuIi%tF&bB?rGH)c9)h$rulH}pB8Qs9#jFXfXzmU zN*z1^On>84Y(#W-D*v@(O3TVelRcS9-ERtzkEf)CurWp;I7Z({rz1l-4vxYyDancK zLz4iS21QVFUMEY%+TpR;g8H4OzxAFii_CJB?ZWxzLV@iw)isqev+>JLynMPThj}*W zxhBb_vaf2Vy)@&SkSR6Yfv7&c^J{j-By!4ysI_yrwEyb`0QtC0JXHh5SaM-Dq=B`J zp$mTFPzqn5H=5Yr_&>yf-lWw5L163s*5$XiUvL~avAq4b2L3P3gV6Ypk1LUMahv__ zTSpBk-9`^fOjM1UN%l~87$UPwon^+~qcqTzljrsNyf^vJVC|tB#&C45=|1IL&USYO z?exlH1*r{$L!oXqeD;enG_D0P$N9 zG3gDZrIK9v(qYz44YFfyK`XnenPpSVsqm^i6hR9a6F>S_w62;H1$8&-FIWlku1S5v zT_7yAW{RhgOM3<#^0%+IP)9fj|E>q>5^eCuRC2Nc3P-z@*ZnWlQ8;)T^j~)-p<;yV zZZwCZM>djwCRS!;9Zg7NT;>Uu;NdpOPM5!q>g$JN{_BC`6Ye@1-&$oEf0|WCN?feY zd&oC$VnljWAh_>PQyko`gU8}bR!Syh6M;3!G|vWzvzD9o%E!{kjzPt{kRp&5$%<%r zXn{qi??WnWDp9FA)7spATR~$ssyhn)lzy8$auVX%B5uu-w4J(O@vw&OJJX_&lI2BL zQ2J}RzCDGBgoM;}B_reh3?(GnRt!h{YSwTtF~UV-$~6SVywrj#V)$GKf1yVxQ0xQ?*7p_A^>7L7zWMIkN?Dy7 z+WdIaSIWPpeGeWn?PJ3J7V95T#P8vi&BLUkXM}M}ZAq0+$ACAI^_{&)L>W;%;^U(4 znMW&fv-ionvDVjU`7_NEJJu>pT)oY+COI}Q0E)t#7K21A!m>{hUFi@pmLUM+tG{;S z|01ItQz=BMvm>|sDc>VpU+Bnq4 z%eFBgSsws5h&0nbqSF&-S+2k=Xt3>ZtdvRdtCZu&*Wcfa)eINzbwWc~$0LuK18e47 z(536mD(nW}A9P!?OtPz-dXciBlIf3%Lx`RE1I+w~MN$Ti;__Gqj#%kYBh>B|o)X@K4{Z1o(3xj?5aM7r`x0M2 zUHE%?PhT(LV$;%0c$LXGLZiY7aFWwH>0Y>>-_E; zq>D`y3R$URu>0{-KechF?Xt9pwuMWs8NF!&vNwTRC59*8-@$N4K7n&=R4mOu3e>tx zLL2Ok58@8z@7D9@AFapD(_Zfxtvf+5-w?jDTT}E9W2j$A(;D-P3Odt*iSkAI;KO)5 zN8?oUGU14K1u&iah$Oy{mk$USdjF8r`wVjwtg>`MF{_d%=U7NgnTNUe3S zCKXPD&p_iDD50JmLqN^&L$5OckX;RDK;6fmz!bM~fFvLz|LrBg!65_AK5lbnOEqAo z=B@MAzvFqY!|4Ud;{jYnW6JbI!TH3!NG)g*rpx6aS;@MK-+{gt3$FvkPuyh_-f!-3Ow1VH zt>F7oYbUb9copU`T<92ep%tT9`$I>}*|C!yla9H{ki;&6LI^|=kZxzvA z(ffiOCKpEw_kb+V>;h*CgkLa#T76>4CYUsw2!@C$bP8g4GjzASW?J|lwP5D9khtPo zZ)sUxr>Q)&u}9(6;4gLO^oFf>PbFc-E@Ci^x9U{?(Aw8)u_I{FG7>rB?F_@QJ23*v zB7ORn`c6D+Hr|X&K9I>uG@q-aji0oJJ#1>HIcTbiAi|FRCkBC4My6)krs3~C?m@mC zt;p#-*e?KXf@zGHoQh%Op&y-_}W4_pa| zm&3yud96WoXiM3lcN>4P0Hnn8Ys_d%&u0s#w9u>_+OBC4>+KJ2^DGX zYCH9zQ}u<`I(LGM)LZ@E+zMV&3(yd1C=_L{H2;Qtgld5yK6YW|H$lA1n8J(aQ{|K`y_xXY@8!Y}Za3TGuweKX0F%+w(szi`EIe z>6M-5S$4n31N?+m8X-}c@P0yzV7owWwUiKkhd5Fz_<^$JZP z2!IDuq2hCA{Ay8OEdCb1cMb<1(-ffYv;aWQr22*r%3C5X~^bKK6mdRF$5jB;qb^fD~NlfZx z)AvcOQ|0xS=H?iX^`Ca5QkYUsF|?_%QpnQBZ$Gcizynhbd@bfn@K>H<`Sr*ihF{S5 zMBeMePJyqRy9IDl)#{BIy-!umZ&heL@AFWNZP(#2BIS^_=QlKxj^;YPuDu$jn49Q; zupVjST(-lk;LX#Oha02b#32~+zXjDVSB8Tf^V24BNLT0$REOWYS-4M@s^b^m zf+tbms}CmQB30MlKY6~_?yi$mdE!=<3w80sZoH3<_m*4gEXJ{CWS@$RirD?6{g50(vgM(OMnhw z093P!>~B2jWgOi(45`EbGR_TP$i6RT!ahLtlmZG2S`kD>lc1`wZ}}M@rxHua@jav< zAA8+6P65E8Ooj!3kh!%3bU-HVlckjwG9=IWiza}G&6k1>r21xy{>7vU9y${Q0 z?KfBySHKjN`f2hy9rtuKEu92UAr8%83oz^`(MRnlv58~mw!@Yhu8$`O7E<@sb_jC2 zM?4{XTaV~{f_#8vDDCIUCsm*Pc22O~EN>0{9aT38&;UBGDbx#^cef|X?=BCYssps% zJU!M?a1YW1-k#Mz8eSs+I@j@%pSA|9Ct;1e+O2+A^y*j|-cB+FF8m}zdD=h4nRiQ{ zNfb7C{9u3JHG?k43_HVgF;zO6PXr|vM< zH)ub~sE@ZJ3AppJ2`@9Gavnh@IMo`SNS^Q&!8rW@DiciP5ZOe?ia@U8@!8|Yqq(q| zysG32qLdlC*f?%ru0dB{=}n1)eOk7_#$$gXa3pIs)72x`ZuX?w zC3xXC8Tg#?qSlvJFo3M?yjOBwaxLKBlg@0>BpT4*P4?t`d(*3}IL_?#_j}}a!l4D- zIWh^eW{cF*_=VHTVx3djIs_$+kYUq&aB8S-2=EjY53qn^Z`XEq)Y7nv=!y_$i+=wN3G-J=Rn#`<@GW{^CT6Df_dA^lw zICla+Tn^ViYCHQOF+yhan8w!JNK?ql(EwnJDU{{oz~G<-;evCh=&BhQaVky%j}&CM z6|H1xtIhwx4t_V9T^xCOY7Y@4;om^>zkaWBBPC_8LjFyigkE8Cq+Nv3_(N{6%S2Xf zKF)e62vxllV1l@;;V8jnm$4!ET3ea5@opBhe#S#>2J&BChK}})8j0Qu+v92}-TR^S zX5i7CTnI~qEtbhn$deN8GmViU`S&K@ab6}i(lpGuYQwdSWZsxh)2r(kT}2KGCp(@B zE9j*TEjhkAx3habQ54EmorF9=RVVq=g(r}V2E9LfWDIeMyp%#V1Rgpu{%;~nWE2nt zX)6rAeXFa?vqW#~`nCCkJoQ2kNLF#6<5xyqVDO=JV=8X4S$#^=H~cwW8^(jEuW-Bl zSC`G(5xMx;+*ZQ_P0eE)cHblEy!m7Iht0>lS6syN2{PDw}7;zpvf{%xDX~ZVvr6!hrR5Fs7Z0`LXtP17e;`&vaP>wDf$N9P!w0pIV3FDjx+BP5Q*r_hJbK{3D9j|Xe#?A5` z62cj=TGLSo+47CoY?5U$ToHPA<@$N?ULLQu!`chWRSx#X;$YzSXL>g->y8ks}3 z7WQ2`qB3rKd!f_qixsgFyTL8f@eQLO-^;--+$+Rx%EbdZJyrH%4>yGNd*G_#DF@gO z_`dDd4;|?o4nDfN3l5;b%2l*>8-O1l03#}KY7W~#V=i{|<;dCFKiKV4c9=s1NaSbo z-Cix$8CuqD&AqHfk>qjbn-F0fxcuuEIjo)P7Dr?q6hlVg$G>70#NL``m)6Y$;@n%SZx?!S07NuWsfe2kF;#Sn+UfKfgg6fOxq1sOvTUG$W zy8-o}L&Ph7-*((bD>JN>yIST`^P8(wgx(;R0y0pB&K+HxUaV4#o@(9E73MAY`*$-r zd9VEKIBzFdp=h2NoJN&Je>FlSX%L-g)bV#VglU5$=%QRzgi_Yxar&3?e4M&K3{)zyFvZezGH9>JxM*eadjRawDuN3Ev)Z*cr%!! zQabpsn(%SAl;i8(_6Mp*1Sv1xJ0e?ZjB)gBZx6}X_{zWuPF7~$gsjy3m3MFLQ+Mka zJsmv^n@-4*uN0gLm;R$`CY-T4zkub}p~Y4|0`TMcu6+{%*~MAhIO)%s5AM!6xc!Uz z#jWOpU93@uCho^=;{K&Jwn-zD{3$_~<#Tob)_F(YXa1i@%IR?S)AvOM#6DF@gveXd z@jK0L*VFeI^CmPhpgu5FeE3&vOG$c{+SCuBoDTyI%2V1Ah0Cy1PC(tO%R9?O`?@>y zx1OC)-p_RG<{G2GMszBA4{cDgEJ!Y;4I{3zLb`0_ePL6xr*ky1mZx?C(M#T1Q3OP2 zE}#RZKo2Zr9l&5$$C__>Pvk&{H~(SH+(a^eahD}X@tv;MwS8nS)D%oxO#A@_mT4@D zqDH_)rl5hvsy6zPHfmpe$BisPnhz&phPkpy5Xz56dY2QwWSY>$h1rnpi2YwcKb0btu>z5RgGWZxp$E);bCB_ICD! ze1!m-3P%}vVY(c5?SbErACIzvzn*+JXI+gF?gqU9pfZ=^ZDTim>8K)?H7Jr1W>92N zZMrg*0hU~o*OKvjn#2r?ps3~U%{Be!tLLp$;0uCDjxA6M{{>v89qBz z4!)BEABTNnP3@&2g1itD9BYHV|J_-{<~t?OA^dg8ciDDH8JMf{5Wzs$B(UWJw>-0j zM20Yv1zn2A2*8~(9xMA8Lmme&LtMV(G)JHC0p(Ap`LXStamIL|n*5f+fTWfy{0`i8(8; z?nd4dEc?JelPp)h5^BZt-`#mNdN&Jla*#wOebh!@^v|;YO7H(2ypdSV;(kZPDPX$u zB>LpF2u%k)i()AyU)GHX4x$qob~yZ*emZ^elasV6rJ_C|w~-k0 zPFRJY5=E590Ife7PTcDJTxfuUiC>ZqIL_{*%{~J|Erx7K;E8bFKtfVMiPv#=ca+|*=WrJG>C=Zd7rXTpg@W~RVI*}Qwtk0E%oz| z1%WA-60f@uuyBh=`*)Oq*I!ev+5u=JwQul#BM!x4BJdSJPKJI$+k-n5* z7!?x5)XDQx3o6d4q&O!YkiYy%Z*168_+1uJ88BGuTw@=S$~yDcf%uPE)qM}a2afgx4M z#Dqiig?#?cE7mt_3m#Uj)sw#UmV&E8SelzO(scwREbZMF|2$XI=NRqhyu(rctXys^ zH|tNVSi4>4<&SvzLMZgMf1Uq@h15qEGk1Y~T>G%~IU6XZ{j>ME?AwSz1Ue2nFobzK z@zk{Z2N*jX8&+1*)LP^G9{}uuw8{N9%^5!o#^SShnL;LMTg}s4T0bR5z*5`vS30&@ z2}bDkCUU^SZQ|dHpE!${Pv4&q5D>n|`H^g!eOj?tcYS`OSwl>QW=FpRp`bIjA=H=W z;)_|H&jM1hSVnLYw4V#^(f^ZB;-ydX@I4$)I${F{&rlMecz?PxfLl_s~+7O{|jNe+qP2auS}X!Ricw>Ybva zQ2BleLP~djta5*A*xk^VHW`ARMZ{Vs`$+GweS|dy}ks}2>8jA z3i#nh!YDu*EFmng8Y}%r6#bi2GjtlSss8TF|C0j7YyKd$)Qlfm_3rw)Kc#bHy)@^| z_1>@ZDf9+?obYVen%Lc`GTr9QwS4?)(a#`hc$=eqwyItCoG{8sId^7xmv$b(E0XW= z^S`^OEDLrUe*gK@W<2lce9m@~H4Bg=8vu}XC%PbyQ)LcthM6LAhxN;e(2JVU{`<6S zwp0F@;weJTt*cc#H1#?fY@B{Ts|!*h=L)f5(o9sL?n~qrW*usqh(x&b0_wJR7(?Zn z;3WR;pT)$15GrIs_*bz+SI~e#aAbHMiXDNY1*8%*e^XcLrqUN6*B4M4KGp`kv%jsebvM{Xg|%L94kCNbKi!@;?QnH{^C>>b6S(@)vJ3P0K%D>8+hN zW1CkeY63Tv2=e_S{ASK-e}8l}!9qa-HKamkeCUnd>$N(@>t$7SOi)U>Y3H+^>3KzB zA$mV{b#f9k2eA4lt0J{MeFqi0Y^EGKHmFcVlC_Pfk71I9@yi+8Ypv(TeXvL&JPa7C z8bJd3$OK4>eA51fre85jCv>+H99s(&KKPsur4Vfl^r5Z&6;b-{HuRAjOn}^9AuBPf ziku8>$7VL4ECDLlBO?R@s9JMnC3yMp90-#UP=ne5;1fUfvvD6BN8_CLKAF{3dSc^- z@AGYeEwJl#c;}OlDrNY6w}fyl$o_=k+`vofb{su+{-S_r{`0z2V~SIZ?Inb#kJ%J# zzvlV%hs3W(QKb=~QHdo-{myj*LtweXH5u;+466#nO?1S!N&ID7fsOM6K3LO|M|!zqLRpUnNU@V_>c&13(r5P@P_0e{8Q&)gpQz`G6_J1}MB!5K?mz z=6&4*SuNVsUMSXF1UEwndByGfd7A)xPk$h>@s;Cf!=0x;|HNVUMe|t;+WxW2??*S3 z=Qz7{Cxa6vhWHhs0m{#?B)$oKb-V++Wrf6`2V zSRYs?tJAM*{hLz20FCegbIk*jVCy=}e&pn2DsgIjxx?G0^O_5S%%=~}0!@;QViDCY zTy4i^AdZTHY34xU6n-|SqOWj?vzkUx0i44NEz1aC*-BHPrlJM0|83*s`Vxk*VE(Ev zAD!RvP|sqgMP-1Dkq!+ji%C2#S%E1gW-uj{sIYf?14&a{{#v#-p#lPvmEyX16dy(q zJz~7a7!MHbSuJ-a$X+u^>o-nn*nD*O*Gn&+WYM3m|NnXcOzM_TQuu}n?4}^g{-Blb z?KO|!2ggyV{QPIb=H8YSOlO#f^d6v#0_)t74GWd&6aa zm#Wr>uBNWgYHM4`2~80Kqr*`|_k&V=2o5bB__%&y#Eh86FQ_C;k8Hz^of2A`Y1-d0 z)rShVgrNQlx=j`fYl|iU8c-3OH_eS~9x`Sw7YjXTM3sh@^U2`}Q$$uYNjwIuAc2>j zTzx!Y_BN@hEpMUnpjKON&9B~+XG7XCFvj?H^7O2YMAB-6a!2A&rwAC(bv|K( za)2=WQ~XurR|kXwygz<}r_R4AoiS!+xyHH zj#btDQY7^OM*2qYkSI}dx&boSP*xHu%`jb7EF_UMDrg2@RbEYbKw@5ga#FrNF`{2m zW+^p>0?lBknHZZayDW@~D0ZhLkBwP@V@fy`(zg-YFh#JQPj8}6e+sizt_1N|=+2HA z;B2+*IUvJ`c^Q!EnUE7<#D>=6IpP&3h}6V9+pK?z%#Rn;_VaNtOClgqr-_`nDO7gWGJpBL}R=xS2G&T21u5Zj&J-p!o!RI|s z?=!LjBks?3W}JxY_>q!Qwn}~4e5Jo*-`_@smhaIr^1t_yBnCzzs^B{V2x$S80K2jC zC8iD=tQYqjZq*>X`uv4SyuC;-zx9c>WC}Hfiw}Z^10C~)3ibEu>Qh@sM+e$6qoxJm zVvBO;aN2zWA)HZ7!}=P(ard(2aO=O4G`jAg(%YZ?5mggW%{l*x3a;krp8iagoxKl& zw&DkEaMD~sR(B&_i@CO4700pXX#)E_=6+oGeRDa@F=f~_8v1pgLsPPcT6`4M0RrfoL zn7`DrjHXoNiu5%FKF5;@YvHM!@DU}421TPTQD!i4qGy+xE?b&4yI%pZ0d-I+e9EmZ zE|NzRIDq7fMqS_k%ka+A3$66=)cIRyR8&dqu5Z%A#@kMe+07_!?Bj6fK1*4pRA?($GDj1t4A6qyV*L6KC3Rddy`OnIcEg-xn!N#8x`l$ zq7=*%Uy&iuf@R^c$d;KhMJ%g{wXkSt`V>hi`ECfx-GdZC0++;pN9|I)C#UNWU2^!z zfmYX}?2YPT!K1aw_N=xM(syrlAQk>`GBYBl&laER6pp{#+pZNU)vnI@KbmxsVpoe1 z=aF^>ZB~79&-eN8&_N<>oJ_bcS-dYQx~XTjoVr{aKT$#$__xq~v_$O2fG{E|Mf#4T zpbs?#N&B`(nfW4JcCnB|c^vRrf#R4{2omzT7@0~qxJ@HRm2hl+KUWL*81O+DVW5n> zI5m>HTjTLHs}rvHW72vi2=}PkV<)-Ot=)fR_^~i@=fv|#Xo>k7+l=-{@h&YR&}>R0~W4h#E(Yuc#{ESnAaATmG;@J?eQt~ zgt4Bp?%!|RzfOk0>R+A(a`e3L5=EH1`0nbL@${te-;#GClj^j+^$no$DO?x^>?$Ta ztngn9Wg?*zF2=@x8WXM$=m&NpqY|vx&+7XS@$4^K)JG$%6MgSTdN_n!vwU{ks7IKI z8o8HGF}qx7^z`ASaYU>mOD&$-j@M_EJLDlymBI$KIT&aL+s-S2VQM z5!eB;V`6-(W&RgAZ#~Ab_nK7W$vv+FAu_ywt~PG#x9bFVOY;M#t?v~m3&!Si%8raD z>n_--K0c2E4N&gJ{rtW*Mv%gqXwN+K4V;nuxNj%_F*z40yx4aP*A>toyrI6j>e|td zb^t##6zB6FUugEhDJE{avNCKB0=Stz$~{_{=j0x~j3%$=YgqjNQql%U>3l0Q>XnWqO2~v; z`=<(ksi*%(FikBx^ETf<@JaYV7$7H~n4h1S`Ol->V9x?a`z!QN@M1Nwvj^lLxU0jJ zdN{Vd$aOi9~tN%sZ-VIXL7&Mg(&Yke=`hBsS%n#Vy`t)KaB(TSl_ibo^ zocVJYM!cK6m6R(vpmA)Ty*t26EW0uqJ{2B2{2Vtj#!HgIBRd6ScZhl)$m0NC-qFr# zBA8#5c%DAa_t%+TB{eII-B?vsR5rQHP%gW339rpE>hoE8g@pNhNUcR{^kh0HvePc) zEYI|s+X;{;_-NY6_{sMxKlonVck!q4LDs`X-b4Sm@`lwYK^;MNS<7b6B^kIUWp&xi z`A_0$oKpdi)jn~&_OetCC4Y&jCw;wIZ%W*&5WNPP^B=Y$_Kw%RkWsF$<&X9at*gJPFh5te;K-Z(|yPjrKQyC$f{?=%ZM+w^KcYWODm~5 z1TS!b5rBfF4YO6=rc&;WGU1b;%!lg`<6F{+T3+0N-AnKr@cs*(lH1by2*Z$v)PFb@ zBTX?8Ak&A=DuQ|HZ@&@)$P@(y2HE)NMy0ZE?AEO3rax$x=)U2S5x^N~@(bv_2u;+^ zihbzeKQ9gtu0j>C+eS5^zFHkP)~}c0BEMajtsJ2%cNX|9KZp!H8acK^vGqf749an)9-u*^ z(!^3^p?Y{~Vd7c&wK?9Yxm*Y)uK{bvPA($SxCj0N&@h)-O@l zoBD8Mep{@N)MWG%Mx=YL^=9nl{`IWHNf2?JrzRMsq>{4@f>B#yOXa>r2xZ#D^wZO9 z9yM@!&yY9*>N56{jH z*P!ze#&6Dn>{0bqs)?$ElNRX^V@A+c`z{9hD(R?Tr$xZRw?T(n`gq3m6;HJfBHDd_ z*_HysyQ{VCJHFD3(iT7qKT}zVe!eFz6i26el9qiCb1ZKS&`z6MzF=Kv5O8I%r`bq!E;ZM|T>be{C^7pN$#c z=33R>M^^dual1m;4>$cqi~H8`D;Veh!x1c7U#{-#w)>sn2i1yxL^-rF^PBC;gbQW1 zdyeW7q3G!x^FPHu&wmMOD)D|3dHeTVLA+a+ksyZUjJb;e`^oriU(#*fPcDNqWVj658po#Jrs> zf*fc1B+ju_@{kR`@+Xo&uDDc2BEO0jvA)->k@=ln;pKfhI#;*!P^dsTJGzorQ9YY| z$90vlFRtJ1;9uW?JcE$_nhZb8>cWo)64TK{#`wCW8C!$ih257`>l=OZmu1bkrl}zR zoWNZ@r+}Msrd=RwanOEb4}o24o?RE6d;pQtFfKF_IafVJT7AW#iK2|6ib~k0zUoi! zlSjMX>1QZAc>VWfigc&G%;pE;v(@UGf!2PxFifC}WgkaA&}5`P#^;Vh-j|~V6&ZT# zTs{_wPydBelQx>7h{#eTTE5eLC9C&vS-7p`YsA4s)P`e9jYl6!q4Ud1$iw1NP0vLO z@v21W;(uG@BB0o9_Y5+#zN3h%ocMi^o2=RtZng9i9Yi&L&Z9WTibZ)K^n(|8OH_j>!yyBiVW zU0a9<_anjhq0`V2C7##GS57S^=;MYLFpJ#TO(7(ts>x{yPcGui`mgm0$%)ig(k3Vj zMurRWj0_Y8I0F)=)+h+WUv~j9s@Ex!kqWXRiaI2v~IIsEEOK*j) zaBO?ZzIVyY!0Ep;RUC209TopnUe?~oo910w`OQ>M8v_wgi4i4%EXe3l27<>I3;sd- z{9Q|s_u9Da9&*RBJPbsGAghjMPi)7N`=v1`_Lj*JKev~<&&Q2nVxU>++` z0vbRS28aae;57fC50hYj7GlE)rozxV~% z@L4;4L&k^Pr2I|#UP-^P1ikOjXr%eHik!}YmP5NF+MAe zSzNvHAz>zo*sv9hnP~t8+#kaTRHKw&o-n=7Uv?+c!$@pQVdPxuIr|NJhcMY386gqV zgz@goJCb#}c!MLSe7knU5D7=`P7;M+G;0!G{G|v{20uv#-W+hRfW?K@T@2CGjD)NY zjgbsn1=U`JuGT+4da^({k68Bo{#2`Q<}k0-H2fgg;K>0_r-WNEtBLNusjPJVQ)j%f zyjS6O+H5S{f>XP3H$%z*?3#5%33S%D@zN@QX0`UNWrBr_6DwBp6Lx(2#SCGWz1Q-u zPArJUM7FgPS9^Zvk(&$`02E6`#el_-Z5`xPo7;(6Zf|S-MJt-qk|%bV5h|~?UcuM1 zp7z96%iKWhoD!~SV+%rUrFjkPwG9y;2ecVPhKi}-0s2EtWh@bj#L5>xs4+GJ4E!Hl z_ByrZmW*Dv|E3y!wHKHk@yOAO#h-KiX9Cg7miRBeO>oq8Dj^G6Z8W)U@Z7Hu^Hx5A zliG6@^L|e6Lzaa>n7*RH<*D|kMdv7uyK>W&ga`Ro+wK=iHtcY+bP!ESDx@oR$(``K zi_{nJ5vB2zA_jCaBq)A$kaM}zK6E<74v7-vTUrH#(U|9y=1k-dxP3#z{yokf>uLtC z1%nSQAwNOCl^w7Qfb70Vb3w1O2qS(3!67Xh=c5Tt>QBpcJ>wCpjNK59Wh+Np=v3e) z&~JPp24WpDWH~!}pL=?mgxve>G{fepzehp06*1?UB?_sV@%7&XIju9sW+UcJP3|7) z9Zk(m>DAdT@dJ_*H>a_l9r8)bW0w4RTl-Y96zCL{LL_dgP%248EY?^s%iu035!w)C z7;cmVgKnAA;Z4xY!0VUTlw$7dwVR_?G03I#a_y^n%ln}zFK6f%TAjvp5%f&*e$XiZ zSwDZ|-?ooj=P;2|nJ1=iEYpiO47fDEq~wbRKg0>e1h}uduv_I9^b|In+xRi6F4!CB zbHJo*d=gEpAER~gev(f}bm8|(WBGnKA0TM8)DH51kN}D&NU;L|1Rb2bI5d6n)@g(w z=I-w8CPP?=@G>TNr?olK+K&6t*btLM7)u8bu`o2ZV zT8;kepRH27Ig78Dx>UB>w4Guhy%y<|ws!V7G8H7?UO&b!j~1bhr4B%s7sIDO22_V| zNsSZN-<;kon!dJ2|4h)Pxg*Y*b8{b&W*~ApyB%tEjS!mi=AZw<8YCTY^x%~{y=v5m zQW7-tlugz7(NQ)$%VX>~na{y@pF4det`Fh35{t&UyVDlE`5{}MV4cI}v|Eflb(h`BdS2SV9LD$hVD{XH`=ME)P22ma!Tb2*{~`X~pSPYq$N6B(y1$yd z1O1c*AGdSkh;B9lJGW85+JPFb?NL+O30Y^%GEmw{Y-fueJOj|`GP2dO+pJ+!gDMJG zgpI2gNVqr$UJe*fWR>}43-lLmMluql)W%J zJCR;uO2gft#tp>}L1oaH@##n0XLA}MTDd$C7N4mXh`eB03kUA{laIYGnL;=Ma8kC;FtqD&Fecn44@0vSfOLuWCQgx_IoL*In{+ zXxGH%)ioY9{#9MlF_N#3UBPz2u0hs51Oqq#Qmc=&xr~!k06XzYG%MG1Tk3X2&aX6!SXkOf(H_^Y!He?B0-(6-#X_@l+IZlXd0-*~~F8&#J1>C(H zKF4~>wza)&TsA_QlABqp$SYtoiUR#te%3mDgrOA=D+KG{%@VM5N zi+~2pJjA^Z8rs~TUSLnS;0X%Q3Rk1Y@L4&Zfd#3}Aiq4i5z!M~rmu+*$kTwX^$bM` z>31ui*@AR}9`v>{+kx}qFSe=mQCS*91Dt%GH|pLyM$^d+9iEjOTOr+$4)Un0)^3M= z)pr;BPTm*QcdlnGZV+@ubk}z`pKuY?!g(QcdjLB=m<)pb1I>V0Nj0d4ukeFIu;N=R z?>4K3w5aHGS-?!EkkF5BqkyXK9cqq!UtOaSB0>=`u(7f2X<4yDaSowzP7|GF%I%FM zv+)D`o8J7MfgyxVe>88_AzZ2ANo8 z(7&g@MCM->id9t)OK!@?vC5Uvn*a3H$w4&iqX6mL)sFwQea>gYFZU&V*I!jS4$AXV zyvX2P^UMkO+zeB1F|r+qwX$U4wghIhGFN|?`*@kP>b(Jn5)nxPo=gVg ztx`|b9Z%=$0<%AJf(sP-4J67c2S(Fx)xN*j(KRAS0IJZkv81AphEFjzAZR!$%ASxN z9sVGX*>0LbknbrA0$yb?kpacmfd|a~Gx9)BDLB^ovg)bi|kMv2t z2n(R2@mz+e-h`S5NYU`8mhzP%GXD`VszfT-#;@W^3}z^XugFwUXj9~+)?he7k_r1x z@f}2)sHs|&`MTl!OJIu#Nq3yCe81)=04Z_rMeoBd(FngHWtcIr__N$-GzdqMl!=R< zsae6+#|rX-QF_6xzg^fGtVK~$^%D+;8PiU@7^|2eLihU%5LgdYzb^f9&7#eQ_%?!M zyzJPx8Or@@>F29VuS*S)jqO|K6F};A(x7wCeh#YV9r8@>ApVfgdR+f>fbbRQ`Y}n! zBpc=OEYp^0GDl?>Fk2!4drB~8hOz>upwY` zOlZ&m_rJh|amkbC@t}oXy~DP<%HaaL#JjD_SFc6jAA-5QzSAoleZ9EG<*Vievh{0) z1W0UEow%(7b&9U7Z(x(PY!f1*;Hjd@^%xB?P44_KfJa@l(aNEgCfmU*Gj0gjS3BllDUK%MUZel>4!GmvHE&nz;4-| zi|D4pL*dxUp;E-3XOe6$7+pdSB>t^_n_;qY$N#b1`Z5mj)e?Rsx9gia4IaGauB*BT zme%fZ^Z(t+G<@$gw#>4BlJOBZI{RRB7A~VNSHdyvE3o=~xY3Z=F>Fo-;!o(d_&xog z#a$Xa`8;j~VFPW)mOs0H;1*9E;4XNOE}+c}1kt&J5M|2}QE9}Z;gRgbzKc%n?nsnh zB7afuuc%az_n;1qz6an3eyBT^G-`VfB#DJPhEN$O33BiJUoU`CX)uWiUKT0&I<_J# z9Km)bU{eRO7lw+j*)k-XJ)|*3L}gX8c}kF}Nn3|aevxxbuWoOP_JYX3&b070_(`lB zk+hh>novl;RFPEC9#`okeVXZ(S{D8SwLe=;U3QHV9XtLztW>NSMz;Ur39bDAoX~imFbZbpOK*;?`i)RuyT3k6Z#0A;QaGBpE@?kc&LiEOT=lyuN3STgq~e zO#DbZ3?$8uSk9XDr19JMa^WMtT63XMk4(y0IkJ@$*Q5Vk9M&$F_q?N~_G82kcK+#g zm;r~s1<_m&tILZowT5s&v_04v80u2YKJdj9nx5QodTaX<9Hrt=D5wA@uvS0t zr8Ab3SFCZU|4kMx;@Y8`zq6eUMb3dm14Ilaa)z?i0W2~O&>s>a0?S}_Qb5-DvxgeK za$>o%;8fez&P>V)Dk=SJs4@j95eumiiAWKIG0P;j@h5FJ!hIMf5OL8NFool0TBqQx z(cd{~uBYp&U{tnyHQdnP1qbZgnvo8DG-kC4vSv54{ypIsv9S(axK0^B?=*9}D2!LO z=w62mF{UcQc>12e*CCU#cbOhhYu71uyIC9hDhh56HS_p;_i@zLXn0N|f)QgeRp4{6 zV92uZgu;qlJEc9cWjPhtU=s%O4!E;s&z;s_md<1))jDx?AJ5z^ZOs+V_=aenoH-;- zp+RL}8E}ZgM)c;sMkZljfphy!nG_bJ1yaM|?e9+pz(cJFm^FsPMU5%0~);3Zvl{r_X?9fKqNqV3_1ZQHh!i8Dzin%K5& zcWh2Hu`{u4Ol(^d+t%B^d+)#M{nS<6)%Eo0v(LubYn`1xaEjb@_b+2{Z8$Q!9h1)S zu%RjP3E4{Ey*cXQX{IA{P5x}%UHhOs+wb{)TH^RcDihS%v-P@i9CY_MivaaFc-|l9 zU8t}$8>rnTGZy&6mYB*!U^liotXCgTZ4i(GoKacFy0jUP6Ti>&kD-^do<6doz{*KR z!!D-yv9UaG2H@mm<@zx*ptDt(=&VLC!8{`Rw9DX9?1X0i01lE|U58Er-vo% z9%J^v9ZysCQcF<*#Q8Q42w^iH)ToG%ok~YOX?n_{g6kNx2%8JeUZ(i_yoIhQCWfk{nWULKrXw0F z03FVT(+1xNOm{C&|HH*dj1rkuD>YMsi$B|idrC92Y_9Dt-HIj~@Ee|fA0ddgSFS7& z6hhts-1IbP1e# zmQf2;Pt|hAQ&ZK$ykr8nq99BQBWuLnKWZ5H{yI$=+h`hUTnMX8h3L#j7Qc(7qUnUZ z?u*A$`4Cz0&1A&Y(8NW5Q6{3o24T1S3N8f{W~n)?DILs&D|f)Dt(v4Wu5|qw!2>4h zk`aCwnw*8dHKi;6OoDt$pKHGwsNw-SHX3JkU0g!9Y;GD}q~R?2dl^k?;Dl{yMb3H1 z#g`uNpL^THI#_7>N>#_)V21Z1kq4`YK&JJ^WFV#rmXBdk@2ezzXYWwWIjZ;B*M(7= zg81$GwQwFi5oQTLm0+L|W$x%g?s5v52nMzRi;IA1^1o{vAkEX)@R0`_>cypnh-{WL zTWtV{7O<87St<(80qZp_jY3EsXZQGqIfUDbwOGZDH^UCF0RpxL8|ludepHRpO$!?I&NsY{|cq*Zj(Ev*3m`lTap zDL@I64y#J?Zvq3Lp1JOKX)~WQbND#mG)T4~w^)%D({YS6Km{B?lrTBi zI=uzX#E@`@)j5Jsri5wk^x83UnI^6zXF?l53HM7>5fj3Y6?c*}%So$97w|_nZ$czp zJY6+G_<1@doQx9ta#Qbpztw$nY~FmVAeM;+*^$r0sg}d8-e+1i}S|&)^*cq~bER)h6H8$w9 zQQY|0CPNUiMnXfIbNy{SFNoYJ6V2Hh+f$8hhnStV92Y)>2E*wc43bLCe|J4uebOup zcT-bBVL@M4cLP-Jz?FLWmtH)eG{c$EWz}1Lp9`@rcVP|{!q9n4U%5SU9^bhV;{Te& zIdbUe5Dkr?$GyBFeo6Fax^Hb(PO-}O5`AUw2V)g66W76rPR8q-2$2OGgrK#ai4(98 zZK3Scl{p;hIw6$vq0i1LBbp^U%KQc+jiJ?DmxZ4`;)=b7sHnqSGolM95SttyzhhN! zb=^qNIRr#RM`J@leo5Mn`A%Z##6C>(r>=X)EU8iXeH`8JY!ZkWL_dBIU%v-efktb& zeNTujV${#A_cWOc0V6}q%R+3{$2#|3CwL295XQ;h{+mjGQ(XDQO4VrO`*zZ%b7iMU ze8T@;vX)z=fY9b`#=(@>+DB6~7mwDa(apvd<$iEk~bW4Vv`gZ$7R| z61DO)As5fO8yF{vBBrsb;h{LSql$j%60(X4tZ)^6Y;)s5K)G}Ls%`TOZFPptFf~{L zWKppm97C#`(`UsZ(p5V~Z^1{03_VA+T0Hx@v{t8()kbfTQ+|yf|KxeoQ|twq#VQ!HIG_d9L{3$nw0X@RxSnpxk7i&rEY{0lqTxZa|alR4lAv?_uhWYR} zRP<^QykjtHs1z|hJ8eL?qu6gLO;4E`>5yD?Bnc>^001liVqeqPg_p3*iZ5zDBU2hs zr028{8DF&^3VXC=7F%*!PEMjl*;uCkI8CJ#h3H>uHVu;`gE=sqW-EpN$7HzWmBZ0@ zE^Kf(nDKqHyg{2ZPKHRCPGCmRd9|hu_J1@eCeW-5IJ{1BdD-A>nXyK=L{@C<%RH{p7I&ioz`tiYk!5vYa zIk83zn-q;%30Wjx#0%mqq)ZI-e^d9t_0mxQ1Y#5&F9fy0O_BM+k1_{; zYbRa=?3r`eVvk-x7gvHie?W`ze#Nah;?Fh=R}$*cHsvVVeNZx2ezy130<`e3Nj6Td zB9nQo71;s8J|{3458$=u`%Cby;5Th#ZvF*6*DnF#zc25bWmxByoD<0;u*B*-CHZT|65lJrhkfCY2X=-vcGF|6>vsDHq41iN}->s5>Z z>R{p5LPc4D66vcqf^FQqdg8~)^(Ch;51Y0-jLoOc?!qi2@c;5gsPP?`jLmnE29nf| zI{TMV(ZWn<1E=Hc2lbk6%|Hq|I6E|5C?YjtNL_SN*kpsLeCB1pSdy+I?lkAYwUL!< zG}cqfJWR<`HB!F`fC$aS!?S1|SfrDN&Dj6avH(5rrj{7bgsJnhvgjr`7ono38aSL?oc6Mv znB8rXi*-*z@}X!-=L_5uD#Z9c%Hg?lQT4X9ahlZaeFG|aekAqjY=6Vm-W!}%?`_$r z`TnX7q;ABbDyCBaJI*=c0b z|D~0l254b~$+dTU%_l`@_iZn?h)daG(i1Mk&Y1t~Cm{~O{ zlYw$=2(ic>G{orm&r^PX*0LY-Y%QEVhKda^_VV)b`tG;oJBi+A*MT0*jlf2Y;b8`m z_z%BN4S;)RbInl_(Z}@D@7eBUlM8xr=&$El5+30h+nL|yXQ{c2KpQjXtAJMP>d+;f zgHhb!jr01ZnWj^oYty4cz0Pw-Gw~fxz%brYn=}rxXs8^SRK^RI5}%T4LF!9zO^Znq z9SuSNA4B0*+)wXtq7q}e8UXkHL9@ZDeJEmaf0-Yti0=07-9->fBQRyw6V-BE0G%|5 z6%{3rV1ss~DmR^vBw#o=`e-TxX$ktFDy?QeZhP~H9T{{H^K zAK;B1QTB?5>wu6Mx94?F522@p?Au8ol=~4)`<0iSMXzkWl04q~-W6%IPCmD8bg3Q}H$Scfg|5tANM-s+*fBi(f1GVMn0jUl-%(@3{~%BwQ8Am#+NI zkbFxt-YE;kii(xDbq^;Fg(*@ZXN-J0S^=^0lRGtGX63?Bzx$Vdk7(As-c23UUj&B= zB;q%Y$j4|K^|UhJqs3^Q-5NLR`$j@Wd>38_k-_c!?R@5ygD$Pd51w-b!-G&Ju*`4I z+mjc>ZHdY2I+d;;E@-~&tw$7gt`GHnN5Ovw(3Z*p)=i6HQI+rG_RKt$HiF)dlmRf8 zey6e9Kb(I{Kqs=HGLd%n=glbtQ<|PG8};ZBC9xB|yC1u^t6e*{JS4}a?YgX`-vc+5 z{i|(bTNjGoc9r(pXstB9XA%Twu6`CIdq7o2p$Bj?;H0xdFho?A9d-1)`fkiZ1PxR0 z5jDk;Ts}%VFO(S;o<6hguk!Z@FaJuUrmgQX!T^-SG!nB2YP|K@&tCk}oeJ6H_wK%q z;k!^ixhT@VQoE7Jekh+pcek5Io_gpW)tJaiT-qIIiFvd&v6t^KyR*ZYN}ejk4+LI~s;% z(Ok*vlJb{GO}G~vgmCDr2`WFLYvBlexI9%n{0DJZuItaQ+rM4yl4fq!K0m(>4#Nnj zEHqUynuWro93l0^4=ViOKvJJQo*q zo{yQ^aV!b^SuP&+h4(Lu;!g1Al}!_Xl>Coysw+sw8RJR%zCEzoy)xjH=jk?p*5uPV zfwa!FNLn5SAV0Dy)B=#w?wZ>ffpB!ZFA9EAfHrj8=lVKysp|Y<_}!yU*<=$45W0f_ zoVpK_Y(R)`;WBS2@?vE;*T=;W{`p8ppCb6I?@q4cTDzs#CF~7kQ~B?GySiiY;||qU z`2yWHIXYOQ5`epE{*)yc=6~yik0_2z^{n-C ze&KTc?L@aXt6>mw=6byO)9w#clfuT!sC~y#YDsAKB5toAAFj91ocXv*$e~i1wsQ($aY^Ak(GwD%GCqKrKxUCW7UMVjV<8*`?f8xLE6|k1abm+BV z)3foo?2kOmEF{Ug%xwV3W7%H3h_&304$O4y$Rh$l#pxKi+r{#OJ&IBQlVIJX$2m)I z(h!myJ`bzejU<3!O3&<+ojm_)_vQb9yzQB9OrZ{0?H&)_3U>28)|r!c@yV)&AK`Qm z!!#)lx<+EbP8#~IF;pxx>sHeZ_>+ILuLK?l0(@Q-xa-ZiXHS(m1e9~aN5r`$NOP{y z1xYgezpwz*5o_giW-ESKsJdMY=P{8GBD@Y?v+pZ=Ke#{ME=acZr$P(tpoMwVcizAL z6oH!`ee98_#83mOgx?HqDwOpB1SbJBV2Ujr$#HSpLSk$>8?#%G5MdjH7b4s`W(^ui zCS%M#4`tFe>w_-hiD%fYN-t-*T$r*(4MRcQ;N;(kx)W(rmEB~he1~_gehpmgXANr_ z-}Oju1=zS~X=yQ%W$Sg=aWGTX!~?j$fz(VzYD>F920F zu&B%e7o6+2;s`rZwcAe{fYt2sz|QK?W6?DyG-1OpW9hxuKa6XDoxQuvkEZ}oArZb@ z{g<+jUw>1l{j-hNucVQgIT)z#X}ecYUwoA}`?HBR8Hi8ajE+q-Z}%^uyO+T*sAa&L zogP@-)rj|9U9h}drofOZy${MWtLhXV;QI62{_$^Chi9KLc5H&_lv;W~aBALty`BKb z!(IVO%MpKnTqj6-JW1!2om^O7ZJTv?$}_k>cSqKb%JIevH~tx1Q|n5ySlYrNCG@^_ zDXf0^Vv&NvHR9W|Cc$H?{`hfaRUSs}NnXI2a^BvOilt?2?I_mR6MQTjr&XO?k}_7~ zq6VwAifz?s0g;gP61uqxA3Xh{%`9fUtS?<5oF6lo#fuGe|vV4FKx2g4cqOAb$)U^eG0q{DX^@WxX!yhpBwG z;2QP<;6{1u3B}vc@u}3jn6P7Z9AoDqv~_~5yaKn1p6V}E>UI|wE7Mnqn~#9pJB31t z3Q8Dx-O=$nZRpxn?2eNs1L!P7Fx08c&+Elcr+9EFhjpuu4HT1jlJXSi zR?x@FYE~bk#y|$9*qx)H9gF53YOKOsf#st^hKml!&g9uSn`?E4;gZ(i4lbSx0)0Bf zwA09lIb`qdd)q%K+w{daxokO-+UxRbqMO^z)aSR=Vsq=5-OmivR|->E?xVl6Pxx~U zT14%;Bmo(~yRyeQ$IBtW=-%l^d)pLo&Af%an3eS49mc5*jGOya>C@TaKd7Fs^3>T=p?62lgiu|_w z>)HeSktYy3fioXC9tjc0thsIN{H34_)OS0fkG=1@!AkvhqO-hwV4Dv@Q{Uw5o2>d~ zClTTw(pT!mB(X|#BdFm=nS4wS$$lj&EuQe6O?^W$+-j)FX?JBqaAwlcgW&QcRiV4~ zwV#-(Y`IGdNaF-8L?V;yO^CtLFsWizwZCp>TDLY;ADid9s=eHx-0{G@7adHZB>%F7llYSt8PD(d<9g5vc2 zMa`LSo#{)2pCWT&*nveCaKLF#>|rV#@Hzc+T(-35W!vG6xmbUj;on(!#}9sq%-vNBK*V-*)*@e0>YsC~D1<#< z({paN54wH1S}))C-t6hRCXWAZNmPQQ^B;y30o*FDHSLXwiqDNRPea>~J9qbUFf8EXwQR2X782msr@MwFy0usJjBwBvOZ#brtAQM|-(7oH(>r#K4-dlT1Y|sZQDjk*+FJdJ-_v9oXINK%hu z-5>$JVdh4BkP!dQ@#fC!0sqq1SY9%kyMB~0b3$uU`}1*SyFL@^vojtU$lB!wvuIe$ zW83L6BrMQ8Lh9o>M04)>8rsNBq!uj7mNB>Hz9sbbm30Hx4IcjE=ZL&*Nz|`l0rF4sStn6ZPCvwnI)Tpedw`c^UsE0%ujB4WVx16vcJHgd>4ON# zFaIU=LUMn99gRU~<`_F*E>4gy`W@B{0(y5`#Q>n$n5g7H-Q*YB}wqY5>)_bfmKT>w{%u%5Zw+s9%7f%Es6@83zB z*tolZMbrE0AosM^d94Y>t%L4?SoQXx?bkd*@jB>RFWr*Xw^E%N@9%M1rABnkYc`8% z#4bro?=gm)&W{*`Zb6ArAh|7E-Tez=Fs0r8Fpn}ffIh3No5$Jra_s1UpG%m(Gxt*eL`kttW?>8pd^Z%Wo2!@@2I(g-qtAhr~ zN16(WOoLqJS^7RAqK>;r)9qoq=^lJJ1N=55f-mldzlzhKox^sROinzEi{jotWR;;a z0YrT%S?gZ7G&ilIXy}ofuHwd-eM67 z2!0AxnP9%@UCbfX<7L1l#@bh*jf`*#+vMOzl$`k7cM?FIiouBQmBWF9;x9^AbPaI{ zqo{qudKE`pBx;)JO(cYpct4}1FLSP#6n0DPunCG{ZTj1&<5BQrF4YzDZl4(x>xFfW!MV<9B_dxa62ryLp7iUpC+idttMbhxM+( zeR;e#i*ZtN{v-aP=@fWiLr`LBi-q*eN{y&8d`DnSt!OVbhY}NW6+09C9dZAU3y`9` zoqQ%(E=%=?*Z_3$mx}A5cQ(2foHv8LZ9;no9lFc;U4K`{O;x@#J1yiXmoo}~L<7Z& zW|7`7oxX$5n9FQ`zp@9lfF10eeVgn2g-f?R`^lBj8VYgo9h%fTqRNB9C zS~@*ir<0dN+U#FI2;j@^o=Wf!ZuqW9>!G4l*FHAxG6^-ye1p1maO-@iLOA=?vepRk zNi=BQ*5Ro#ik=)gjDQcsc=R&^V;|hf)S@u>zd@)sM%K{4wg)Bk2KD;U3CLMIl{4L% zz>YscepNq;VC1Q0$@}u0`HwcJo4ebdYys*BdHtmLSfNTH?6CBAv{_EdRwoJNcv_j& zb)TywKn6?9kOIb_Lm1ysC_@K*EzMuKO#0oLpk96l-=99Eebv9C4 z=kpy!8FS;yK?l$8{=zcnSceqF-moYccK_|G5JN^X%c-rjA-Qt9d28S(Q#1R1px)b~ z0BpVoKZvK)FRL4Yvc4A?ot(BJT&3oxn3Bqbz^T?1b7iCz>Ey;moDpXMqg9NZtN4)6 zbTW_rB6f6kz8#YWYxZ21Kl8ip$po`Z#}%4>PE_8&+QaG^D1ZigUiV;`*`j0AHAQ)z z8tId`MY2I;OSN;kd2}{AtlPZF(AQpEeD5l0SvpSI zLU!+NJbJZ&=LzT#UabS6dM!P~q`YTKEy$0)jdmx&R~&T*)8CqAf+e|LK9d^S%K@!t z&5HjO`!LrEOxbnI>B4J7ysGk0zitATN4eZj5sK69kF0dI7`z6_wNa~;(=pPW>C4H@ zBpo9mP*ue<3Mq<&DvuVzPdny+hEJ^*TFNy}$_;S4az)hwsk?;!d!vtc)=C z!2XJpGYmi!pqGYlIKtZl(&!yu2&he?81?-|aiiw_y{{k~95$a0)d6pZcI$6LOEu2^ zAXDn9=_P6=YteC-=MNxOa9w#E`n&QY>ld%xo$FM*pPnSCZiY@T+xFMGYVN2o_hgu|gSQM< z%X*A|EWiZ)*bCl58ZvQ$t>wq7s~Ey_295=GN*bB1Ww5^%+Hw6y5~)bFvXZZ5?BH`Ssc z8ogWyDd<{ZS=sWLJk1;1A4i-{ag=b(I3k$vt2PdURGvu%n2SFo_Iq@*AEv7Xzc@U+ zq%=~_Cm9OgR3+YzR4SIZ@wC>OZRmV`yJwia#l=?pJ-0jUK1q6}K({1swRFdSR-8I) z+B5}cvs}zp=E>#{$2^K6HYb4U413+=f{L;K;W%MMVZT;5jF0T=g`oKrXxPtIh5F}3 zTb<;{EQ^H?%{OhN^}v@9>WvIkHfW9*DEEN z6;Z#lbn`nv!btefOcaq5`*6*yT!(jX0K6_rEMUwyFuW8o82x092|>1f)=hfBpNrSi zVVvaoe^sSG0R5Vig{!|x3jUx5PMel`6ut=Y{`5nQOzkcK{E<0w4`kPE} z?&yK&lV*7z*syfN1drX*`wb++qTIFkOIUjhGS(mf*}Vt760bfIT^ z`kq%!&!;04dC4K;@Po|pb>1N(rZk{*Jh$lcoFAE*%JF}2c)#JCw75CWYJ;On}touY>jZ06(gl4Ly%g-{qZVE*#`xXmm@ zsC{go;WPBH=Kbf#=f$Or-F7aahop9f-&`;WxaGn~UhTVz#gv4kWI%ea94WnJ-+n-?i}{TN*LW7WroaG|QphY;FkNsn z(()12$T~tFY((^bduI#PDZm#L01)^uHylNml+h7-?wV7dT8%IEjn-$ta9qZLeALH$ z+b)hZ{&U$coSWqI+kX35nC_9m`O2foc#eUS?J%2+)jadhtFL80yEktlq^1X-yXwi; zxRVa^t&E9iEw@Y>xi>@Yu{e{8qpHct3A@#<0}~SYc!e00DptS+G}QY_r%i(n_4e%` zgMoS0wB>Bo;GQgT#e9+bO+NtH?px#e3)Y{<9P;D^g>sMOc@I$G^E2bGYV)aZuD#Za z?Aj`4N$p5$L>!MBApiBE+50kyUi7AmIDMuz3vIFi(fG6GuRDa;Fr5!*ca* z8Halz89F2>JS+rT%8TZJDmPv9GEFQ(=a8P8RiOjH^VTz1Zt+JE5s9ad&G4`f6r#tX znL3XF?HD^99inP8KaVMlaM909&Ugke_Ki>4;3p2~8D{ z;3Cwc7j2H?WjN4y%^7#f8T&?RHum^tGPG~O5Ad}$u#bc7>`S;kyE%G&|9L~(&7oSv zV(*`C7N6Q}geKE!5T{J9T!Lx+qhr(Q!^J?DKzsL>ed=SK)aF^3>&qL@G!Bce>Dg@0 zgU?nEWx%R|!2Cxw0l-(l;(+E$TWw$G34ivkOu-y$n;4e&x1qg~^!JCpRwYWedKOOM zHb?z9GkJgHO6-wp0dlDw$rSKk*$BD`6i}!#f~4$ZL5HcR2fnNJUTa4iVze;0WFe>k z(hy4vT+u!+@cy3~ov#)J7gQLMuwbn%ME$V4p9gSc@B2QDtH}Wed|+f*XsG>gWNT`6 zfJ;A;jBl|Fw9}1C07*!A*6sBE8w~sHcJ}foDFd%7oY{$K#Ui4sXSm%o;4}N~lF=4e zuoHNI&oBh)>6`V|ZAbz~Zk3(DJGWi$#G7Aq>azC}Nsk6VM2+5(3H2V- zYjpMP)DT?;Y5&$?0c+n{&p7m&pgp=<8`c~2Krd%u79E!Pv`xu~-M+n;J6RaW264>N2A%)(k-_GRSd+NdY&-j_;hG^ zy81#{Ou64*Jb-z)y--IK$kUiQ^(ob1Gmj(hckdo| zA}qkn*YCcwg?08LQV)npw{*8f{HyNzs_?Cr0CJRonT@5vlAc*FRQAvC=B6J7OW7q! zM_1v6V0p`|HRCM+JLjc0{Y>Ebt`C9$nK7q{GQ0$*dwu|5&IOm_$j^i11{e!6rM>{?8%hy13fUg2MX*)cG<57of zyXqWCmTyJ`DzIc?DGFnsiQc4CHzHEz_nP`f4nH|L zypqz0TsSQ$%QDhGFeeZ*^LqXJy*vJYZXmtNW1@uNZo|#|w7lRX_rZOCQTVK{+s(|B zW%F_RzmscJD-<6DI;uZAH9X#9lLya|hM<~CKN#(TuXvvqe@(-CA4PX424T61cndDs zgVO2X^TFZX8)*V;P#I-*eI2&#?=A1}V*q;j+UgtRc8-Ch3gVPY~ zNb=!+m#~;uPkNgA0_pMJ6|`oW-^?*#pJAGMf8A7Zx$&4#~CXiANT9@ga#%m+Kw? zr|taC#dilV&2MiMt5gubyB)Q~b@!tO^lxhz(kU;jheG8>NhODVU_0~}+oSCUNdfL7 zG@$_YoC<&dSTx#O9z{k7qoTdyfp3@6+lF>bE(DU@*q* z5*=uWXU85PJVe7!>5DHhhn`?8XX--?37W@+EOh? zcoT|nFlc;MM+Hy;V>D%}dVmU@9T54~dvCY(nU?KcENk1veLwWKECFn32K zgB+KFvA~&$KzRw6>%)N*Kir1ah=vWO?<_80(u|;sogVz%nQZGjZ1Jk(qLC}OVXd?~ zk3buCG}{_w`B6+HMOyL3w~Yzu-Ohal(0*}c3?aZ-dtARX0Xr-nH{m8RD3eU%I9o_& zJ`IGa-fU~Y8qa5M5A0an+lvdCmdtB$*B)%%YI1++JXvGi)&}kGdQdlY*EN~`vgU~c zK5vfxpUoz`|%1&*M6QS(54r8OFx)1`gPg_ zUUVN0eO~h?;Wyb(;*0B4P7+$dt@saake_n?ZfF;}dkSwSRur&Y!ELt8`sPDMJp{c7 zZ4O~X`woSD`FZ#|ceVrE-^M)}M76>BBl)qNe9V&z|A-aOnO*JyO=~23cbv@q_^HW})ID5s%)p#4O3MNIr zRq?f?M)>-1iL~ST0?fmwnE^Dr?*e@vp0`m|%EVhZGb?L@|K?LDc6ejK$e2~F8?>XK z;Q!!$zxb49;JLef;Uj0aZKIu_rfxflx5)r1KwP@NWq`hQd})Dk<#pK(CpuU$SDE+V zzVJ?RMMFa~EC*yWe~o6!L16uZb5sn@a2!OqjVWHN2#Fl1gbFX#hj*}H-IPJGH+7`N zGCHIap2;5rj6S zayfEAQVx*;qsvvHrbPo6fx?N9BMm(ayT84+{Hp$X^v71DvzMCQ+#KmCOw-7%rsOHY zczfy;8YHkf`^bKypGG?Q9O8Ke7GfQ7r!;~;dXYn&gcYf6Ka5SCSr`~>AW1g_G5bLg zW)LV}Nfv(e%q}I3(~lyZY@$4MeswPkJoGMkFiazron&jIi)X#uLnSwXFCB#K>ww|( zeLix0+epZZC=W-Q{b`%!0x``)3$H}iOE}UbK4hUsR=zNTv3i^Mg77W&V&(1y54oGf z*!#wRKvkhXvBL)2nW-W<-G@*l^#c)Wol~yT?{Z@>Vg#~9wqYd?D-*iaYQ6*{o~`VK zmM!=mj$HWFRHCf+$9Jy9+H$@5BL9214Bbvrcee4tkOInkN)`A^<5tL`t$lAEqAN)-$d&8V~q0Hv-GwY!!ZaJT6;2&)V5?oS6}|q zwe@4|7DuGTqT~IwU^!Lo4r1%(bSr?#7KILR=@mt#IZLnZWy0A8&b#fOFDRuo{CGXO zna4h^DqsRWEZq(UO^vxxZr$n59RriK%swL(mBB&QYvUG_*3H6CZm#3pWFk)+JVNGN zfa*yL!>bfoD#j}L!==R3fOndzLbc=KXW^-bkGZE@Wq+i~73qNPcMx|sY!@_GxjNb& z89?I8D$LAHyirOEUy85*!5kP31^zpY1!tG*npRC9C8fgcs)Phgd~i@h`Ay>Ys)g!n zn=IgzhKt#M5hwh1o;QywmyX)%+7&l#Bs3*qoA;6cJg!nZYBXqJNHu%vw_vjFll4pdybob@4-^ zIzrGKc>h(MIqJt{55naQQW*S|lv6?^uu+BHfH{%*`hLKH1K4n1x2vf((B40d2XO-|{!MYM`L1;B zu1RKsT44#!37hZ!S0VtF763s;O1?|JtBNVnXE`qlJRHi!~ z)<5V_vv44qExl(Sd^y$eYl8)=-1sGUI|M>MP56BpQapoPJhU8jb3e5ZAhWZw1PYs< zYSs#&7iVQ(nl0e(rvU(P*pNta6Tn@BYH?60yd+jZuZtdh3)ci^=G%sU*|>|#4!Ugw zjv^LIy%GI?=&+IQh*WfB1Y2*?9xsgH>>QW9mJ*y9DnP6k)>JGDk{u>+IhhL+vW&G@ zxk5eVIEvMA0i%0QKAWB)?xth?v8TiC%V)idq5oF=7%5ii!RIYbLyunR)!nyq8APfE zoc}L42$S61etaVyZs%~mEp*lU=mq0FVQDb6M4#f+LX*BakfqVyC18S-lX@@!`0v;+ah#|QwioE1o<(1znQh)&4FfBe7 z50!wehECFdstw6P?b!2jL8c>_GjESiFvnjutZSw?P=EV>8Zbj650-@gIn-O)@Q2+E zlf4tu%7q^ONnx?U=^S?GfFUNp*fp_TM-rmuCeN9#u?Q=Ff7{U#ulN1)00DwYrrasI7~FX753vF1Sr z=>)FVd`uz_mQ!IlqVkcTOA0}XPy?a_DYK)fSz=6ZKN5KbIYw*dZzgO7xtzJ{tdFNd z5zbLTmtFCOzq~Z#C>BO#|ARos5K=MdmttXHcnQ6Ewph935cvy$=u-)dgy0lAA;GMU zeHC6yLBp?!Hh$FPUyJm(e`el|y0k3;B~vKhJXk;!<@V{)^GOMn7&Yjhl8Ay2(zI-J zKX~r#U#mM?Pm&gLWm(P}g0|iyBM)af^taqT&I{0FeTAg{<6eU>T@+F1vx7GUu~}i@ z%g@tVGPw5g%C#)Pau3(lgX+V=&Cu5)QZ2_U1#7gZ&zHJyuUpy%qYaZF=}v2|Sh1t> zh@tsVRhFVWmZTY~MAxrfXIaK_tuG}fLG#$Jy;~MLj7&6#&lFa!u>TBGQ+yukh_8i4 zm_6fglo>ECtZ&AZFY=E*%dv*z7t1f7wj0Wc1m*3@gpzVNx9|f)FPaO!X8$Bv#+LC>nlv%y6kG-4;PW%bf* zHf;mXQ@4Fj=ZJ^{qcRMEn_;AZV#-r~hVeqe%Rbh7^Y`_4Ne@NoY$*OH?0TR6Ut!2P zn5(~XE?i^SVdTPIB=TpCQ3lEN|FwstvA94&vn2;(*^oN|eVyN+NQft{Mh9VNnCv9Y zy4?M{cz+!+;7<7vO58LWJicCAFDo=n4HRDs%Z4rZVo1XSNHB zs~=wu&`Hs!q7J0M19Z<+K=ejrB$u@Ctd8jR%Vc@iTr{oBpx6;5;*1zVXY&IOQEcMu z)OJ8XI{BAXA2DHU$-lpNKC0ELMVGJ z;TzHC{AVGpyHT|(6G7<%5;3d9D`392C-U-*5kuOTCVd16zgU$;wJqB&_q>~C#O}fu z_u5Se)bJkcJKp~Bq?kn=Bz1%ONAejnUm*P=Rf@p>(xTb&?jL6VhbwxyA?RU2XXbnE z>2?*T@#M}TdjIdN`|hkxS&lyGQ(3EkhVpUGGHdF4B4gWxoy4d z`v6{k3Ff9lP-;^$Crj+@A=~le6_UfsI*`{N=tdKu$8tqqT*QOw z>Ztx#ki@FtpeNi%!A@oW{V;U+!Bs`||8W6c9x!J5 zk>plPv56tre~PN&hw1CtDL^|&*7;do^Sup1vq<+oxMO(%!b5y?P}qcn_f(CS<|H6n zO>tFo1mFphq;nvAbsBck4I{4($We>tm8uLMy0$yt)l-l|Se`mpDM;*hXW-n3-^eb4 zxun&_ZGTyueB*wmXY>1E{`oF#+mo2WLm&HBsU=72Mejc%Qds~C)?5^aj!a_Z|LEQ? z8t1UP!A@RXdA@vy0Dwam*WIiuPp_J4Q^fy-(YISh0KbxB*uQ#NZX~(*oaJz>-N_IJ zHAoU)0`(v{7iO_j(q|QsfVM(l&N}O|JyISJnwJ(4`qCY3@F$f7CalRs;mE4IggvO6 zS?9EAfizy9lY$q|E$)R&i);BmT`5pB2}|9ahDc%i9cfxOrX>%!ri~g68Y!g(C!-js zuJSQ4F=42+0h!s{V2hg?nzo#>vQTL+n=0djJwa-FGkMdDNd~56&UCW*ov-I-N%Q<` zGf3@;1#8BC zK8}z8%(~6w--{k?J;H`17QOF%)=1N=`|0ut^;to<YxuB8j3#S!g|>UthAXaS~1c(<#XxRB-A zjBM^{e~cRv!^&*`%W3;~A*GAl+Ko4mzNytmQY=41Ro`u1_tPEPYtbj3oYCh*!fw1o0x z!%+;h{IEWO9cNUR`PR>V^5%F365Ju>{{ykmHk}PHx|-Dgy9l9F=;N+D7sNM;on2Q_ zyR{VbQ^#?+Skg*-q0-&gRW$3rO^1g?i?UR+Ym+&@M6mjPIo@qCMJQi-PR@P~Ey~>| zDPhBxR1;EW+^cKhXwQJGB-vjqhT=bg;9*`Kk9W+#x~eSB4;xS%TFP2Rc* zL?N{iOtqOPFtJsZC7L&R{|nT3#^nV|DJ8G9Z3(U@mzu;T_G24(KSdJ5`)0%5?4_`MQ=g;*p{-ZUxCWcISQJPagQ{=$|55c7TyX`P#~ zy$43aW7Ms5DSC;HHVv$j`Y99Veo?WwSSY8%*GBE90VY64v%ec%puyW$&Rflj3R!tK-SRy7AXqtCY4{)ORK zE;$j5&x*FqPM_q`T>Z73*q~mW;VPC>h4KyS=Y@sy)!tupm1v(VL5}>NVWz%t>F^dg zdaIi__Hhscvvvzs!4yWF9*?%!y>4$nT!s32Z z&!^gNZkry!{+l9IQr7K+D!LAnycIPWNjzMTM+1e9T!kfr2{T1)*VO6}1{RoisT z?<9=iO(=9oD*eEGF?A4vRL{spx|9d>3ylawe6}x=NaDWYsD%oG+|L=>72EF%UbcHZ z)2<3{)j-{_LB{>GqG2 z?J^-9InaeL1kme{1NGXS4<1+Yz<3=YM~hW|EF)=-oeas8a1{a{LfX;oEi@TC%s4J| z)bIGAp&|OEWZM$ERlDDN54@42BkDhBdA2YWKoq%{Vxg#{3Pt}8No0o(Wds$)wLW7b z^%!~51;s4(?Wg*DxDv=9BQ&arl%jy~IG^c+0&fECpYNrP204tsfgu1N+r0JIvS_cy z4JTt)m4?Y3-L*}ACgQJKeed%mhJV$f!XQes=B0xv=ek)I4HprA+wAbdjIb&9jW0T7G~Xv8(AMq&?A zyTQcNj04KL$&pOs;}{Hmv^}xy=O(0AL%AulcADh3#h30tU`kuop-z|W8$wDq)vw#i zU|rQ7G~7#->x@Az<`N`>_NVRlI`{RfPf085@0FGpf}Dv^3GpI_8j<;j&7^QLEVGl| zNh+A9#1oYVtKx0<9w(l0d!>t@BH8Z-m}n}Plis$uq@?YXg$u(!+V8L1{7;9`$m|k` zD4jZTu6a>fD_#{WEZ*;QC%oqIIgd4Wg{z-xALa*g6s2X@l9Dkc2L?sHVv_!nv4$aK zKOoS!^S~@ccNu`!hk&INf!~-Wz}`|WH|`!O#=@fbtAD4g_^ZVgFei@X?H}YdX}h!( zc)GdWF>|WaIo@TTy|Mk)KTItgZhjVK@ufs{Z(WDFTvH1J|IQG)SuGO;jaRLDTlBBT z)+L^pypPj7`M)oSOB;5u=A5i_`h05j>jLI&iY`v_J46#K-B(-xG6bxZkE5hHMQu-D zB-)=mT< zRc-jwv~nqr%fl<&2w6N{3Rs^GdDkGRN|SS5zCI4;Ja$-Wou9MNH^&~^I36UvdI_yv z9Li&j(k}!FP239TGa>i_Azb+HkGGUpi~g-Z`3A$ymi&gR`_jC$symSLZrHKoK2w5*EZqe^stSw@T-O?}DNfB%Arc63rOd-Y7)4@|$GZHUeVE zr#(5y5Rg`0OTKwOG-zaFWrPzT(hB% z2ZY}o@yP3guTGQ>N;RVVDDb?32G1;RtqmsvNl8r!H<0$LA5|ofou9kFPJtTq`JVT5 zl1f!02dlx*W2h5~RTjhf&MurtAn&{wSQYuiMb<;vOKtwOjT___VdwBE?3#13!@oB^ z#TV|(FeX#?FAd6{%jgLoM_57B>h=)uMj!UZs1_ufO8sSO<7qP!z*7K$PK4NU}Saccu8a#$bC#I1v#jVIEUW zZR{F}!9}*H*w_7^{x6Jg&t=^GOPC+NLd_mCCQAt(e0->DJaWF}wFSjrq*lK@#Ln6o z$XN1vPq_Fu)8$V@d*N$fjkdF+dHUTyZ2WQPynM@cn+bz}n-@If;a`&JVLO?27hXZ# z+-UdM{g=toYQ8z`BNCpAt=kHJPh;t+ns@!a2%(?*V} z0dcdy5pMQ)z>{7EoAw(RBI?zNSte`xeCSF?ZdH@on8}yq&>E{mawKZs!) z!ftSAPG>9bXDscU`nWv-N?pS`OE�zcb!i-ykC4GW9r8vZK2spC@aC)V(jQ9}idV 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 c|7|Fiv&g*g Date: Sat, 23 Jan 2021 15:13:23 +0100 Subject: [PATCH 063/108] Add aspie quizz result --- tests/aspie_quiz.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 tests/aspie_quiz.md diff --git a/tests/aspie_quiz.md b/tests/aspie_quiz.md new file mode 100644 index 0000000..f4dec7b --- /dev/null +++ b/tests/aspie_quiz.md @@ -0,0 +1,11 @@ +[Leif Ekblad at RDOS](http://www.rdos.net/fr/index.php) - Aspie Quizz + +# Results + +Votre résultat Aspie: 165 de 200 +Votre score neurotypique (non autistique): 62 de 200 +Vous êtes très probablement Aspie + +![aspie result diagram](aspie_quiz_poly10a.png) + +[Detailed results](quiz aspie.pdf) From 276d7055719f9e6dbb801fe2175028e8f043ff46 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 23 Jan 2021 15:16:04 +0100 Subject: [PATCH 064/108] aspie quiz result --- tests/aspie_quiz.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/aspie_quiz.md b/tests/aspie_quiz.md index f4dec7b..1ad799f 100644 --- a/tests/aspie_quiz.md +++ b/tests/aspie_quiz.md @@ -8,4 +8,4 @@ Vous êtes très probablement Aspie ![aspie result diagram](aspie_quiz_poly10a.png) -[Detailed results](quiz aspie.pdf) +[Detailed results](quiz%20aspie.pdf) From f4820932f0b26be53590e351b41983a8c10725c2 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 10:57:23 +0100 Subject: [PATCH 065/108] Create some base slow programming principles --- PRINCIPLES.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index ad07db2..ba62290 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -239,3 +239,14 @@ * Observe rather than interpret. Communicate facts not interpretations * Understand people's needs/feelings * Use non violent communication + +# Slow programming principles +* No broken window. A repo should always be in a clean and working state, i.e the last commit should always build successfully. +* If you broke it, take ownership for the repair. If you break something, you are responsible of the situation, fix it (it's ok to ask for help). +* Avoid branching/batching your changes | Be careful what you batch. Changes and version bumps should be integrated continuously, not all at once. +* Don't hide your work, branch instead, and get it reviewed before creating a PR / merging it. +* If possible, don't branch, work on trunk/main. Branching/Feature flags can help. +* Use Peer code review, if possible pre-commit reviews. Peer code review is a key element in building a robust and egoless engineering culture of collaborative problem-solving ([source](https://semaphoreci.com/blog/cicd-pipeline)) +* If you change the principles/systems/processess, do it incrementally. Developer productivity matters a lot. Minimize friction. e.g don't do a migration of all CI/CD Ecosystem in a way that breaks everything for a while. Do it step by step, phase the changes. Make it possible to rollback easily to previous working state. +* Quality first. If you’re doing CI and for some reason the integration fails, that means the broken build becomes the highest priority to fix before continuing to add more features. System quality—not just velocity—is important. CI works in three simple stages: push, test, and fix. But despite this simplicity, CI might become challenging if only a few members of the team practice it. Consequently, CI also requires a change in culture and support from management. [source](https://stackify.com/what-is-cicd-whats-important-and-how-to-get-it-right/) + From 3c9412ba6ad0b9f5b19b0ae582cd1596b7e4d989 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 10:58:50 +0100 Subject: [PATCH 066/108] link to self slow programming principles --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9bf24e3..6afaae2 100644 --- a/README.md +++ b/README.md @@ -5017,7 +5017,7 @@ Maturity Model * [Dr. Tom Murphy VII, Ph.D.](http://www.cs.cmu.edu/~tom7/abc/paper.pdf) - [PDF] A C89 compiler that produces executables that are also valid ASCII text files ## Calm programming / Slow programming -See also [Clean code](#clean-code-and-best-practices) +See also [Clean code](#clean-code-and-best-practices) and [Slow programming principles](PRINCIPLES.md#slow-programming-principles) I dedicate this section to the work I'm busy at, about how going faster in short term can cost you quality, money and confidence in long term. Studying relationships between quality, productivity, thinking fast & slow, slowing down, and the craft of programming. * [Dr. Travis Bradberry](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm) - How Successful People Stay Calm From 9354f6fa2de873b4c0adf7f13c3b6bb9390f8bb4 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 11:00:20 +0100 Subject: [PATCH 067/108] link to calm/slow programming articles section --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index ba62290..51a0191 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -241,6 +241,7 @@ * Use non violent communication # Slow programming principles +See also [Calm programming / Slow programming](README.md#calm-programming--slow-programming) * No broken window. A repo should always be in a clean and working state, i.e the last commit should always build successfully. * If you broke it, take ownership for the repair. If you break something, you are responsible of the situation, fix it (it's ok to ask for help). * Avoid branching/batching your changes | Be careful what you batch. Changes and version bumps should be integrated continuously, not all at once. From 34b7493f48af530a940d6792455fbfe4625e092a Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 11:43:25 +0100 Subject: [PATCH 068/108] highlight functional geekery with frank hebert --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 6afaae2..586c814 100644 --- a/README.md +++ b/README.md @@ -5397,7 +5397,7 @@ psql -f db.out postgres > Learn * [Alex Ott](http://alexott.net/en/fp/books/#sec8) - books review on Erlang -* [Functional Geekery](https://www.functionalgeekery.com/episode-114-fred-herbert/) - Functional Geekery Episode 114 – Fred Hébert with introduction to Erlang, productionization as a phase of software, property testing, “Everything is Terrible”, and much more. +* :star: [**Functional Geekery**](https://www.functionalgeekery.com/episode-114-fred-herbert/) - Functional Geekery Episode 114 – Fred Hébert with introduction to Erlang, productionization as a phase of software, property testing, “Everything is Terrible”, and much more. * [PropEr Testing](http://propertesting.com/) - Fred Hébert talking about ins and outs of Property-Based Testing, with focus set on Erlang’s PropEr framework, a freely available testing tool based on Quviq’s Quickcheck framework. * [Learn You Some Erlang](http://learnyousomeerlang.com/content) - [Book] Online book. Reading this tutorial should be one of your first steps in learning Erlang * [h4cc/awesome-elixir](https://github.com/h4cc/awesome-elixir) - list of amazingly awesome Elixir and Erlang libraries, resources and more @@ -6327,7 +6327,7 @@ Raw * [Software Engineering Radio](http://www.se-radio.net/) - The Podcast for Professional Software Developers * [Software Engineering Radio](http://www.se-radio.net/2018/02/se-radio-episode-317-travis-kimmel-on-measuring-software-engineering-productivity/) - (2018) SE-Radio Episode 317: Travis Kimmel on Measuring Software Engineering Productivity * [Functional Geekery](https://www.functionalgeekery.com/) - A podcast on Functional Programming, covering topics across multiple languages -* [Functional Geekery](https://www.functionalgeekery.com/episode-114-fred-herbert/) - Functional Geekery Episode 114 – Fred Hébert with introduction to Erlang, productionization as a phase of software, property testing, “Everything is Terrible”, and much more. +* :star: [**Functional Geekery**](https://www.functionalgeekery.com/episode-114-fred-herbert/) - Functional Geekery Episode 114 – Fred Hébert with introduction to Erlang, productionization as a phase of software, property testing, “Everything is Terrible”, and much more. * [The Changelog](https://changelog.com/podcast) - Conversations with the hackers, leaders, and innovators of open source. * [Ramène Ta Science (alias RTS)](https://www.geekzone.fr/rts/) - :fr: [FR] podcast de vulgarisation scientifique de Geekzone * [The Knowledge Project](https://www.fs.blog/the-knowledge-project/) - Podcast by Shane Parrish to uncover frameworks YOU can use to learn more in less time, make better decisions, and live a happier and more meaningful life. From bf7fa2b444dead70e1a883cda98115e1ad135738 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 11:43:37 +0100 Subject: [PATCH 069/108] additional slow programming principles --- PRINCIPLES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 51a0191..7429065 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -250,4 +250,6 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Use Peer code review, if possible pre-commit reviews. Peer code review is a key element in building a robust and egoless engineering culture of collaborative problem-solving ([source](https://semaphoreci.com/blog/cicd-pipeline)) * If you change the principles/systems/processess, do it incrementally. Developer productivity matters a lot. Minimize friction. e.g don't do a migration of all CI/CD Ecosystem in a way that breaks everything for a while. Do it step by step, phase the changes. Make it possible to rollback easily to previous working state. * Quality first. If you’re doing CI and for some reason the integration fails, that means the broken build becomes the highest priority to fix before continuing to add more features. System quality—not just velocity—is important. CI works in three simple stages: push, test, and fix. But despite this simplicity, CI might become challenging if only a few members of the team practice it. Consequently, CI also requires a change in culture and support from management. [source](https://stackify.com/what-is-cicd-whats-important-and-how-to-get-it-right/) +* Refactoring can only truly begin once you've actually learned what a piece of code or some data structure did, the unique properties for which they were written or chosen. Anything else is setting yourself up for failure. [source](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) +* It also means that when building systems, you should not assume that operators will do things correctly. Expect failure from people. Try to think about tools you can give them to undo their mistakes, because they will happen sooner or later. Have some dread. Be understanding. Know things won't be perfect. [source](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) From 23dbbaf4e7b5fa4a5dada85a8a73bd7525bae367 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 11:47:57 +0100 Subject: [PATCH 070/108] What Every Programmer Should Know --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 586c814..9a652ac 100644 --- a/README.md +++ b/README.md @@ -4936,6 +4936,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [The Cloud Posse Developer Hub](https://docs.cloudposse.com/) - You'll find comprehensive guides and documentation to help you start working with the Cloud Posse technology stack as quickly as possible, as well as support if you get stuck. This is also useful as a source of inspiration for your own guides and documentation repositories. * [:books: Freely available programming books](https://ebookfoundation.github.io/free-programming-books/books/free-programming-books.html) - List of Free Learning Resources In Many Languages. **Source code** : [EbookFoundation/free-programming-books](https://github.com/EbookFoundation/free-programming-books) * [Async Manifesto](http://asyncmanifesto.org/) - (2014) Manifesto for Async Software Development | Principles of Async Software Development +* [Peter Van Roy](https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf) - (2008) [PDF] Programming Paradigms for Dummies: What Every Programmer Should Know. **Bonus** :fr: [FR] [Slides](https://www.info.ucl.ac.be/~pvr/jussieuParadigms2008.pdf) > Programming challenges * [Colin Hughes](https://projecteuler.net/index.php?section=problems) - Project Euler proposes a series of challenging mathematical/computer programming problems From 32ba9075cdca794c3e27f14ba67f757733dc5962 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 11:49:19 +0100 Subject: [PATCH 071/108] add poster for programming paradigms (VanRoy) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a652ac..f9a0e51 100644 --- a/README.md +++ b/README.md @@ -4936,7 +4936,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [The Cloud Posse Developer Hub](https://docs.cloudposse.com/) - You'll find comprehensive guides and documentation to help you start working with the Cloud Posse technology stack as quickly as possible, as well as support if you get stuck. This is also useful as a source of inspiration for your own guides and documentation repositories. * [:books: Freely available programming books](https://ebookfoundation.github.io/free-programming-books/books/free-programming-books.html) - List of Free Learning Resources In Many Languages. **Source code** : [EbookFoundation/free-programming-books](https://github.com/EbookFoundation/free-programming-books) * [Async Manifesto](http://asyncmanifesto.org/) - (2014) Manifesto for Async Software Development | Principles of Async Software Development -* [Peter Van Roy](https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf) - (2008) [PDF] Programming Paradigms for Dummies: What Every Programmer Should Know. **Bonus** :fr: [FR] [Slides](https://www.info.ucl.ac.be/~pvr/jussieuParadigms2008.pdf) +* [Peter Van Roy](https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf) - (2008) [PDF] Programming Paradigms for Dummies: What Every Programmer Should Know. **Bonus** :fr: [FR] [Slides in french](https://www.info.ucl.ac.be/~pvr/jussieuParadigms2008.pdf) and [Poster in English](https://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng108.pdf) > Programming challenges * [Colin Hughes](https://projecteuler.net/index.php?section=problems) - Project Euler proposes a series of challenging mathematical/computer programming problems From c8955dcc0758721b6280a4a1b72fd826971adb54 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 12:20:33 +0100 Subject: [PATCH 072/108] additional principles --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 7429065..e065ace 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -252,4 +252,5 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Quality first. If you’re doing CI and for some reason the integration fails, that means the broken build becomes the highest priority to fix before continuing to add more features. System quality—not just velocity—is important. CI works in three simple stages: push, test, and fix. But despite this simplicity, CI might become challenging if only a few members of the team practice it. Consequently, CI also requires a change in culture and support from management. [source](https://stackify.com/what-is-cicd-whats-important-and-how-to-get-it-right/) * Refactoring can only truly begin once you've actually learned what a piece of code or some data structure did, the unique properties for which they were written or chosen. Anything else is setting yourself up for failure. [source](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) * It also means that when building systems, you should not assume that operators will do things correctly. Expect failure from people. Try to think about tools you can give them to undo their mistakes, because they will happen sooner or later. Have some dread. Be understanding. Know things won't be perfect. [source](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) +* Study your tools, see how you work, understand how you can improve it. Don't rush. Before you run, you have to learn to walk. From b87b3e0b55ed9ca0e7260e2601b3914f9b00679f Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 12:21:57 +0100 Subject: [PATCH 073/108] additional principle for slow programming --- PRINCIPLES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index e065ace..fab15ff 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -249,8 +249,8 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * If possible, don't branch, work on trunk/main. Branching/Feature flags can help. * Use Peer code review, if possible pre-commit reviews. Peer code review is a key element in building a robust and egoless engineering culture of collaborative problem-solving ([source](https://semaphoreci.com/blog/cicd-pipeline)) * If you change the principles/systems/processess, do it incrementally. Developer productivity matters a lot. Minimize friction. e.g don't do a migration of all CI/CD Ecosystem in a way that breaks everything for a while. Do it step by step, phase the changes. Make it possible to rollback easily to previous working state. -* Quality first. If you’re doing CI and for some reason the integration fails, that means the broken build becomes the highest priority to fix before continuing to add more features. System quality—not just velocity—is important. CI works in three simple stages: push, test, and fix. But despite this simplicity, CI might become challenging if only a few members of the team practice it. Consequently, CI also requires a change in culture and support from management. [source](https://stackify.com/what-is-cicd-whats-important-and-how-to-get-it-right/) +* Quality first | Quality is always right. If you’re doing CI and for some reason the integration fails, that means the broken build becomes the highest priority to fix before continuing to add more features. System quality—not just velocity—is important. CI works in three simple stages: push, test, and fix. But despite this simplicity, CI might become challenging if only a few members of the team practice it. Consequently, CI also requires a change in culture and support from management. [source](https://stackify.com/what-is-cicd-whats-important-and-how-to-get-it-right/) * Refactoring can only truly begin once you've actually learned what a piece of code or some data structure did, the unique properties for which they were written or chosen. Anything else is setting yourself up for failure. [source](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) * It also means that when building systems, you should not assume that operators will do things correctly. Expect failure from people. Try to think about tools you can give them to undo their mistakes, because they will happen sooner or later. Have some dread. Be understanding. Know things won't be perfect. [source](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) * Study your tools, see how you work, understand how you can improve it. Don't rush. Before you run, you have to learn to walk. - +* Wait before jumping on every opportunity/request/problem. Don’t touch it / don’t act too soon From f33e0748398150c1f4ddc1371d51ab98a987e0e5 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 12:23:52 +0100 Subject: [PATCH 074/108] update principles --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index fab15ff..a83cf32 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -254,3 +254,4 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * It also means that when building systems, you should not assume that operators will do things correctly. Expect failure from people. Try to think about tools you can give them to undo their mistakes, because they will happen sooner or later. Have some dread. Be understanding. Know things won't be perfect. [source](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) * Study your tools, see how you work, understand how you can improve it. Don't rush. Before you run, you have to learn to walk. * Wait before jumping on every opportunity/request/problem. Don’t touch it / don’t act too soon +* Use right tools for the job (email != todo list, PR and commits != code documentation, Jenkins != long term storage for releases/versions/build info/state of quality of your code) From fb7d778b5a85f45263b6826aff197e5564497a0a Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 12:41:31 +0100 Subject: [PATCH 075/108] additional principles --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index a83cf32..6bcba84 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -255,3 +255,4 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Study your tools, see how you work, understand how you can improve it. Don't rush. Before you run, you have to learn to walk. * Wait before jumping on every opportunity/request/problem. Don’t touch it / don’t act too soon * Use right tools for the job (email != todo list, PR and commits != code documentation, Jenkins != long term storage for releases/versions/build info/state of quality of your code) +* Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. From cc54f1ae67ca241270569249acc46dcfd28be979 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 12:43:58 +0100 Subject: [PATCH 076/108] more principles --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 6bcba84..49e6605 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -256,3 +256,4 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Wait before jumping on every opportunity/request/problem. Don’t touch it / don’t act too soon * Use right tools for the job (email != todo list, PR and commits != code documentation, Jenkins != long term storage for releases/versions/build info/state of quality of your code) * Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. +* Write lesss code, read more. Read more code, tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. From bf484508168274a4a35f16a5e90738f837384832 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 12:45:02 +0100 Subject: [PATCH 077/108] Principles on focus --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 49e6605..8495e9d 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -257,3 +257,4 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Use right tools for the job (email != todo list, PR and commits != code documentation, Jenkins != long term storage for releases/versions/build info/state of quality of your code) * Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. * Write lesss code, read more. Read more code, tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. +* Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. From 04cac4614d9f0febe521ef013106d5524fcc8fa2 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 12:48:03 +0100 Subject: [PATCH 078/108] principle on slowing down and understanding clean code --- PRINCIPLES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 8495e9d..c8256bf 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -258,3 +258,6 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. * Write lesss code, read more. Read more code, tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. * Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. +* Learn how to write clean code, and repeat. So when you will have to rush, you will not forget to do your work right, and you will naturally provide more quality work. +* Do your research, don't always rush in coding or in reinventing the wheel. You will learn a lot through research. +* Reuse existing code. GitHub is your friend. From ae8274b97b5a1960679d5c91224a281125f77423 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 12:51:40 +0100 Subject: [PATCH 079/108] principles ++ --- PRINCIPLES.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index c8256bf..29918f3 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -258,6 +258,8 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. * Write lesss code, read more. Read more code, tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. * Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. -* Learn how to write clean code, and repeat. So when you will have to rush, you will not forget to do your work right, and you will naturally provide more quality work. +* Learn how to write clean code, and repeat. So when you will have to rush, you will not forget to do your work right, and you will naturally provide more quality work. Also you will tend to detect issues earlier before they hit production, i.e during reviews, and writing better code will lead the whole team in getting a better codebase you can all be proud of, which mean work will become more agreeable. * Do your research, don't always rush in coding or in reinventing the wheel. You will learn a lot through research. * Reuse existing code. GitHub is your friend. +* Discipline / Consistency beat motivation and quality. +* You don't want heroes, but you might benefit from experts / excellents colleagues. From 7340b0d5ad62e09942c9f991d03c4efe7485c56e Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 12:52:52 +0100 Subject: [PATCH 080/108] simplify and minimalism --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 29918f3..26b55e6 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -263,3 +263,4 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Reuse existing code. GitHub is your friend. * Discipline / Consistency beat motivation and quality. * You don't want heroes, but you might benefit from experts / excellents colleagues. +* Simplify. Become a minimalist. From 9d122f82e5300e8ce9d8480744360f82e7dc71c5 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 12:53:58 +0100 Subject: [PATCH 081/108] slow programming - wip --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 26b55e6..3cab002 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -264,3 +264,4 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Discipline / Consistency beat motivation and quality. * You don't want heroes, but you might benefit from experts / excellents colleagues. * Simplify. Become a minimalist. +* Do one thing at a time. Only one item under your name in the WIP. The rest will wait. From ce9a000240320acf7612743d01b7422eea86d368 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sun, 24 Jan 2021 21:03:25 +0100 Subject: [PATCH 082/108] Principles calm programming --- PRINCIPLES.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 3cab002..85341eb 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -255,9 +255,9 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Study your tools, see how you work, understand how you can improve it. Don't rush. Before you run, you have to learn to walk. * Wait before jumping on every opportunity/request/problem. Don’t touch it / don’t act too soon * Use right tools for the job (email != todo list, PR and commits != code documentation, Jenkins != long term storage for releases/versions/build info/state of quality of your code) -* Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. +* Love what you have. Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. * Write lesss code, read more. Read more code, tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. -* Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. +* Disconnect & Focus. Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. * Learn how to write clean code, and repeat. So when you will have to rush, you will not forget to do your work right, and you will naturally provide more quality work. Also you will tend to detect issues earlier before they hit production, i.e during reviews, and writing better code will lead the whole team in getting a better codebase you can all be proud of, which mean work will become more agreeable. * Do your research, don't always rush in coding or in reinventing the wheel. You will learn a lot through research. * Reuse existing code. GitHub is your friend. @@ -265,3 +265,5 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * You don't want heroes, but you might benefit from experts / excellents colleagues. * Simplify. Become a minimalist. * Do one thing at a time. Only one item under your name in the WIP. The rest will wait. +* Stay positive. Focus on what is doing ok, what you have accomplished. Focus your brain attention more often on something that is stress free. +* Limit your coffee intake. Drinking caffeine triggers the release of adrenaline. Adrenaline is the source of the “fight-or-flight” response, a survival mechanism that forces you to stand up and fight or run for the hills when faced with a threat. The fight-or-flight mechanism sidesteps rational thinking in favor of a faster response. This is great when a bear is chasing you, but not so great when you’re responding to a curt email. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) From cce6804100b628c41f5011e40f446a8ad9248e44 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 25 Jan 2021 09:33:57 +0100 Subject: [PATCH 083/108] slow programming - sleep --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 85341eb..071f47f 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -267,3 +267,4 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Do one thing at a time. Only one item under your name in the WIP. The rest will wait. * Stay positive. Focus on what is doing ok, what you have accomplished. Focus your brain attention more often on something that is stress free. * Limit your coffee intake. Drinking caffeine triggers the release of adrenaline. Adrenaline is the source of the “fight-or-flight” response, a survival mechanism that forces you to stand up and fight or run for the hills when faced with a threat. The fight-or-flight mechanism sidesteps rational thinking in favor of a faster response. This is great when a bear is chasing you, but not so great when you’re responding to a curt email. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) +* Sleep. When you sleep, your brain literally recharges, shuffling through the day’s memories and storing or discarding them (which causes dreams), so that you wake up alert and clear-headed. Your self-control, attention, and memory are all reduced when you don’t get enough—or the right kind—of sleep. Sleep deprivation raises stress hormone levels on its own, even without a stressor present. Stressful projects often make you feel as if you have no time to sleep, but taking the time to get a decent night’s sleep is often the one thing keeping you from getting things under control. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) From e25ad48e756d6b7e6b4757cced77a0f47ff11c8d Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 25 Jan 2021 09:36:52 +0100 Subject: [PATCH 084/108] slow programming looking for assistance --- PRINCIPLES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 071f47f..de476e4 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -268,3 +268,6 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Stay positive. Focus on what is doing ok, what you have accomplished. Focus your brain attention more often on something that is stress free. * Limit your coffee intake. Drinking caffeine triggers the release of adrenaline. Adrenaline is the source of the “fight-or-flight” response, a survival mechanism that forces you to stand up and fight or run for the hills when faced with a threat. The fight-or-flight mechanism sidesteps rational thinking in favor of a faster response. This is great when a bear is chasing you, but not so great when you’re responding to a curt email. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) * Sleep. When you sleep, your brain literally recharges, shuffling through the day’s memories and storing or discarding them (which causes dreams), so that you wake up alert and clear-headed. Your self-control, attention, and memory are all reduced when you don’t get enough—or the right kind—of sleep. Sleep deprivation raises stress hormone levels on its own, even without a stressor present. Stressful projects often make you feel as if you have no time to sleep, but taking the time to get a decent night’s sleep is often the one thing keeping you from getting things under control. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) +* Look for help | Use your support system. It’s tempting, yet entirely ineffective, to attempt tackling everything by yourself. To be calm and productive, you need to recognize your weaknesses and ask for help when you need it. This means tapping into your support system when a situation is challenging enough for you to feel overwhelmed. Everyone has someone at work and/or outside work who is on their team, rooting for them, and ready to help them get the best from a difficult situation. Identify these individuals in your life and make an effort to seek their insight and assistance when you need it. Something as simple as talking about your worries will provide an outlet for your anxiety and stress and supply you with a new perspective on the situation. Most of the time, other people can see a solution that you can’t because they are not as emotionally invested in the situation. Asking for help will mitigate your stress and strengthen your relationships with those you rely upon. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) + + From dc9e6c96b6de387a2dd14ca213fd6d57a27e21b5 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 25 Jan 2021 09:42:01 +0100 Subject: [PATCH 085/108] slow programming - breathe and healthy tips --- PRINCIPLES.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index de476e4..19c25c4 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -254,20 +254,22 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * It also means that when building systems, you should not assume that operators will do things correctly. Expect failure from people. Try to think about tools you can give them to undo their mistakes, because they will happen sooner or later. Have some dread. Be understanding. Know things won't be perfect. [source](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) * Study your tools, see how you work, understand how you can improve it. Don't rush. Before you run, you have to learn to walk. * Wait before jumping on every opportunity/request/problem. Don’t touch it / don’t act too soon +* Do one thing at a time. Only one item under your name in the WIP. The rest will wait. * Use right tools for the job (email != todo list, PR and commits != code documentation, Jenkins != long term storage for releases/versions/build info/state of quality of your code) * Love what you have. Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. -* Write lesss code, read more. Read more code, tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. -* Disconnect & Focus. Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. +* Write less code, read more. Read more code, tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. * Learn how to write clean code, and repeat. So when you will have to rush, you will not forget to do your work right, and you will naturally provide more quality work. Also you will tend to detect issues earlier before they hit production, i.e during reviews, and writing better code will lead the whole team in getting a better codebase you can all be proud of, which mean work will become more agreeable. * Do your research, don't always rush in coding or in reinventing the wheel. You will learn a lot through research. * Reuse existing code. GitHub is your friend. * Discipline / Consistency beat motivation and quality. -* You don't want heroes, but you might benefit from experts / excellents colleagues. +* You don't want heroes, but you might benefit from experts / excellents colleagues / colleagues & managers that provide support and insights and who do not let you take everyting on your plate. * Simplify. Become a minimalist. -* Do one thing at a time. Only one item under your name in the WIP. The rest will wait. + +## Healthy Slow programming principles +* Disconnect & Focus. Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. * Stay positive. Focus on what is doing ok, what you have accomplished. Focus your brain attention more often on something that is stress free. * Limit your coffee intake. Drinking caffeine triggers the release of adrenaline. Adrenaline is the source of the “fight-or-flight” response, a survival mechanism that forces you to stand up and fight or run for the hills when faced with a threat. The fight-or-flight mechanism sidesteps rational thinking in favor of a faster response. This is great when a bear is chasing you, but not so great when you’re responding to a curt email. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) * Sleep. When you sleep, your brain literally recharges, shuffling through the day’s memories and storing or discarding them (which causes dreams), so that you wake up alert and clear-headed. Your self-control, attention, and memory are all reduced when you don’t get enough—or the right kind—of sleep. Sleep deprivation raises stress hormone levels on its own, even without a stressor present. Stressful projects often make you feel as if you have no time to sleep, but taking the time to get a decent night’s sleep is often the one thing keeping you from getting things under control. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) * Look for help | Use your support system. It’s tempting, yet entirely ineffective, to attempt tackling everything by yourself. To be calm and productive, you need to recognize your weaknesses and ask for help when you need it. This means tapping into your support system when a situation is challenging enough for you to feel overwhelmed. Everyone has someone at work and/or outside work who is on their team, rooting for them, and ready to help them get the best from a difficult situation. Identify these individuals in your life and make an effort to seek their insight and assistance when you need it. Something as simple as talking about your worries will provide an outlet for your anxiety and stress and supply you with a new perspective on the situation. Most of the time, other people can see a solution that you can’t because they are not as emotionally invested in the situation. Asking for help will mitigate your stress and strengthen your relationships with those you rely upon. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) - +* Breathe. The practice of being in the moment with your breathing will begin to train your brain to focus solely on the task at hand and get the stress monkey off your back. When you’re feeling stressed, take a couple of minutes to focus on your breathing. Close the door, put away all other distractions, and just sit in a chair and breathe. The goal is to spend the entire time focused only on your breathing, which will prevent your mind from wandering. Think about how it feels to breathe in and out. This sounds simple, but it’s hard to do for more than a minute or two. It’s all right if you get sidetracked by another thought; this is sure to happen at the beginning, and you just need to bring your focus back to your breathing. If staying focused on your breathing proves to be a real struggle, try counting each breath in and out until you get to 20, and then start again from 1. Don’t worry if you lose count; you can always just start over. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) From 4167c886bfa1a5021aed27fb51b985d5f6ae01ef Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 25 Jan 2021 09:42:44 +0100 Subject: [PATCH 086/108] healthy tips / helpers --- PRINCIPLES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 19c25c4..bc15796 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -265,7 +265,7 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * You don't want heroes, but you might benefit from experts / excellents colleagues / colleagues & managers that provide support and insights and who do not let you take everyting on your plate. * Simplify. Become a minimalist. -## Healthy Slow programming principles +## Slow programming Healthy tips / helpers * Disconnect & Focus. Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. * Stay positive. Focus on what is doing ok, what you have accomplished. Focus your brain attention more often on something that is stress free. * Limit your coffee intake. Drinking caffeine triggers the release of adrenaline. Adrenaline is the source of the “fight-or-flight” response, a survival mechanism that forces you to stand up and fight or run for the hills when faced with a threat. The fight-or-flight mechanism sidesteps rational thinking in favor of a faster response. This is great when a bear is chasing you, but not so great when you’re responding to a curt email. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) From 808cb23341a17b4d48c13f0d0ee0ed120c7bb23c Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 25 Jan 2021 09:43:46 +0100 Subject: [PATCH 087/108] highlight how successful people stay calm --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f9a0e51..b952325 100644 --- a/README.md +++ b/README.md @@ -4301,7 +4301,7 @@ See also [Operations / IT OPS](#operations--it-ops) * [Jeff Haden](https://www.linkedin.com/pulse/10-steps-make-each-day-incredibly-productive-jeff-haden) - 10 Steps to Make Each Day Exceptionally Productive * [alphagov/govdesign](https://github.com/alphagov/govdesign) - Lot of useful posters to print * [Edouard-Malo HENRY](https://www.linkedin.com/pulse/moving-from-how-why-company-edouard-malo-henry) - Moving from a "how" to a "why" company -* [Dr. Travis Bradberry](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm) - How Successful People Stay Calm +* :star: [**Dr. Travis Bradberry**](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm) - How Successful People Stay Calm * [Wall-Skills](http://wall-skills.com/) - Great 1-pagers to share in your company * [Corinna Baldauf](http://wall-skills.com/2016/how-to-master-any-skill-badass/) - (2016) How to master any skill – Badass * [Karl E. Wiegers](http://www.processimpact.com/articles/humanizing_reviews.html) - Humanizing Peer Reviews @@ -5021,7 +5021,7 @@ Maturity Model See also [Clean code](#clean-code-and-best-practices) and [Slow programming principles](PRINCIPLES.md#slow-programming-principles) I dedicate this section to the work I'm busy at, about how going faster in short term can cost you quality, money and confidence in long term. Studying relationships between quality, productivity, thinking fast & slow, slowing down, and the craft of programming. -* [Dr. Travis Bradberry](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm) - How Successful People Stay Calm +* :star: [**Dr. Travis Bradberry**](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm) - How Successful People Stay Calm * [Gregg Caines](http://caines.ca/blog/2009/12/13/code-slower/) - (2009) Code Slower * [Alicia Liu](https://medium.com/counter-intuition/go-slow-to-go-fast-part-1-you-a4974ceb8a7c) - (2018) Go Slow to Go Fast — [Part 1: You](https://medium.com/counter-intuition/go-slow-to-go-fast-part-1-you-a4974ceb8a7c), [Part 2: Team](https://medium.com/counter-intuition/go-slow-to-go-fast-part-2-team-e793bb0d658a), [Part 3: World](https://medium.com/counter-intuition/go-slow-to-go-fast-part-3-world-efb76c4de220) * [Shan](https://shansvex.wordpress.com/2013/12/03/being-a-slow-programmer/) - (2013) Being a Slow Programmer From 814770bf399e59299c0fe9d03c79ff2274cf49e6 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 25 Jan 2021 10:18:03 +0100 Subject: [PATCH 088/108] =?UTF-8?q?add=20year=20in=20Fred=20H=C3=A9bert=20?= =?UTF-8?q?articles?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b952325..fde193f 100644 --- a/README.md +++ b/README.md @@ -189,8 +189,8 @@ How can you support me : [![Buy me a coffee][img-buymeacoffee]][buymeacoffee] or * [Christian Neumanns](https://www.codeproject.com/Articles/787668/Why-We-Should-Love-null) - (2014) Why We Should Love 'null' / + the Null Object Pattern * [Chris Wheeler](http://chriswheeler.blogspot.be/2005/05/my-favourite-smells.html) - (2005) My Favourite Smells / about primitive obsession * :star: [**The Twelve-Factor App**](https://12factor.net/) - is a methodology for building software-as-a-service apps of great quality -* [Fred Hébert](https://ferd.ca/queues-don-t-fix-overload.html) - Queues Don't Fix Overload -* [Fred Hébert](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) - Lessons Learned while Working on Large-Scale Server Software +* [Fred Hébert](https://ferd.ca/queues-don-t-fix-overload.html) - (2015) Queues Don't Fix Overload +* [Fred Hébert](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) - (2015) Lessons Learned while Working on Large-Scale Server Software * [StackExchange](https://stackexchange.com/performance) - Amazing presentation of Stack Exchange infrastructure. All about performance * [Adam Pittenger](https://medium.com/@apitt24/love-what-you-build-build-what-you-love-9cedbb05e32f) - Love what you build. Build what you love. * [R0ml](https://codewords.recurse.com/issues/one/why-are-objects-so-hard-to-debug) - Why are objects so hard to debug? @@ -3819,7 +3819,7 @@ See also [Monitoring](#monitoring) * [Paul English](https://opensource.com/article/17/7/truth-about-sysadmins) - (2017) The truth about sysadmins * [plop_plop_sys](http://linuxfr.org/users/plop_plop_sys/journaux/so-you-wanna-be-a-sysadmin-trolldi-inside) - (2014) [FR] :fr: - Journal So, you wanna be a sysadmin ? (Trolldi inside) * [mr-mig/going-to-production](https://github.com/mr-mig/going-to-production) - A checklist for topics which should be covered before going to production. -* [Fred Hébert](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) - Lessons Learned while Working on Large-Scale Server Software +* [Fred Hébert](https://ferd.ca/lessons-learned-while-working-on-large-scale-server-software.html) - (2015) Lessons Learned while Working on Large-Scale Server Software * [arvind](https://www.codementor.io/arvindsoni/in-devops-dev-is-killing-ops-d8gr1zdkh) - (2017) In DevOps, Dev is Killing Ops // read the full article + conclusion to have a better understanding * [Alex Zhitnitsky](http://blog.takipi.com/15-tools-to-use-when-deploying-code-to-production/) - (2014) 15 Tools Java Developers Should Use After a Major Release * [Doug Tedder](https://www.dougtedder.com/2017/09/03/ops-just-get-out-of-the-way/) - (2017) Ops, just get out of the way From 6e625ba43e52b45b4d69043ad09679282a797f6a Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 25 Jan 2021 10:22:57 +0100 Subject: [PATCH 089/108] =?UTF-8?q?What=20Is=20CICD=3F=20What=E2=80=99s=20?= =?UTF-8?q?Important=20and=20How=20to=20Get=20It=20Right?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fde193f..e464024 100644 --- a/README.md +++ b/README.md @@ -1622,6 +1622,7 @@ curl --user username:password -X POST -F "jenkinsfile= - But if those things interact, like software changes, then the cost of each may rise non-linearly. > - Be careful what you batch! > - It’s like DevOps and CI/CD: more frequent deploys are safer. +* [Christian Melendez](https://stackify.com/what-is-cicd-whats-important-and-how-to-get-it-right/) - (2019) What Is CICD? What’s Important and How to Get It Right | a good reminder (one again) of the most important principles ## Ansible * [Ansible](https://www.ansible.com/blog) - Ansible Blog From f5c1e88a0c3aaa6f144f6b692d4d4110d62a276d Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 25 Jan 2021 10:40:21 +0100 Subject: [PATCH 090/108] (2020) Complexity Has to Live Somewhere --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index e464024..f51df7a 100644 --- a/README.md +++ b/README.md @@ -310,6 +310,14 @@ A small group of programmers wants to change how we code—before catastrophe st > - Collaboration, it turns out, gets harder in proportion to two things: the level of coherence you demand from the output, and the complexity of the processes that create it. > - Collaboration that creates incoherence is easy. You all just do whatever you want. Equally, collaboration on things that are not complex is easy. You can all see whether the log has been chopped or not, there is limited room for debate. > - On the other hand, lets say that instead we first come up with a clear overarching plan for what we’re doing. This makes it much more likely the outcome will be coherent. But the price we pay is having to handle the complexity of the entire challenge all at once. +* [Fred Hébert](https://ferd.ca/complexity-has-to-live-somewhere.html) - (2020) Complexity Has to Live Somewhere +> When dealing with build tools, a few things become apparent: +> * if you make the build tool simple, it won't handle all the weird edge cases that exist out there +> * if you want to handle the weird edge cases, you need to deviate from whatever norm you wanted to establish +> * if you want ease of use for common defaults, the rules for common defaults must be shared between the tool and the users, who shape their systems to fit the tool's expectations +> * if you allow configuration or scripting, you give the users a way to specify the rules that must be shared, so the tool fits their systems +> * if you want to keep the tool simple, you have to force your users to only play within the parameters that fit this simplicity +> * if your users' use cases don't map well to your simplicity, they will build shims around your tool to attain their objectives # Art :art: > News @@ -1623,6 +1631,14 @@ curl --user username:password -X POST -F "jenkinsfile= - Be careful what you batch! > - It’s like DevOps and CI/CD: more frequent deploys are safer. * [Christian Melendez](https://stackify.com/what-is-cicd-whats-important-and-how-to-get-it-right/) - (2019) What Is CICD? What’s Important and How to Get It Right | a good reminder (one again) of the most important principles +* [Fred Hébert](https://ferd.ca/complexity-has-to-live-somewhere.html) - (2020) Complexity Has to Live Somewhere +> When dealing with build tools, a few things become apparent: +> * if you make the build tool simple, it won't handle all the weird edge cases that exist out there +> * if you want to handle the weird edge cases, you need to deviate from whatever norm you wanted to establish +> * if you want ease of use for common defaults, the rules for common defaults must be shared between the tool and the users, who shape their systems to fit the tool's expectations +> * if you allow configuration or scripting, you give the users a way to specify the rules that must be shared, so the tool fits their systems +> * if you want to keep the tool simple, you have to force your users to only play within the parameters that fit this simplicity +> * if your users' use cases don't map well to your simplicity, they will build shims around your tool to attain their objectives ## Ansible * [Ansible](https://www.ansible.com/blog) - Ansible Blog From f2f780400b7c15634b5740ef9d52862f8fdbcee5 Mon Sep 17 00:00:00 2001 From: Morgan Date: Mon, 25 Jan 2021 12:55:59 +0100 Subject: [PATCH 091/108] add Jenkinsfile runner articles/section --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index f51df7a..1dce76d 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ How can you support me : [![Buy me a coffee][img-buymeacoffee]][buymeacoffee] or * [Containers](#containers) * [Gradle](#gradle) * [Jenkins](#jenkins) + * [Jenkinsfile runner](#jenkinsfile-runner) * [Kubernetes](#kubernetes) * [Microservices](#microservices) * [Maven](#maven) @@ -2270,6 +2271,14 @@ curl --user username:password -X POST -F "jenkinsfile= Date: Mon, 25 Jan 2021 12:57:08 +0100 Subject: [PATCH 092/108] Fix list item indentation in JFR section --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1dce76d..c8884bf 100644 --- a/README.md +++ b/README.md @@ -2274,9 +2274,9 @@ curl --user username:password -X POST -F "jenkinsfile= Date: Mon, 25 Jan 2021 12:58:45 +0100 Subject: [PATCH 093/108] Add my 2 cents on CI doesn't work headlline --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c8884bf..445f1da 100644 --- a/README.md +++ b/README.md @@ -1538,7 +1538,7 @@ curl --user username:password -X POST -F "jenkinsfile= Date: Wed, 27 Jan 2021 14:42:07 +0100 Subject: [PATCH 094/108] slow prog principles don't be over confident --- PRINCIPLES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index bc15796..4211550 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -264,6 +264,7 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Discipline / Consistency beat motivation and quality. * You don't want heroes, but you might benefit from experts / excellents colleagues / colleagues & managers that provide support and insights and who do not let you take everyting on your plate. * Simplify. Become a minimalist. +* Don't be overconfident. Some tasks look simple at first glance, but it can hide some challenges. Take the time needed to run your analysis and estimate the effort after you have checked all possible impacts you could check. Overestimating is one thing, but underestimating the effort and challenge can really lead to getting cascade issues and mistakes that would add a lot of pressure on every team and lead then to rushing even more and causing even bigger mistakes. ## Slow programming Healthy tips / helpers * Disconnect & Focus. Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. From 58efeb5238e224ef964ad5ddfc42139b981f6c62 Mon Sep 17 00:00:00 2001 From: Morgan Date: Wed, 27 Jan 2021 17:50:01 +0100 Subject: [PATCH 095/108] list of awesome actions to use on GitHub not always so awesome but anyway... --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 445f1da..41829bf 100644 --- a/README.md +++ b/README.md @@ -5655,6 +5655,9 @@ psql -f db.out postgres * :star: [**gitignore.io**](https://www.toptal.com/developers/gitignore) - Generate useful .gitignore files for your project. **See also** [Source Code](https://github.com/toptal/gitignore.io) * [github/gitignore](https://github.com/github/gitignore) - A collection of useful .gitignore templates +### GitHub +* [sdras/awesome-actions](https://github.com/sdras/awesome-actions) - A curated list of awesome actions to use on GitHub + ### Dotfiles / Aliases See also [Shell aliases](#shell-aliases) * [Rob Miller](https://gist.github.com/robmiller/6018582) - shared .gitconfig with some useful Git aliases From 13396622865b7db1212087a00b172bd516bf4786 Mon Sep 17 00:00:00 2001 From: Morgan Date: Wed, 27 Jan 2021 17:50:59 +0100 Subject: [PATCH 096/108] Link and reorder GitHub section --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 41829bf..4c862c6 100644 --- a/README.md +++ b/README.md @@ -126,6 +126,7 @@ How can you support me : [![Buy me a coffee][img-buymeacoffee]][buymeacoffee] or * [Gamedev](#gamedev) * [Git :octocat:](#git-octocat) * [Dotfiles / Aliases](#dotfiles--aliases) + * [GitHub](#github) * [Golang / Go](#golang--go) * [Groovy](#groovy) * [Haskell](#haskell) @@ -5655,9 +5656,6 @@ psql -f db.out postgres * :star: [**gitignore.io**](https://www.toptal.com/developers/gitignore) - Generate useful .gitignore files for your project. **See also** [Source Code](https://github.com/toptal/gitignore.io) * [github/gitignore](https://github.com/github/gitignore) - A collection of useful .gitignore templates -### GitHub -* [sdras/awesome-actions](https://github.com/sdras/awesome-actions) - A curated list of awesome actions to use on GitHub - ### Dotfiles / Aliases See also [Shell aliases](#shell-aliases) * [Rob Miller](https://gist.github.com/robmiller/6018582) - shared .gitconfig with some useful Git aliases @@ -5689,6 +5687,9 @@ See also [Shell aliases](#shell-aliases) * [Jeffrey Paul](https://sneak.berlin/20191011/stupid-unix-tricks/) - (2019) Stupid Unix Tricks * [github/gitignore](https://github.com/github/gitignore) - A collection of useful .gitignore templates +### GitHub +* [sdras/awesome-actions](https://github.com/sdras/awesome-actions) - A curated list of awesome actions to use on GitHub + ## Golang / Go * [faiface/pixel](https://github.com/faiface/pixel) - Pixel : A hand-crafted 2D game library in Go. * [Go Docs](https://golang.org/pkg/flag/) - Package flag From c9f04699c84a231ec0298e7dbcee6f41c14e030d Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 28 Jan 2021 10:54:21 +0100 Subject: [PATCH 097/108] Move the quote in the slow programming principles --- PRINCIPLES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 4211550..785eb98 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -80,7 +80,6 @@ * Functions do one thing * Functions have max 2-3 parameters * [Shirky Principle](https://twitter.com/OlafLewitz/statuses/560711454434025472) : Institutions will try to preserve the problem to which they are the solution. -* [Shower Thoughts](https://twitter.com/TheWeirdWorld/status/930155807651528706) - Don’t forget to drink water, get sunlight, and that we are basically a house plant with complicated feelings. * [David McRaney](https://youarenotsosmart.com/2010/06/23/confirmation-bias/) - Confirmation Bias : Your opinions are the result of years of paying attention to information which confirmed what you believed while ignoring information which challenged your preconceived notions. * [David McRaney](https://youarenotsosmart.com/2013/05/23/survivorship-bias/) - Survivorship Bias : When failure becomes invisible, the difference between failure and success may also become invisible. * [David McRaney](https://youarenotsosmart.com/2010/10/27/procrastination/) - Procrastination is fueled by weakness in the face of impulse and a failure to think about thinking. @@ -273,4 +272,5 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Sleep. When you sleep, your brain literally recharges, shuffling through the day’s memories and storing or discarding them (which causes dreams), so that you wake up alert and clear-headed. Your self-control, attention, and memory are all reduced when you don’t get enough—or the right kind—of sleep. Sleep deprivation raises stress hormone levels on its own, even without a stressor present. Stressful projects often make you feel as if you have no time to sleep, but taking the time to get a decent night’s sleep is often the one thing keeping you from getting things under control. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) * Look for help | Use your support system. It’s tempting, yet entirely ineffective, to attempt tackling everything by yourself. To be calm and productive, you need to recognize your weaknesses and ask for help when you need it. This means tapping into your support system when a situation is challenging enough for you to feel overwhelmed. Everyone has someone at work and/or outside work who is on their team, rooting for them, and ready to help them get the best from a difficult situation. Identify these individuals in your life and make an effort to seek their insight and assistance when you need it. Something as simple as talking about your worries will provide an outlet for your anxiety and stress and supply you with a new perspective on the situation. Most of the time, other people can see a solution that you can’t because they are not as emotionally invested in the situation. Asking for help will mitigate your stress and strengthen your relationships with those you rely upon. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) * Breathe. The practice of being in the moment with your breathing will begin to train your brain to focus solely on the task at hand and get the stress monkey off your back. When you’re feeling stressed, take a couple of minutes to focus on your breathing. Close the door, put away all other distractions, and just sit in a chair and breathe. The goal is to spend the entire time focused only on your breathing, which will prevent your mind from wandering. Think about how it feels to breathe in and out. This sounds simple, but it’s hard to do for more than a minute or two. It’s all right if you get sidetracked by another thought; this is sure to happen at the beginning, and you just need to bring your focus back to your breathing. If staying focused on your breathing proves to be a real struggle, try counting each breath in and out until you get to 20, and then start again from 1. Don’t worry if you lose count; you can always just start over. [source](https://www.linkedin.com/pulse/20140805002649-50578967-how-successful-people-stay-calm/) +* [Shower Thoughts](https://twitter.com/TheWeirdWorld/status/930155807651528706) - Don’t forget to drink water, get sunlight, and that we are basically a house plant with complicated feelings. From 9695c147b90e2dc66fbd3363536b700683497957 Mon Sep 17 00:00:00 2001 From: Morgan Date: Fri, 29 Jan 2021 18:36:39 +0100 Subject: [PATCH 098/108] Current rainfall radar for Belgium --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4c862c6..205aa86 100644 --- a/README.md +++ b/README.md @@ -2934,6 +2934,7 @@ See also [Infrastructure](#infrastructure) * [hashtomagnet.xyz](https://hashtomagnet.xyz/) - Hash to Magnet generator + Get Seed/Leech informations * [DeepAI](https://deepai.org/machine-learning-model/colorizer) - Image Colorization API * [Sedja](https://www.sejda.com/) - Easy, pleasant and productive PDF editor +* [Buienradar.be](https://www.buienradar.be/weer/Brussel/BE/2800866) - [BE] Current rainfall radar for Belgium, Europe, satellite images, weather reports and forecasts. > Bookmarklets * [mourner/bullshit.js](https://github.com/mourner/bullshit.js) - A bookmarklet for translating marketing speak into human-readable text. 💩 **See also** : [Home Page](https://mourner.github.io/bullshit.js/) @@ -7151,6 +7152,7 @@ See also [Dotfiles / Aliases](#dotfiles--aliases) * [MyLifeElsewhere](https://www.mylifeelsewhere.com/) - allows you to compare your home country with different countries around the world. * [Brussels for Beer Geeks](https://www.google.com/maps/d/u/0/viewer?mid=1R99-MBg6KXiPLnWk--ROWWJFX4s) - [BE] A map with bars ,shops, restos of interest for beer geeks visiting Brussels. Bars will usually have a varied selection of good Belgian and/or foreign beers. Restos will have a focus on food and beer. Via [Belgianbeergeek.be](https://belgianbeergeek.be/) * [Radar Virtuel](https://www.radarvirtuel.com/) - :fr: [FR] Le site Radar Virtuel permet de voir le trafic aérien en temps réel avec des petits avions sur une carte Google, ça marche très bien en Europe, autour des aéroports aux États-Unis et pas du tout dans le reste du monde, c’est dommage. +* [Buienradar.be](https://www.buienradar.be/weer/Brussel/BE/2800866) - [BE] Current rainfall radar for Belgium, Europe, satellite images, weather reports and forecasts. # Troubleshooting * [Sandra Henry-Stocker](http://www.computerworld.com/article/3196138/linux/whos-hogging-the-network.html) - Who's hogging the network? Bandwidth usage on a Linux system From 9fa733bf3a67fb51f55f3369f9703464be210b8b Mon Sep 17 00:00:00 2001 From: Morgan Date: Fri, 29 Jan 2021 18:47:27 +0100 Subject: [PATCH 099/108] add talent d'or result chart --- tests/talentdor.png | Bin 0 -> 18091 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/talentdor.png diff --git a/tests/talentdor.png b/tests/talentdor.png new file mode 100644 index 0000000000000000000000000000000000000000..45386856b106babcbe46723c892d56c3b5de1291 GIT binary patch literal 18091 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 literal 0 HcmV?d00001 From 36a8bde1683d5946ebf3c970b38fe2f9321f7e19 Mon Sep 17 00:00:00 2001 From: Morgan Date: Fri, 29 Jan 2021 18:48:45 +0100 Subject: [PATCH 100/108] Add talent d'or | boussole personality test result --- tests/talent_dor_test_boussole.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 tests/talent_dor_test_boussole.md diff --git a/tests/talent_dor_test_boussole.md b/tests/talent_dor_test_boussole.md new file mode 100644 index 0000000..abc1494 --- /dev/null +++ b/tests/talent_dor_test_boussole.md @@ -0,0 +1,31 @@ +[maReussite](https://www.wake-up.io/boussole/) - [FR] Test Boussole | Test de personnalité pour trouver son talent d'or + +### Présentation +Boussole est un test de personnalité basé sur les recherches en neurosciences ainsi que sur la mécanique de l'esprit décrite dans les travaux du célèbre psychologue Carl Gustav Jung. A travers ses questions, il analyse ainsi les dimensions conscientes et inconscientes de notre psychologie. + +### Votre talent d'or + +D’après vos réponses au questionnaire, votre talent d'or se caractériserait par votre capacité à favoriser l’harmonie et la stabilité. Vous savez créer des liens forts avec les personnes grâce à votre empathie et votre écoute attentive. On apprécie ainsi votre gentillesse, votre calme et votre volonté d’aider. + +Votre fiabilité est également une grande force. On sait que si prenez en charge une tâche, alors elle sera rendue en temps et en heure et qu’aucun détail ne sera laissé au hasard. Vous prendrez le temps de vous informer précisément sur les tenants etles aboutissants du sujet. Puis, si vous rencontrez un problème, on pourra compter sur votre sens pratique aiguisé pour en venir à bout. + +Si cette description vous semble plutôt naturelle, c’est une très bonne chose. Cela signifie qu’elle est pertinente et qu’il s’agit potentiellement de votre talent d’or. Maintenant, tout votre challenge est de prendre conscience que pour plus de 90 %de l’humanité, ces capacités ne sont pas du tout naturelles, ni évidentes. + +La plupart des personnes n’ont pas une sensibilité et un pragmatisme autant développés que vous Morgan. Elles n’accordent pas autant d’importance à l’harmonie et à l’efficacité dans le travail. Affirmez donc fièrement qui vous êtes. + +![talentdor](talentdor.png) + +En entreprise, vous êtes celui qui fait en sorte que le travail soit productif et qu’il tienne compte du bien-être de chacun. Pour ce faire, les choses doivent s’exécuter l’une après l’autre et en prévenant suffisamment à l’avance. Dans ce contexte, vous pouvez libérer une énergie et un enthousiasme qui sont tout à fait fédérateurs dans votre équipe. Vous arrivez alors valoriser les talents de chacun et à vous faire apprécier en tant que leader. + +En revanche, vous êtes sans doute moins à l’aise avec l’incertitude, l’abstraction et les conflits. Ces trois éléments font pourtant partie de la vie de toute entreprise. Mais ce n’est pas un problème car vous pouvez vous entourer de personnes particulièrement stratèges et visionnaires qui savent aller spontanément à la rencontre de l’inconnu. Ce type de binôme est très harmonieux car votre esprit terre-à-terre complète très bien les esprits créatifs. À condition néanmoins de bien reconnaître leur valeur. + +Concrètement, vous devriez vous orienter vers des métiers qui visent à favoriser l’harmonie collective et le bien-être. Par exemple des métiers dans l’accompagnement de personnes ou dans les ressources humaines. Les entreprises stables, bien établieset qui prennent réellement en compte le facteur humain peuvent vous offrir un contexte idéal d’épanouissement. + + +### En résumé : + +Si vous ne deviez retenir que trois qualités et les défendre en entretien, vous pourriez sans doute affirmer avec confiance que vous êtes : + +* empathique +* fiable +* pragmatique From 4c5ba3db3168809fb0948a127937f46236881ebf Mon Sep 17 00:00:00 2001 From: Morgan Date: Fri, 29 Jan 2021 18:49:30 +0100 Subject: [PATCH 101/108] Correct website title --- tests/talent_dor_test_boussole.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/talent_dor_test_boussole.md b/tests/talent_dor_test_boussole.md index abc1494..8d0188c 100644 --- a/tests/talent_dor_test_boussole.md +++ b/tests/talent_dor_test_boussole.md @@ -1,4 +1,4 @@ -[maReussite](https://www.wake-up.io/boussole/) - [FR] Test Boussole | Test de personnalité pour trouver son talent d'or +[WAKE UP](https://www.wake-up.io/boussole/) - [FR] Test Boussole | Test de personnalité pour trouver son talent d'or ### Présentation Boussole est un test de personnalité basé sur les recherches en neurosciences ainsi que sur la mécanique de l'esprit décrite dans les travaux du célèbre psychologue Carl Gustav Jung. A travers ses questions, il analyse ainsi les dimensions conscientes et inconscientes de notre psychologie. From d165bab8f62e1a3a000bee37a6ba42ff34ed2d2b Mon Sep 17 00:00:00 2001 From: Morgan Date: Fri, 29 Jan 2021 18:49:56 +0100 Subject: [PATCH 102/108] Add language flag (french :fr: ) --- tests/talent_dor_test_boussole.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/talent_dor_test_boussole.md b/tests/talent_dor_test_boussole.md index 8d0188c..8cbdd56 100644 --- a/tests/talent_dor_test_boussole.md +++ b/tests/talent_dor_test_boussole.md @@ -1,4 +1,4 @@ -[WAKE UP](https://www.wake-up.io/boussole/) - [FR] Test Boussole | Test de personnalité pour trouver son talent d'or +[WAKE UP](https://www.wake-up.io/boussole/) - :fr: [FR] Test Boussole | Test de personnalité pour trouver son talent d'or ### Présentation Boussole est un test de personnalité basé sur les recherches en neurosciences ainsi que sur la mécanique de l'esprit décrite dans les travaux du célèbre psychologue Carl Gustav Jung. A travers ses questions, il analyse ainsi les dimensions conscientes et inconscientes de notre psychologie. From 683f71e81d518d38b1881d1eb72cbfdfbb0a1ce3 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 30 Jan 2021 10:37:29 +0100 Subject: [PATCH 103/108] Software development topics I've changed my mind on after 6 years in the industry --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 205aa86..45a72e1 100644 --- a/README.md +++ b/README.md @@ -4965,6 +4965,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [:books: Freely available programming books](https://ebookfoundation.github.io/free-programming-books/books/free-programming-books.html) - List of Free Learning Resources In Many Languages. **Source code** : [EbookFoundation/free-programming-books](https://github.com/EbookFoundation/free-programming-books) * [Async Manifesto](http://asyncmanifesto.org/) - (2014) Manifesto for Async Software Development | Principles of Async Software Development * [Peter Van Roy](https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf) - (2008) [PDF] Programming Paradigms for Dummies: What Every Programmer Should Know. **Bonus** :fr: [FR] [Slides in french](https://www.info.ucl.ac.be/~pvr/jussieuParadigms2008.pdf) and [Poster in English](https://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng108.pdf) +* [Chris Kiehl](https://chriskiehl.com/article/thoughts-after-6-years) - (2021) Software development topics I've changed my mind on after 6 years in the industry > Programming challenges * [Colin Hughes](https://projecteuler.net/index.php?section=problems) - Project Euler proposes a series of challenging mathematical/computer programming problems From fbb7db48591c1f420c6754f14d4b32a71621d69d Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 30 Jan 2021 10:44:26 +0100 Subject: [PATCH 104/108] Add refs for claim --- PRINCIPLES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 785eb98..b63cbaf 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -263,7 +263,7 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Discipline / Consistency beat motivation and quality. * You don't want heroes, but you might benefit from experts / excellents colleagues / colleagues & managers that provide support and insights and who do not let you take everyting on your plate. * Simplify. Become a minimalist. -* Don't be overconfident. Some tasks look simple at first glance, but it can hide some challenges. Take the time needed to run your analysis and estimate the effort after you have checked all possible impacts you could check. Overestimating is one thing, but underestimating the effort and challenge can really lead to getting cascade issues and mistakes that would add a lot of pressure on every team and lead then to rushing even more and causing even bigger mistakes. +* Don't be overconfident | the fallacy of skipping the planning stage. Some tasks look simple at first glance, but it can hide some challenges. Take the time needed to run your analysis and estimate the effort after you have checked all possible impacts you could check. Overestimating is one thing, but underestimating the effort and challenge can really lead to getting cascade issues and mistakes that would add a lot of pressure on every team and lead then to rushing even more and causing even bigger mistakes. See also [Ref : Skipping the planning stage](https://www.caines.ca/blog/2009/12/13/code-slower/) ## Slow programming Healthy tips / helpers * Disconnect & Focus. Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. From 2d193af5f69495bcdca82aa74827d7eb702da903 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 30 Jan 2021 10:53:45 +0100 Subject: [PATCH 105/108] slow programmer : refs --- PRINCIPLES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index b63cbaf..7717564 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -254,6 +254,7 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Study your tools, see how you work, understand how you can improve it. Don't rush. Before you run, you have to learn to walk. * Wait before jumping on every opportunity/request/problem. Don’t touch it / don’t act too soon * Do one thing at a time. Only one item under your name in the WIP. The rest will wait. +* Test the crap out of everything you do before telling anyone you are "finished". See also [Ref 1 : Being a slow programmer](https://shansvex.wordpress.com/2013/12/03/being-a-slow-programmer/) * Use right tools for the job (email != todo list, PR and commits != code documentation, Jenkins != long term storage for releases/versions/build info/state of quality of your code) * Love what you have. Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. * Write less code, read more. Read more code, tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. @@ -264,6 +265,7 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * You don't want heroes, but you might benefit from experts / excellents colleagues / colleagues & managers that provide support and insights and who do not let you take everyting on your plate. * Simplify. Become a minimalist. * Don't be overconfident | the fallacy of skipping the planning stage. Some tasks look simple at first glance, but it can hide some challenges. Take the time needed to run your analysis and estimate the effort after you have checked all possible impacts you could check. Overestimating is one thing, but underestimating the effort and challenge can really lead to getting cascade issues and mistakes that would add a lot of pressure on every team and lead then to rushing even more and causing even bigger mistakes. See also [Ref : Skipping the planning stage](https://www.caines.ca/blog/2009/12/13/code-slower/) +* Writing classes and functions that do a lot. ## Slow programming Healthy tips / helpers * Disconnect & Focus. Value your time, use it to focus. Put lot of non-meeting blocks in your agenda. From 6aefd66555afde6cd204de2e033538e789e314d1 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 30 Jan 2021 10:57:06 +0100 Subject: [PATCH 106/108] you are what you feed your mind with --- PRINCIPLES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 7717564..2a60c18 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -254,10 +254,10 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Study your tools, see how you work, understand how you can improve it. Don't rush. Before you run, you have to learn to walk. * Wait before jumping on every opportunity/request/problem. Don’t touch it / don’t act too soon * Do one thing at a time. Only one item under your name in the WIP. The rest will wait. -* Test the crap out of everything you do before telling anyone you are "finished". See also [Ref 1 : Being a slow programmer](https://shansvex.wordpress.com/2013/12/03/being-a-slow-programmer/) +* Test the crap out of everything you do before telling anyone you are "finished". See also [Ref : Being a slow programmer](https://shansvex.wordpress.com/2013/12/03/being-a-slow-programmer/) * Use right tools for the job (email != todo list, PR and commits != code documentation, Jenkins != long term storage for releases/versions/build info/state of quality of your code) * Love what you have. Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. -* Write less code, read more. Read more code, tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. +* Write less code, read more than you write. Read more tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. As with culture and and knowledge, you are the books you read, the films you watch, the music you listen to, the people you spend time with, the conversations you engage in. Choose wisely what you feed your mind with, and it's true with code as well. See also [Ref : Being a slow programmer](https://shansvex.wordpress.com/2013/12/03/being-a-slow-programmer/) * Learn how to write clean code, and repeat. So when you will have to rush, you will not forget to do your work right, and you will naturally provide more quality work. Also you will tend to detect issues earlier before they hit production, i.e during reviews, and writing better code will lead the whole team in getting a better codebase you can all be proud of, which mean work will become more agreeable. * Do your research, don't always rush in coding or in reinventing the wheel. You will learn a lot through research. * Reuse existing code. GitHub is your friend. From 85731e53b61a9f2d4398451f875c61d0263df071 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 30 Jan 2021 10:59:58 +0100 Subject: [PATCH 107/108] (2012) Learn to Read the Source, Luke --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 45a72e1..75f2746 100644 --- a/README.md +++ b/README.md @@ -4966,6 +4966,7 @@ A small group of programmers wants to change how we code—before catastrophe st * [Async Manifesto](http://asyncmanifesto.org/) - (2014) Manifesto for Async Software Development | Principles of Async Software Development * [Peter Van Roy](https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf) - (2008) [PDF] Programming Paradigms for Dummies: What Every Programmer Should Know. **Bonus** :fr: [FR] [Slides in french](https://www.info.ucl.ac.be/~pvr/jussieuParadigms2008.pdf) and [Poster in English](https://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng108.pdf) * [Chris Kiehl](https://chriskiehl.com/article/thoughts-after-6-years) - (2021) Software development topics I've changed my mind on after 6 years in the industry +* [Jeff Atwood](https://blog.codinghorror.com/learn-to-read-the-source-luke/) - (2012) Learn to Read the Source, Luke > Programming challenges * [Colin Hughes](https://projecteuler.net/index.php?section=problems) - Project Euler proposes a series of challenging mathematical/computer programming problems From f0d471e9ac96bf32280e963ce394b9c73a1ae777 Mon Sep 17 00:00:00 2001 From: Morgan Date: Sat, 30 Jan 2021 11:00:30 +0100 Subject: [PATCH 108/108] slow programming : add more refs --- PRINCIPLES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 2a60c18..4b7333a 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -257,7 +257,7 @@ See also [Calm programming / Slow programming](README.md#calm-programming--slow- * Test the crap out of everything you do before telling anyone you are "finished". See also [Ref : Being a slow programmer](https://shansvex.wordpress.com/2013/12/03/being-a-slow-programmer/) * Use right tools for the job (email != todo list, PR and commits != code documentation, Jenkins != long term storage for releases/versions/build info/state of quality of your code) * Love what you have. Using boring technology. Don't get distracted too often with shiny tools that reinvent the wheel. -* Write less code, read more than you write. Read more tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. As with culture and and knowledge, you are the books you read, the films you watch, the music you listen to, the people you spend time with, the conversations you engage in. Choose wisely what you feed your mind with, and it's true with code as well. See also [Ref : Being a slow programmer](https://shansvex.wordpress.com/2013/12/03/being-a-slow-programmer/) +* Write less code, read more than you write. Read more tips, manuals, blogs, articles, watch presentations and listen to podcasts about your programming craft. Learn from others prior to writing bugs. As with culture and and knowledge, you are the books you read, the films you watch, the music you listen to, the people you spend time with, the conversations you engage in. Choose wisely what you feed your mind with, and it's true with code as well. See also [Ref : Being a slow programmer](https://shansvex.wordpress.com/2013/12/03/being-a-slow-programmer/) and [Ref : Learn to Read the Source, Luke](https://blog.codinghorror.com/learn-to-read-the-source-luke/) * Learn how to write clean code, and repeat. So when you will have to rush, you will not forget to do your work right, and you will naturally provide more quality work. Also you will tend to detect issues earlier before they hit production, i.e during reviews, and writing better code will lead the whole team in getting a better codebase you can all be proud of, which mean work will become more agreeable. * Do your research, don't always rush in coding or in reinventing the wheel. You will learn a lot through research. * Reuse existing code. GitHub is your friend.