advent_of_ruby 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/bin/arb +1 -1
- data/data/solutions/github/ZogStriP/2015/01_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/01_2.yml +11 -0
- data/data/solutions/github/ZogStriP/2015/02_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/02_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2015/03_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/03_2.yml +29 -0
- data/data/solutions/github/ZogStriP/2015/04_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/04_2.yml +10 -0
- data/data/solutions/github/ZogStriP/2015/05_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/05_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2015/06_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/06_2.yml +23 -0
- data/data/solutions/github/ZogStriP/2015/07_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/07_2.yml +24 -0
- data/data/solutions/github/ZogStriP/2015/08_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/08_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2015/09_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/09_2.yml +21 -0
- data/data/solutions/github/ZogStriP/2015/10_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/10_2.yml +11 -0
- data/data/solutions/github/ZogStriP/2015/11_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/11_2.yml +13 -0
- data/data/solutions/github/ZogStriP/2015/12_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/12_2.yml +17 -0
- data/data/solutions/github/ZogStriP/2015/13_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/13_2.yml +16 -0
- data/data/solutions/github/ZogStriP/2015/14_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/14_2.yml +23 -0
- data/data/solutions/github/ZogStriP/2015/15_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/15_2.yml +24 -0
- data/data/solutions/github/ZogStriP/2015/16_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/16_2.yml +26 -0
- data/data/solutions/github/ZogStriP/2015/17_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/17_2.yml +14 -0
- data/data/solutions/github/ZogStriP/2015/18_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/18_2.yml +39 -0
- data/data/solutions/github/ZogStriP/2015/19_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/19_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2015/20_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/20_2.yml +26 -0
- data/data/solutions/github/ZogStriP/2015/21_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/21_2.yml +57 -0
- data/data/solutions/github/ZogStriP/2015/22_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/22_2.yml +113 -0
- data/data/solutions/github/ZogStriP/2015/23_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/23_2.yml +33 -0
- data/data/solutions/github/ZogStriP/2015/24_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2015/24_2.yml +22 -0
- data/data/solutions/github/ZogStriP/2015/25_1.yml +11 -0
- data/data/solutions/github/ZogStriP/2016/01_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/01_2.yml +29 -0
- data/data/solutions/github/ZogStriP/2016/02_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/02_2.yml +40 -0
- data/data/solutions/github/ZogStriP/2016/03_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/03_2.yml +10 -0
- data/data/solutions/github/ZogStriP/2016/04_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/04_2.yml +11 -0
- data/data/solutions/github/ZogStriP/2016/05_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/05_2.yml +19 -0
- data/data/solutions/github/ZogStriP/2016/06_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/06_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2016/07_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/07_2.yml +11 -0
- data/data/solutions/github/ZogStriP/2016/08_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/08_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2016/09_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/09_2.yml +15 -0
- data/data/solutions/github/ZogStriP/2016/10_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/10_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/11_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/11_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/12_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/12_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/13_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/13_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/14_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/14_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/15_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/15_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/16_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/16_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/17_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/17_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/18_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/18_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/19_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/19_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/20_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/20_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/21_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/21_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/22_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/22_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/23_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/23_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/24_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/24_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2016/25_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/01_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/01_2.yml +11 -0
- data/data/solutions/github/ZogStriP/2017/02_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/02_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2017/03_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/03_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2017/04_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/04_2.yml +7 -0
- data/data/solutions/github/ZogStriP/2017/05_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/05_2.yml +21 -0
- data/data/solutions/github/ZogStriP/2017/06_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/06_2.yml +20 -0
- data/data/solutions/github/ZogStriP/2017/07_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/07_2.yml +27 -0
- data/data/solutions/github/ZogStriP/2017/08_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/08_2.yml +14 -0
- data/data/solutions/github/ZogStriP/2017/09_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/09_2.yml +20 -0
- data/data/solutions/github/ZogStriP/2017/10_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/10_2.yml +26 -0
- data/data/solutions/github/ZogStriP/2017/11_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/11_2.yml +27 -0
- data/data/solutions/github/ZogStriP/2017/12_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/12_2.yml +27 -0
- data/data/solutions/github/ZogStriP/2017/13_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/13_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2017/14_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/14_2.yml +48 -0
- data/data/solutions/github/ZogStriP/2017/15_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/15_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2017/16_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/16_2.yml +34 -0
- data/data/solutions/github/ZogStriP/2017/17_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/17_2.yml +24 -0
- data/data/solutions/github/ZogStriP/2017/18_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/18_2.yml +50 -0
- data/data/solutions/github/ZogStriP/2017/19_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/19_2.yml +22 -0
- data/data/solutions/github/ZogStriP/2017/20_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/20_2.yml +18 -0
- data/data/solutions/github/ZogStriP/2017/21_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/21_2.yml +29 -0
- data/data/solutions/github/ZogStriP/2017/22_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/22_2.yml +47 -0
- data/data/solutions/github/ZogStriP/2017/23_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/23_2.yml +10 -0
- data/data/solutions/github/ZogStriP/2017/24_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2017/24_2.yml +21 -0
- data/data/solutions/github/ZogStriP/2017/25_1.yml +23 -0
- data/data/solutions/github/ZogStriP/2018/01_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/01_2.yml +17 -0
- data/data/solutions/github/ZogStriP/2018/02_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/02_2.yml +19 -0
- data/data/solutions/github/ZogStriP/2018/03_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/03_2.yml +25 -0
- data/data/solutions/github/ZogStriP/2018/04_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/04_2.yml +23 -0
- data/data/solutions/github/ZogStriP/2018/05_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/05_2.yml +14 -0
- data/data/solutions/github/ZogStriP/2018/06_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/06_2.yml +42 -0
- data/data/solutions/github/ZogStriP/2018/07_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/07_2.yml +41 -0
- data/data/solutions/github/ZogStriP/2018/08_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/08_2.yml +13 -0
- data/data/solutions/github/ZogStriP/2018/09_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/09_2.yml +26 -0
- data/data/solutions/github/ZogStriP/2018/10_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/10_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2018/11_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/11_2.yml +36 -0
- data/data/solutions/github/ZogStriP/2018/12_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/12_2.yml +21 -0
- data/data/solutions/github/ZogStriP/2018/13_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/13_2.yml +68 -0
- data/data/solutions/github/ZogStriP/2018/14_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/14_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2018/15_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/15_2.yml +97 -0
- data/data/solutions/github/ZogStriP/2018/16_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/16_2.yml +60 -0
- data/data/solutions/github/ZogStriP/2018/17_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/17_2.yml +59 -0
- data/data/solutions/github/ZogStriP/2018/18_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/18_2.yml +45 -0
- data/data/solutions/github/ZogStriP/2018/19_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/19_2.yml +10 -0
- data/data/solutions/github/ZogStriP/2018/20_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/20_2.yml +45 -0
- data/data/solutions/github/ZogStriP/2018/21_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/21_2.yml +25 -0
- data/data/solutions/github/ZogStriP/2018/22_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/22_2.yml +85 -0
- data/data/solutions/github/ZogStriP/2018/23_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/23_2.yml +39 -0
- data/data/solutions/github/ZogStriP/2018/24_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2018/24_2.yml +83 -0
- data/data/solutions/github/ZogStriP/2018/25_1.yml +41 -0
- data/data/solutions/github/ZogStriP/2019/01_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/01_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2019/02_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/02_2.yml +34 -0
- data/data/solutions/github/ZogStriP/2019/03_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/03_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2019/04_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/04_2.yml +11 -0
- data/data/solutions/github/ZogStriP/2019/05_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/05_2.yml +53 -0
- data/data/solutions/github/ZogStriP/2019/06_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/06_2.yml +37 -0
- data/data/solutions/github/ZogStriP/2019/07_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/07_2.yml +77 -0
- data/data/solutions/github/ZogStriP/2019/08_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/08_2.yml +13 -0
- data/data/solutions/github/ZogStriP/2019/09_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/09_2.yml +76 -0
- data/data/solutions/github/ZogStriP/2019/10_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/10_2.yml +20 -0
- data/data/solutions/github/ZogStriP/2019/11_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/11_2.yml +109 -0
- data/data/solutions/github/ZogStriP/2019/12_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/12_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2019/13_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/13_2.yml +109 -0
- data/data/solutions/github/ZogStriP/2019/14_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/14_2.yml +33 -0
- data/data/solutions/github/ZogStriP/2019/15_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/15_2.yml +126 -0
- data/data/solutions/github/ZogStriP/2019/16_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/16_2.yml +32 -0
- data/data/solutions/github/ZogStriP/2019/17_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/17_2.yml +139 -0
- data/data/solutions/github/ZogStriP/2019/18_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/18_2.yml +102 -0
- data/data/solutions/github/ZogStriP/2019/19_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/19_2.yml +86 -0
- data/data/solutions/github/ZogStriP/2019/20_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/20_2.yml +90 -0
- data/data/solutions/github/ZogStriP/2019/21_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/21_2.yml +104 -0
- data/data/solutions/github/ZogStriP/2019/22_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/22_2.yml +76 -0
- data/data/solutions/github/ZogStriP/2019/23_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/23_2.yml +100 -0
- data/data/solutions/github/ZogStriP/2019/24_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2019/24_2.yml +75 -0
- data/data/solutions/github/ZogStriP/2019/25_1.yml +109 -0
- data/data/solutions/github/ZogStriP/2020/01_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/01_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2020/02_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/02_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2020/03_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/03_2.yml +12 -0
- data/data/solutions/github/ZogStriP/2020/04_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/04_2.yml +20 -0
- data/data/solutions/github/ZogStriP/2020/05_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/05_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2020/06_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/06_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2020/07_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/07_2.yml +18 -0
- data/data/solutions/github/ZogStriP/2020/08_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/08_2.yml +40 -0
- data/data/solutions/github/ZogStriP/2020/09_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/09_2.yml +16 -0
- data/data/solutions/github/ZogStriP/2020/10_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/10_2.yml +11 -0
- data/data/solutions/github/ZogStriP/2020/11_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/11_2.yml +71 -0
- data/data/solutions/github/ZogStriP/2020/12_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/12_2.yml +39 -0
- data/data/solutions/github/ZogStriP/2020/13_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/13_2.yml +18 -0
- data/data/solutions/github/ZogStriP/2020/14_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/14_2.yml +36 -0
- data/data/solutions/github/ZogStriP/2020/15_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/15_2.yml +18 -0
- data/data/solutions/github/ZogStriP/2020/16_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/16_2.yml +29 -0
- data/data/solutions/github/ZogStriP/2020/17_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/17_2.yml +25 -0
- data/data/solutions/github/ZogStriP/2020/18_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/18_2.yml +12 -0
- data/data/solutions/github/ZogStriP/2020/19_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/19_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2020/20_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/20_2.yml +142 -0
- data/data/solutions/github/ZogStriP/2020/21_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/21_2.yml +24 -0
- data/data/solutions/github/ZogStriP/2020/22_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/22_2.yml +49 -0
- data/data/solutions/github/ZogStriP/2020/23_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/23_2.yml +43 -0
- data/data/solutions/github/ZogStriP/2020/24_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2020/24_2.yml +44 -0
- data/data/solutions/github/ZogStriP/2020/25_1.yml +9 -0
- data/data/solutions/github/ZogStriP/2021/01_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/01_2.yml +7 -0
- data/data/solutions/github/ZogStriP/2021/02_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/02_2.yml +12 -0
- data/data/solutions/github/ZogStriP/2021/03_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/03_2.yml +18 -0
- data/data/solutions/github/ZogStriP/2021/04_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/04_2.yml +20 -0
- data/data/solutions/github/ZogStriP/2021/05_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/05_2.yml +24 -0
- data/data/solutions/github/ZogStriP/2021/06_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/06_2.yml +11 -0
- data/data/solutions/github/ZogStriP/2021/07_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/07_2.yml +9 -0
- data/data/solutions/github/ZogStriP/2021/08_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/08_2.yml +26 -0
- data/data/solutions/github/ZogStriP/2021/09_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/09_2.yml +36 -0
- data/data/solutions/github/ZogStriP/2021/10_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/10_2.yml +27 -0
- data/data/solutions/github/ZogStriP/2021/11_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/11_2.yml +36 -0
- data/data/solutions/github/ZogStriP/2021/12_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/12_2.yml +20 -0
- data/data/solutions/github/ZogStriP/2021/13_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/13_2.yml +30 -0
- data/data/solutions/github/ZogStriP/2021/14_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/14_2.yml +20 -0
- data/data/solutions/github/ZogStriP/2021/15_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/15_2.yml +31 -0
- data/data/solutions/github/ZogStriP/2021/16_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/16_2.yml +56 -0
- data/data/solutions/github/ZogStriP/2021/17_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/17_2.yml +4 -0
- data/data/solutions/github/ZogStriP/2021/18_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/18_2.yml +4 -0
- data/data/solutions/github/ZogStriP/2021/19_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/19_2.yml +46 -0
- data/data/solutions/github/ZogStriP/2021/20_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/20_2.yml +44 -0
- data/data/solutions/github/ZogStriP/2021/21_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/21_2.yml +44 -0
- data/data/solutions/github/ZogStriP/2021/22_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/22_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2021/23_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/23_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/24_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2021/24_2.yml +30 -0
- data/data/solutions/github/ZogStriP/2021/25_1.yml +45 -0
- data/data/solutions/github/ZogStriP/2022/01_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/01_2.yml +7 -0
- data/data/solutions/github/ZogStriP/2022/02_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/02_2.yml +17 -0
- data/data/solutions/github/ZogStriP/2022/03_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/03_2.yml +12 -0
- data/data/solutions/github/ZogStriP/2022/04_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/04_2.yml +8 -0
- data/data/solutions/github/ZogStriP/2022/05_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/05_2.yml +17 -0
- data/data/solutions/github/ZogStriP/2022/06_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/06_2.yml +7 -0
- data/data/solutions/github/ZogStriP/2022/07_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/07_2.yml +16 -0
- data/data/solutions/github/ZogStriP/2022/08_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/08_2.yml +26 -0
- data/data/solutions/github/ZogStriP/2022/09_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/09_2.yml +31 -0
- data/data/solutions/github/ZogStriP/2022/10_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/10_2.yml +20 -0
- data/data/solutions/github/ZogStriP/2022/11_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/11_2.yml +38 -0
- data/data/solutions/github/ZogStriP/2022/12_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/12_2.yml +42 -0
- data/data/solutions/github/ZogStriP/2022/13_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/13_2.yml +4 -0
- data/data/solutions/github/ZogStriP/2022/14_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/14_2.yml +35 -0
- data/data/solutions/github/ZogStriP/2022/15_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/15_2.yml +47 -0
- data/data/solutions/github/ZogStriP/2022/16_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/16_2.yml +52 -0
- data/data/solutions/github/ZogStriP/2022/17_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/17_2.yml +49 -0
- data/data/solutions/github/ZogStriP/2022/18_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/18_2.yml +33 -0
- data/data/solutions/github/ZogStriP/2022/19_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/19_2.yml +63 -0
- data/data/solutions/github/ZogStriP/2022/20_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/20_2.yml +51 -0
- data/data/solutions/github/ZogStriP/2022/21_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/21_2.yml +4 -0
- data/data/solutions/github/ZogStriP/2022/22_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/22_2.yml +84 -0
- data/data/solutions/github/ZogStriP/2022/23_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/23_2.yml +51 -0
- data/data/solutions/github/ZogStriP/2022/24_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2022/24_2.yml +54 -0
- data/data/solutions/github/ZogStriP/2022/25_1.yml +8 -0
- data/data/solutions/github/ZogStriP/2023/01_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/01_2.yml +12 -0
- data/data/solutions/github/ZogStriP/2023/02_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/02_2.yml +11 -0
- data/data/solutions/github/ZogStriP/2023/03_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/03_2.yml +21 -0
- data/data/solutions/github/ZogStriP/2023/04_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/04_2.yml +10 -0
- data/data/solutions/github/ZogStriP/2023/05_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/05_2.yml +28 -0
- data/data/solutions/github/ZogStriP/2023/06_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/06_2.yml +11 -0
- data/data/solutions/github/ZogStriP/2023/07_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/07_2.yml +22 -0
- data/data/solutions/github/ZogStriP/2023/08_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/08_2.yml +23 -0
- data/data/solutions/github/ZogStriP/2023/09_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/09_2.yml +18 -0
- data/data/solutions/github/ZogStriP/2023/10_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/10_2.yml +54 -0
- data/data/solutions/github/ZogStriP/2023/11_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/11_2.yml +20 -0
- data/data/solutions/github/ZogStriP/2023/12_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/12_2.yml +36 -0
- data/data/solutions/github/ZogStriP/2023/13_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/13_2.yml +20 -0
- data/data/solutions/github/ZogStriP/2023/14_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/14_2.yml +29 -0
- data/data/solutions/github/ZogStriP/2023/15_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/15_2.yml +23 -0
- data/data/solutions/github/ZogStriP/2023/16_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/16_2.yml +4 -0
- data/data/solutions/github/ZogStriP/2023/17_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/17_2.yml +40 -0
- data/data/solutions/github/ZogStriP/2023/18_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/18_2.yml +19 -0
- data/data/solutions/github/ZogStriP/2023/19_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/19_2.yml +48 -0
- data/data/solutions/github/ZogStriP/2023/20_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/20_2.yml +52 -0
- data/data/solutions/github/ZogStriP/2023/21_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/21_2.yml +40 -0
- data/data/solutions/github/ZogStriP/2023/22_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/22_2.yml +35 -0
- data/data/solutions/github/ZogStriP/2023/23_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/23_2.yml +65 -0
- data/data/solutions/github/ZogStriP/2023/24_1.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/24_2.yml +1 -0
- data/data/solutions/github/ZogStriP/2023/25_1.yml +26 -0
- data/data/solutions/github/ahorner/2015/01_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/01_2.yml +19 -0
- data/data/solutions/github/ahorner/2015/02_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/02_2.yml +33 -0
- data/data/solutions/github/ahorner/2015/03_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/03_2.yml +65 -0
- data/data/solutions/github/ahorner/2015/04_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/04_2.yml +21 -0
- data/data/solutions/github/ahorner/2015/05_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/05_2.yml +26 -0
- data/data/solutions/github/ahorner/2015/06_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/06_2.yml +48 -0
- data/data/solutions/github/ahorner/2015/07_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/07_2.yml +57 -0
- data/data/solutions/github/ahorner/2015/08_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/08_2.yml +21 -0
- data/data/solutions/github/ahorner/2015/09_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/09_2.yml +65 -0
- data/data/solutions/github/ahorner/2015/10_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/10_2.yml +19 -0
- data/data/solutions/github/ahorner/2015/11_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/11_2.yml +48 -0
- data/data/solutions/github/ahorner/2015/12_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/12_2.yml +23 -0
- data/data/solutions/github/ahorner/2015/13_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/13_2.yml +78 -0
- data/data/solutions/github/ahorner/2015/14_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/14_2.yml +91 -0
- data/data/solutions/github/ahorner/2015/15_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/15_2.yml +76 -0
- data/data/solutions/github/ahorner/2015/16_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/16_2.yml +54 -0
- data/data/solutions/github/ahorner/2015/17_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/17_2.yml +19 -0
- data/data/solutions/github/ahorner/2015/18_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/18_2.yml +101 -0
- data/data/solutions/github/ahorner/2015/19_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/19_2.yml +78 -0
- data/data/solutions/github/ahorner/2015/20_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/20_2.yml +42 -0
- data/data/solutions/github/ahorner/2015/21_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/21_2.yml +101 -0
- data/data/solutions/github/ahorner/2015/22_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/22_2.yml +153 -0
- data/data/solutions/github/ahorner/2015/23_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/23_2.yml +55 -0
- data/data/solutions/github/ahorner/2015/24_1.yml +1 -0
- data/data/solutions/github/ahorner/2015/24_2.yml +36 -0
- data/data/solutions/github/ahorner/2015/25_1.yml +30 -0
- data/data/solutions/github/ahorner/2016/01_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/01_2.yml +54 -0
- data/data/solutions/github/ahorner/2016/02_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/02_2.yml +56 -0
- data/data/solutions/github/ahorner/2016/03_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/03_2.yml +32 -0
- data/data/solutions/github/ahorner/2016/04_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/04_2.yml +44 -0
- data/data/solutions/github/ahorner/2016/05_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/05_2.yml +33 -0
- data/data/solutions/github/ahorner/2016/06_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/06_2.yml +18 -0
- data/data/solutions/github/ahorner/2016/07_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/07_2.yml +29 -0
- data/data/solutions/github/ahorner/2016/08_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/08_2.yml +57 -0
- data/data/solutions/github/ahorner/2016/09_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/09_2.yml +40 -0
- data/data/solutions/github/ahorner/2016/10_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/10_2.yml +57 -0
- data/data/solutions/github/ahorner/2016/11_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/11_2.yml +120 -0
- data/data/solutions/github/ahorner/2016/12_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/12_2.yml +17 -0
- data/data/solutions/github/ahorner/2016/13_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/13_2.yml +105 -0
- data/data/solutions/github/ahorner/2016/14_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/14_2.yml +55 -0
- data/data/solutions/github/ahorner/2016/15_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/15_2.yml +45 -0
- data/data/solutions/github/ahorner/2016/16_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/16_2.yml +28 -0
- data/data/solutions/github/ahorner/2016/17_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/17_2.yml +125 -0
- data/data/solutions/github/ahorner/2016/18_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/18_2.yml +60 -0
- data/data/solutions/github/ahorner/2016/19_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/19_2.yml +75 -0
- data/data/solutions/github/ahorner/2016/20_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/20_2.yml +46 -0
- data/data/solutions/github/ahorner/2016/21_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/21_2.yml +94 -0
- data/data/solutions/github/ahorner/2016/22_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/22_2.yml +120 -0
- data/data/solutions/github/ahorner/2016/23_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/23_2.yml +17 -0
- data/data/solutions/github/ahorner/2016/24_1.yml +1 -0
- data/data/solutions/github/ahorner/2016/24_2.yml +138 -0
- data/data/solutions/github/ahorner/2016/25_1.yml +41 -0
- data/data/solutions/github/ahorner/2017/01_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/01_2.yml +18 -0
- data/data/solutions/github/ahorner/2017/02_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/02_2.yml +18 -0
- data/data/solutions/github/ahorner/2017/03_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/03_2.yml +61 -0
- data/data/solutions/github/ahorner/2017/04_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/04_2.yml +17 -0
- data/data/solutions/github/ahorner/2017/05_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/05_2.yml +31 -0
- data/data/solutions/github/ahorner/2017/06_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/06_2.yml +28 -0
- data/data/solutions/github/ahorner/2017/07_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/07_2.yml +64 -0
- data/data/solutions/github/ahorner/2017/08_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/08_2.yml +27 -0
- data/data/solutions/github/ahorner/2017/09_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/09_2.yml +42 -0
- data/data/solutions/github/ahorner/2017/10_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/10_2.yml +34 -0
- data/data/solutions/github/ahorner/2017/11_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/11_2.yml +31 -0
- data/data/solutions/github/ahorner/2017/12_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/12_2.yml +39 -0
- data/data/solutions/github/ahorner/2017/13_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/13_2.yml +50 -0
- data/data/solutions/github/ahorner/2017/14_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/14_2.yml +79 -0
- data/data/solutions/github/ahorner/2017/15_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/15_2.yml +56 -0
- data/data/solutions/github/ahorner/2017/16_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/16_2.yml +39 -0
- data/data/solutions/github/ahorner/2017/17_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/17_2.yml +29 -0
- data/data/solutions/github/ahorner/2017/18_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/18_2.yml +84 -0
- data/data/solutions/github/ahorner/2017/19_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/19_2.yml +101 -0
- data/data/solutions/github/ahorner/2017/20_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/20_2.yml +52 -0
- data/data/solutions/github/ahorner/2017/21_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/21_2.yml +53 -0
- data/data/solutions/github/ahorner/2017/22_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/22_2.yml +79 -0
- data/data/solutions/github/ahorner/2017/23_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/23_2.yml +49 -0
- data/data/solutions/github/ahorner/2017/24_1.yml +1 -0
- data/data/solutions/github/ahorner/2017/24_2.yml +46 -0
- data/data/solutions/github/ahorner/2017/25_1.yml +38 -0
- data/data/solutions/github/ahorner/2018/01_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/01_2.yml +21 -0
- data/data/solutions/github/ahorner/2018/02_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/02_2.yml +41 -0
- data/data/solutions/github/ahorner/2018/03_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/03_2.yml +75 -0
- data/data/solutions/github/ahorner/2018/04_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/04_2.yml +72 -0
- data/data/solutions/github/ahorner/2018/05_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/05_2.yml +21 -0
- data/data/solutions/github/ahorner/2018/06_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/06_2.yml +49 -0
- data/data/solutions/github/ahorner/2018/07_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/07_2.yml +46 -0
- data/data/solutions/github/ahorner/2018/08_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/08_2.yml +34 -0
- data/data/solutions/github/ahorner/2018/09_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/09_2.yml +72 -0
- data/data/solutions/github/ahorner/2018/10_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/10_2.yml +71 -0
- data/data/solutions/github/ahorner/2018/11_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/11_2.yml +63 -0
- data/data/solutions/github/ahorner/2018/12_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/12_2.yml +49 -0
- data/data/solutions/github/ahorner/2018/13_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/13_2.yml +75 -0
- data/data/solutions/github/ahorner/2018/14_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/14_2.yml +50 -0
- data/data/solutions/github/ahorner/2018/15_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/15_2.yml +131 -0
- data/data/solutions/github/ahorner/2018/16_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/16_2.yml +49 -0
- data/data/solutions/github/ahorner/2018/17_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/17_2.yml +62 -0
- data/data/solutions/github/ahorner/2018/18_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/18_2.yml +61 -0
- data/data/solutions/github/ahorner/2018/19_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/19_2.yml +55 -0
- data/data/solutions/github/ahorner/2018/20_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/20_2.yml +88 -0
- data/data/solutions/github/ahorner/2018/21_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/21_2.yml +56 -0
- data/data/solutions/github/ahorner/2018/22_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/22_2.yml +110 -0
- data/data/solutions/github/ahorner/2018/23_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/23_2.yml +80 -0
- data/data/solutions/github/ahorner/2018/24_1.yml +1 -0
- data/data/solutions/github/ahorner/2018/24_2.yml +137 -0
- data/data/solutions/github/ahorner/2018/25_1.yml +27 -0
- data/data/solutions/github/ahorner/2019/01_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/01_2.yml +22 -0
- data/data/solutions/github/ahorner/2019/02_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/02_2.yml +30 -0
- data/data/solutions/github/ahorner/2019/03_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/03_2.yml +57 -0
- data/data/solutions/github/ahorner/2019/04_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/04_2.yml +30 -0
- data/data/solutions/github/ahorner/2019/05_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/05_2.yml +11 -0
- data/data/solutions/github/ahorner/2019/06_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/06_2.yml +42 -0
- data/data/solutions/github/ahorner/2019/07_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/07_2.yml +26 -0
- data/data/solutions/github/ahorner/2019/08_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/08_2.yml +28 -0
- data/data/solutions/github/ahorner/2019/09_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/09_2.yml +8 -0
- data/data/solutions/github/ahorner/2019/10_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/10_2.yml +72 -0
- data/data/solutions/github/ahorner/2019/11_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/11_2.yml +58 -0
- data/data/solutions/github/ahorner/2019/12_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/12_2.yml +71 -0
- data/data/solutions/github/ahorner/2019/13_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/13_2.yml +43 -0
- data/data/solutions/github/ahorner/2019/14_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/14_2.yml +60 -0
- data/data/solutions/github/ahorner/2019/15_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/15_2.yml +175 -0
- data/data/solutions/github/ahorner/2019/16_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/16_2.yml +37 -0
- data/data/solutions/github/ahorner/2019/17_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/17_2.yml +118 -0
- data/data/solutions/github/ahorner/2019/18_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/18_2.yml +135 -0
- data/data/solutions/github/ahorner/2019/19_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/19_2.yml +37 -0
- data/data/solutions/github/ahorner/2019/20_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/20_2.yml +155 -0
- data/data/solutions/github/ahorner/2019/21_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/21_2.yml +46 -0
- data/data/solutions/github/ahorner/2019/22_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/22_2.yml +117 -0
- data/data/solutions/github/ahorner/2019/23_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/23_2.yml +30 -0
- data/data/solutions/github/ahorner/2019/24_1.yml +1 -0
- data/data/solutions/github/ahorner/2019/24_2.yml +81 -0
- data/data/solutions/github/ahorner/2019/25_1.yml +104 -0
- data/data/solutions/github/ahorner/2020/01_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/01_2.yml +14 -0
- data/data/solutions/github/ahorner/2020/02_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/02_2.yml +21 -0
- data/data/solutions/github/ahorner/2020/03_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/03_2.yml +49 -0
- data/data/solutions/github/ahorner/2020/04_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/04_2.yml +50 -0
- data/data/solutions/github/ahorner/2020/05_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/05_2.yml +27 -0
- data/data/solutions/github/ahorner/2020/06_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/06_2.yml +12 -0
- data/data/solutions/github/ahorner/2020/07_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/07_2.yml +84 -0
- data/data/solutions/github/ahorner/2020/08_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/08_2.yml +47 -0
- data/data/solutions/github/ahorner/2020/09_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/09_2.yml +38 -0
- data/data/solutions/github/ahorner/2020/10_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/10_2.yml +26 -0
- data/data/solutions/github/ahorner/2020/11_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/11_2.yml +49 -0
- data/data/solutions/github/ahorner/2020/12_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/12_2.yml +78 -0
- data/data/solutions/github/ahorner/2020/13_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/13_2.yml +64 -0
- data/data/solutions/github/ahorner/2020/14_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/14_2.yml +97 -0
- data/data/solutions/github/ahorner/2020/15_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/15_2.yml +31 -0
- data/data/solutions/github/ahorner/2020/16_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/16_2.yml +60 -0
- data/data/solutions/github/ahorner/2020/17_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/17_2.yml +53 -0
- data/data/solutions/github/ahorner/2020/18_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/18_2.yml +56 -0
- data/data/solutions/github/ahorner/2020/19_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/19_2.yml +44 -0
- data/data/solutions/github/ahorner/2020/20_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/20_2.yml +133 -0
- data/data/solutions/github/ahorner/2020/21_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/21_2.yml +34 -0
- data/data/solutions/github/ahorner/2020/22_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/22_2.yml +38 -0
- data/data/solutions/github/ahorner/2020/23_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/23_2.yml +61 -0
- data/data/solutions/github/ahorner/2020/24_1.yml +1 -0
- data/data/solutions/github/ahorner/2020/24_2.yml +45 -0
- data/data/solutions/github/ahorner/2020/25_1.yml +15 -0
- data/data/solutions/github/ahorner/2021/01_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/01_2.yml +14 -0
- data/data/solutions/github/ahorner/2021/02_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/02_2.yml +40 -0
- data/data/solutions/github/ahorner/2021/03_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/03_2.yml +41 -0
- data/data/solutions/github/ahorner/2021/04_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/04_2.yml +50 -0
- data/data/solutions/github/ahorner/2021/05_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/05_2.yml +37 -0
- data/data/solutions/github/ahorner/2021/06_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/06_2.yml +28 -0
- data/data/solutions/github/ahorner/2021/07_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/07_2.yml +19 -0
- data/data/solutions/github/ahorner/2021/08_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/08_2.yml +56 -0
- data/data/solutions/github/ahorner/2021/09_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/09_2.yml +44 -0
- data/data/solutions/github/ahorner/2021/10_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/10_2.yml +53 -0
- data/data/solutions/github/ahorner/2021/11_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/11_2.yml +62 -0
- data/data/solutions/github/ahorner/2021/12_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/12_2.yml +53 -0
- data/data/solutions/github/ahorner/2021/13_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/13_2.yml +44 -0
- data/data/solutions/github/ahorner/2021/14_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/14_2.yml +33 -0
- data/data/solutions/github/ahorner/2021/15_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/15_2.yml +83 -0
- data/data/solutions/github/ahorner/2021/16_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/16_2.yml +95 -0
- data/data/solutions/github/ahorner/2021/17_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/17_2.yml +38 -0
- data/data/solutions/github/ahorner/2021/18_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/18_2.yml +75 -0
- data/data/solutions/github/ahorner/2021/19_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/19_2.yml +75 -0
- data/data/solutions/github/ahorner/2021/20_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/20_2.yml +75 -0
- data/data/solutions/github/ahorner/2021/21_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/21_2.yml +88 -0
- data/data/solutions/github/ahorner/2021/22_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/22_2.yml +82 -0
- data/data/solutions/github/ahorner/2021/23_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/23_2.yml +167 -0
- data/data/solutions/github/ahorner/2021/24_1.yml +1 -0
- data/data/solutions/github/ahorner/2021/24_2.yml +65 -0
- data/data/solutions/github/ahorner/2021/25_1.yml +43 -0
- data/data/solutions/github/ahorner/2022/01_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/01_2.yml +15 -0
- data/data/solutions/github/ahorner/2022/02_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/02_2.yml +42 -0
- data/data/solutions/github/ahorner/2022/03_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/03_2.yml +29 -0
- data/data/solutions/github/ahorner/2022/04_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/04_2.yml +20 -0
- data/data/solutions/github/ahorner/2022/05_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/05_2.yml +37 -0
- data/data/solutions/github/ahorner/2022/06_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/06_2.yml +21 -0
- data/data/solutions/github/ahorner/2022/07_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/07_2.yml +43 -0
- data/data/solutions/github/ahorner/2022/08_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/08_2.yml +48 -0
- data/data/solutions/github/ahorner/2022/09_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/09_2.yml +48 -0
- data/data/solutions/github/ahorner/2022/10_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/10_2.yml +50 -0
- data/data/solutions/github/ahorner/2022/11_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/11_2.yml +101 -0
- data/data/solutions/github/ahorner/2022/12_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/12_2.yml +84 -0
- data/data/solutions/github/ahorner/2022/13_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/13_2.yml +49 -0
- data/data/solutions/github/ahorner/2022/14_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/14_2.yml +69 -0
- data/data/solutions/github/ahorner/2022/15_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/15_2.yml +79 -0
- data/data/solutions/github/ahorner/2022/16_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/16_2.yml +105 -0
- data/data/solutions/github/ahorner/2022/17_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/17_2.yml +135 -0
- data/data/solutions/github/ahorner/2022/18_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/18_2.yml +89 -0
- data/data/solutions/github/ahorner/2022/19_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/19_2.yml +117 -0
- data/data/solutions/github/ahorner/2022/20_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/20_2.yml +50 -0
- data/data/solutions/github/ahorner/2022/21_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/21_2.yml +99 -0
- data/data/solutions/github/ahorner/2022/22_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/22_2.yml +214 -0
- data/data/solutions/github/ahorner/2022/23_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/23_2.yml +76 -0
- data/data/solutions/github/ahorner/2022/24_1.yml +1 -0
- data/data/solutions/github/ahorner/2022/24_2.yml +106 -0
- data/data/solutions/github/ahorner/2022/25_1.yml +35 -0
- data/data/solutions/github/ahorner/2023/01_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/01_2.yml +38 -0
- data/data/solutions/github/ahorner/2023/02_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/02_2.yml +38 -0
- data/data/solutions/github/ahorner/2023/03_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/03_2.yml +55 -0
- data/data/solutions/github/ahorner/2023/04_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/04_2.yml +39 -0
- data/data/solutions/github/ahorner/2023/05_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/05_2.yml +85 -0
- data/data/solutions/github/ahorner/2023/06_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/06_2.yml +29 -0
- data/data/solutions/github/ahorner/2023/07_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/07_2.yml +37 -0
- data/data/solutions/github/ahorner/2023/08_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/08_2.yml +51 -0
- data/data/solutions/github/ahorner/2023/09_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/09_2.yml +29 -0
- data/data/solutions/github/ahorner/2023/10_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/10_2.yml +85 -0
- data/data/solutions/github/ahorner/2023/11_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/11_2.yml +45 -0
- data/data/solutions/github/ahorner/2023/12_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/12_2.yml +55 -0
- data/data/solutions/github/ahorner/2023/13_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/13_2.yml +40 -0
- data/data/solutions/github/ahorner/2023/14_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/14_2.yml +81 -0
- data/data/solutions/github/ahorner/2023/15_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/15_2.yml +52 -0
- data/data/solutions/github/ahorner/2023/16_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/16_2.yml +79 -0
- data/data/solutions/github/ahorner/2023/17_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/17_2.yml +105 -0
- data/data/solutions/github/ahorner/2023/18_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/18_2.yml +64 -0
- data/data/solutions/github/ahorner/2023/19_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/19_2.yml +102 -0
- data/data/solutions/github/ahorner/2023/20_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/20_2.yml +121 -0
- data/data/solutions/github/ahorner/2023/21_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/21_2.yml +130 -0
- data/data/solutions/github/ahorner/2023/22_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/22_2.yml +81 -0
- data/data/solutions/github/ahorner/2023/23_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/23_2.yml +81 -0
- data/data/solutions/github/ahorner/2023/24_1.yml +1 -0
- data/data/solutions/github/ahorner/2023/24_2.yml +63 -0
- data/data/solutions/github/ahorner/2023/25_1.yml +28 -0
- data/data/solutions/github/ahorner/2024/01_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/01_2.yml +11 -0
- data/data/solutions/github/ahorner/2024/02_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/02_2.yml +29 -0
- data/data/solutions/github/ahorner/2024/03_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/03_2.yml +33 -0
- data/data/solutions/github/ahorner/2024/04_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/04_2.yml +42 -0
- data/data/solutions/github/ahorner/2024/05_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/05_2.yml +54 -0
- data/data/solutions/github/ahorner/2024/06_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/06_2.yml +56 -0
- data/data/solutions/github/ahorner/2024/07_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/07_2.yml +47 -0
- data/data/solutions/github/ahorner/2024/08_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/08_2.yml +58 -0
- data/data/solutions/github/ahorner/2024/09_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/09_2.yml +76 -0
- data/data/solutions/github/ahorner/2024/10_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/10_2.yml +51 -0
- data/data/solutions/github/ahorner/2024/11_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/11_2.yml +29 -0
- data/data/solutions/github/ahorner/2024/12_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/12_2.yml +79 -0
- data/data/solutions/github/ahorner/2024/13_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/13_2.yml +46 -0
- data/data/solutions/github/ahorner/2024/14_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/14_2.yml +52 -0
- data/data/solutions/github/ahorner/2024/15_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/15_2.yml +98 -0
- data/data/solutions/github/ahorner/2024/16_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/16_2.yml +97 -0
- data/data/solutions/github/ahorner/2024/17_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/17_2.yml +92 -0
- data/data/solutions/github/ahorner/2024/18_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/18_2.yml +77 -0
- data/data/solutions/github/ahorner/2024/19_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/19_2.yml +19 -0
- data/data/solutions/github/ahorner/2024/20_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/20_2.yml +66 -0
- data/data/solutions/github/ahorner/2024/21_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/21_2.yml +79 -0
- data/data/solutions/github/ahorner/2024/22_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/22_2.yml +45 -0
- data/data/solutions/github/ahorner/2024/23_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/23_2.yml +43 -0
- data/data/solutions/github/ahorner/2024/24_1.yml +1 -0
- data/data/solutions/github/ahorner/2024/24_2.yml +68 -0
- data/data/solutions/github/ahorner/2024/25_1.yml +1 -0
- data/data/solutions/github/eregon/2015/01_1.yml +4 -0
- data/data/solutions/github/eregon/2015/01_2.yml +9 -0
- data/data/solutions/github/eregon/2015/02_1.yml +9 -0
- data/data/solutions/github/eregon/2015/02_2.yml +8 -0
- data/data/solutions/github/eregon/2015/03_1.yml +24 -0
- data/data/solutions/github/eregon/2015/03_2.yml +83 -0
- data/data/solutions/github/eregon/2015/04_1.yml +12 -0
- data/data/solutions/github/eregon/2015/04_2.yml +1 -0
- data/data/solutions/github/eregon/2015/05_1.yml +13 -0
- data/data/solutions/github/eregon/2015/05_2.yml +8 -0
- data/data/solutions/github/eregon/2015/06_1.yml +25 -0
- data/data/solutions/github/eregon/2015/06_2.yml +25 -0
- data/data/solutions/github/eregon/2015/07_1.yml +54 -0
- data/data/solutions/github/eregon/2015/07_2.yml +117 -0
- data/data/solutions/github/eregon/2015/08_1.yml +15 -0
- data/data/solutions/github/eregon/2015/08_2.yml +15 -0
- data/data/solutions/github/eregon/2015/09_1.yml +26 -0
- data/data/solutions/github/eregon/2015/09_2.yml +16 -0
- data/data/solutions/github/eregon/2015/10_1.yml +13 -0
- data/data/solutions/github/eregon/2015/10_2.yml +14 -0
- data/data/solutions/github/eregon/2015/11_1.yml +20 -0
- data/data/solutions/github/eregon/2015/11_2.yml +1 -0
- data/data/solutions/github/eregon/2015/12_1.yml +28 -0
- data/data/solutions/github/eregon/2015/12_2.yml +30 -0
- data/data/solutions/github/eregon/2015/13_1.yml +25 -0
- data/data/solutions/github/eregon/2015/13_2.yml +30 -0
- data/data/solutions/github/eregon/2015/14_1.yml +33 -0
- data/data/solutions/github/eregon/2015/14_2.yml +44 -0
- data/data/solutions/github/eregon/2015/15_1.yml +51 -0
- data/data/solutions/github/eregon/2015/15_2.yml +53 -0
- data/data/solutions/github/eregon/2015/16_1.yml +1 -0
- data/data/solutions/github/eregon/2015/16_2.yml +1 -0
- data/data/solutions/github/eregon/2015/17_1.yml +1 -0
- data/data/solutions/github/eregon/2015/17_2.yml +1 -0
- data/data/solutions/github/eregon/2015/18_1.yml +1 -0
- data/data/solutions/github/eregon/2015/18_2.yml +1 -0
- data/data/solutions/github/eregon/2015/19_1.yml +33 -0
- data/data/solutions/github/eregon/2015/19_2.yml +125 -0
- data/data/solutions/github/eregon/2015/20_1.yml +29 -0
- data/data/solutions/github/eregon/2015/20_2.yml +30 -0
- data/data/solutions/github/eregon/2015/21_1.yml +7 -0
- data/data/solutions/github/eregon/2015/21_2.yml +1 -0
- data/data/solutions/github/eregon/2015/22_1.yml +1 -0
- data/data/solutions/github/eregon/2015/22_2.yml +1 -0
- data/data/solutions/github/eregon/2015/23_1.yml +46 -0
- data/data/solutions/github/eregon/2015/23_2.yml +1 -0
- data/data/solutions/github/eregon/2015/24_1.yml +1 -0
- data/data/solutions/github/eregon/2015/24_2.yml +1 -0
- data/data/solutions/github/eregon/2015/25_1.yml +1 -0
- data/data/solutions/github/eregon/2016/01_1.yml +18 -0
- data/data/solutions/github/eregon/2016/01_2.yml +32 -0
- data/data/solutions/github/eregon/2016/02_1.yml +32 -0
- data/data/solutions/github/eregon/2016/02_2.yml +35 -0
- data/data/solutions/github/eregon/2016/03_1.yml +8 -0
- data/data/solutions/github/eregon/2016/03_2.yml +12 -0
- data/data/solutions/github/eregon/2016/04_1.yml +27 -0
- data/data/solutions/github/eregon/2016/04_2.yml +37 -0
- data/data/solutions/github/eregon/2016/05_1.yml +25 -0
- data/data/solutions/github/eregon/2016/05_2.yml +27 -0
- data/data/solutions/github/eregon/2016/06_1.yml +6 -0
- data/data/solutions/github/eregon/2016/06_2.yml +6 -0
- data/data/solutions/github/eregon/2016/07_1.yml +16 -0
- data/data/solutions/github/eregon/2016/07_2.yml +20 -0
- data/data/solutions/github/eregon/2016/08_1.yml +27 -0
- data/data/solutions/github/eregon/2016/08_2.yml +1 -0
- data/data/solutions/github/eregon/2016/09_1.yml +29 -0
- data/data/solutions/github/eregon/2016/09_2.yml +34 -0
- data/data/solutions/github/eregon/2016/10_1.yml +49 -0
- data/data/solutions/github/eregon/2016/10_2.yml +1 -0
- data/data/solutions/github/eregon/2016/11_1.yml +120 -0
- data/data/solutions/github/eregon/2016/11_2.yml +1 -0
- data/data/solutions/github/eregon/2016/12_1.yml +123 -0
- data/data/solutions/github/eregon/2016/12_2.yml +50 -0
- data/data/solutions/github/eregon/2016/13_1.yml +47 -0
- data/data/solutions/github/eregon/2016/13_2.yml +49 -0
- data/data/solutions/github/eregon/2016/14_1.yml +29 -0
- data/data/solutions/github/eregon/2016/14_2.yml +37 -0
- data/data/solutions/github/eregon/2016/15_1.yml +15 -0
- data/data/solutions/github/eregon/2016/15_2.yml +1 -0
- data/data/solutions/github/eregon/2016/16_1.yml +35 -0
- data/data/solutions/github/eregon/2016/16_2.yml +95 -0
- data/data/solutions/github/eregon/2016/17_1.yml +50 -0
- data/data/solutions/github/eregon/2016/17_2.yml +46 -0
- data/data/solutions/github/eregon/2016/18_1.yml +31 -0
- data/data/solutions/github/eregon/2016/18_2.yml +27 -0
- data/data/solutions/github/eregon/2016/19_1.yml +22 -0
- data/data/solutions/github/eregon/2016/19_2.yml +63 -0
- data/data/solutions/github/eregon/2016/20_1.yml +41 -0
- data/data/solutions/github/eregon/2016/20_2.yml +39 -0
- data/data/solutions/github/eregon/2016/21_1.yml +39 -0
- data/data/solutions/github/eregon/2016/21_2.yml +93 -0
- data/data/solutions/github/eregon/2016/22_1.yml +27 -0
- data/data/solutions/github/eregon/2016/22_2.yml +111 -0
- data/data/solutions/github/eregon/2016/23_1.yml +112 -0
- data/data/solutions/github/eregon/2016/23_2.yml +1 -0
- data/data/solutions/github/eregon/2016/24_1.yml +77 -0
- data/data/solutions/github/eregon/2016/24_2.yml +77 -0
- data/data/solutions/github/eregon/2016/25_1.yml +85 -0
- data/data/solutions/github/eregon/2017/01_1.yml +17 -0
- data/data/solutions/github/eregon/2017/01_2.yml +8 -0
- data/data/solutions/github/eregon/2017/02_1.yml +8 -0
- data/data/solutions/github/eregon/2017/02_2.yml +10 -0
- data/data/solutions/github/eregon/2017/03_1.yml +16 -0
- data/data/solutions/github/eregon/2017/03_2.yml +52 -0
- data/data/solutions/github/eregon/2017/04_1.yml +10 -0
- data/data/solutions/github/eregon/2017/04_2.yml +10 -0
- data/data/solutions/github/eregon/2017/05_1.yml +16 -0
- data/data/solutions/github/eregon/2017/05_2.yml +20 -0
- data/data/solutions/github/eregon/2017/06_1.yml +24 -0
- data/data/solutions/github/eregon/2017/06_2.yml +1 -0
- data/data/solutions/github/eregon/2017/07_1.yml +27 -0
- data/data/solutions/github/eregon/2017/07_2.yml +47 -0
- data/data/solutions/github/eregon/2017/08_1.yml +23 -0
- data/data/solutions/github/eregon/2017/08_2.yml +26 -0
- data/data/solutions/github/eregon/2017/09_1.yml +46 -0
- data/data/solutions/github/eregon/2017/09_2.yml +1 -0
- data/data/solutions/github/eregon/2017/10_1.yml +20 -0
- data/data/solutions/github/eregon/2017/10_2.yml +22 -0
- data/data/solutions/github/eregon/2017/11_1.yml +39 -0
- data/data/solutions/github/eregon/2017/11_2.yml +1 -0
- data/data/solutions/github/eregon/2017/12_1.yml +25 -0
- data/data/solutions/github/eregon/2017/12_2.yml +28 -0
- data/data/solutions/github/eregon/2017/13_1.yml +28 -0
- data/data/solutions/github/eregon/2017/13_2.yml +75 -0
- data/data/solutions/github/eregon/2017/14_1.yml +31 -0
- data/data/solutions/github/eregon/2017/14_2.yml +60 -0
- data/data/solutions/github/eregon/2017/15_1.yml +26 -0
- data/data/solutions/github/eregon/2017/15_2.yml +30 -0
- data/data/solutions/github/eregon/2017/16_1.yml +26 -0
- data/data/solutions/github/eregon/2017/16_2.yml +77 -0
- data/data/solutions/github/eregon/2017/17_1.yml +15 -0
- data/data/solutions/github/eregon/2017/17_2.yml +37 -0
- data/data/solutions/github/eregon/2017/18_1.yml +67 -0
- data/data/solutions/github/eregon/2017/18_2.yml +97 -0
- data/data/solutions/github/eregon/2017/19_1.yml +4 -0
- data/data/solutions/github/eregon/2017/19_2.yml +1 -0
- data/data/solutions/github/eregon/2017/20_1.yml +31 -0
- data/data/solutions/github/eregon/2017/20_2.yml +34 -0
- data/data/solutions/github/eregon/2017/21_1.yml +53 -0
- data/data/solutions/github/eregon/2017/21_2.yml +1 -0
- data/data/solutions/github/eregon/2017/22_1.yml +34 -0
- data/data/solutions/github/eregon/2017/22_2.yml +38 -0
- data/data/solutions/github/eregon/2017/23_1.yml +51 -0
- data/data/solutions/github/eregon/2017/23_2.yml +126 -0
- data/data/solutions/github/eregon/2017/24_1.yml +61 -0
- data/data/solutions/github/eregon/2017/24_2.yml +1 -0
- data/data/solutions/github/eregon/2017/25_1.yml +40 -0
- data/data/solutions/github/eregon/2018/01_1.yml +4 -0
- data/data/solutions/github/eregon/2018/01_2.yml +15 -0
- data/data/solutions/github/eregon/2018/02_1.yml +16 -0
- data/data/solutions/github/eregon/2018/02_2.yml +11 -0
- data/data/solutions/github/eregon/2018/03_1.yml +19 -0
- data/data/solutions/github/eregon/2018/03_2.yml +26 -0
- data/data/solutions/github/eregon/2018/04_1.yml +46 -0
- data/data/solutions/github/eregon/2018/04_2.yml +54 -0
- data/data/solutions/github/eregon/2018/05_1.yml +16 -0
- data/data/solutions/github/eregon/2018/05_2.yml +70 -0
- data/data/solutions/github/eregon/2018/06_1.yml +52 -0
- data/data/solutions/github/eregon/2018/06_2.yml +26 -0
- data/data/solutions/github/eregon/2018/07_1.yml +26 -0
- data/data/solutions/github/eregon/2018/07_2.yml +48 -0
- data/data/solutions/github/eregon/2018/08_1.yml +12 -0
- data/data/solutions/github/eregon/2018/08_2.yml +28 -0
- data/data/solutions/github/eregon/2018/09_1.yml +63 -0
- data/data/solutions/github/eregon/2018/09_2.yml +1 -0
- data/data/solutions/github/eregon/2018/10_1.yml +63 -0
- data/data/solutions/github/eregon/2018/10_2.yml +1 -0
- data/data/solutions/github/eregon/2018/11_1.yml +35 -0
- data/data/solutions/github/eregon/2018/11_2.yml +46 -0
- data/data/solutions/github/eregon/2018/12_1.yml +30 -0
- data/data/solutions/github/eregon/2018/12_2.yml +38 -0
- data/data/solutions/github/eregon/2018/13_1.yml +81 -0
- data/data/solutions/github/eregon/2018/13_2.yml +93 -0
- data/data/solutions/github/eregon/2018/14_1.yml +19 -0
- data/data/solutions/github/eregon/2018/14_2.yml +69 -0
- data/data/solutions/github/eregon/2018/15_1.yml +171 -0
- data/data/solutions/github/eregon/2018/15_2.yml +1 -0
- data/data/solutions/github/eregon/2018/16_1.yml +46 -0
- data/data/solutions/github/eregon/2018/16_2.yml +68 -0
- data/data/solutions/github/eregon/2018/17_1.yml +121 -0
- data/data/solutions/github/eregon/2018/17_2.yml +1 -0
- data/data/solutions/github/eregon/2018/18_1.yml +1 -0
- data/data/solutions/github/eregon/2018/18_2.yml +1 -0
- data/data/solutions/github/eregon/2018/19_1.yml +47 -0
- data/data/solutions/github/eregon/2018/19_2.yml +88 -0
- data/data/solutions/github/eregon/2018/20_1.yml +1 -0
- data/data/solutions/github/eregon/2018/20_2.yml +1 -0
- data/data/solutions/github/eregon/2018/21_1.yml +1 -0
- data/data/solutions/github/eregon/2018/21_2.yml +1 -0
- data/data/solutions/github/eregon/2018/22_1.yml +1 -0
- data/data/solutions/github/eregon/2018/22_2.yml +1 -0
- data/data/solutions/github/eregon/2018/23_1.yml +1 -0
- data/data/solutions/github/eregon/2018/23_2.yml +1 -0
- data/data/solutions/github/eregon/2018/24_1.yml +1 -0
- data/data/solutions/github/eregon/2018/24_2.yml +1 -0
- data/data/solutions/github/eregon/2018/25_1.yml +1 -0
- data/data/solutions/github/eregon/2019/01_1.yml +4 -0
- data/data/solutions/github/eregon/2019/01_2.yml +13 -0
- data/data/solutions/github/eregon/2019/02_1.yml +27 -0
- data/data/solutions/github/eregon/2019/02_2.yml +4 -0
- data/data/solutions/github/eregon/2019/03_1.yml +4 -0
- data/data/solutions/github/eregon/2019/03_2.yml +4 -0
- data/data/solutions/github/eregon/2019/04_1.yml +12 -0
- data/data/solutions/github/eregon/2019/04_2.yml +14 -0
- data/data/solutions/github/eregon/2019/05_1.yml +4 -0
- data/data/solutions/github/eregon/2019/05_2.yml +4 -0
- data/data/solutions/github/eregon/2019/06_1.yml +4 -0
- data/data/solutions/github/eregon/2019/06_2.yml +4 -0
- data/data/solutions/github/eregon/2019/07_1.yml +4 -0
- data/data/solutions/github/eregon/2019/07_2.yml +7 -0
- data/data/solutions/github/eregon/2019/08_1.yml +12 -0
- data/data/solutions/github/eregon/2019/08_2.yml +14 -0
- data/data/solutions/github/eregon/2019/09_1.yml +4 -0
- data/data/solutions/github/eregon/2019/09_2.yml +4 -0
- data/data/solutions/github/eregon/2019/10_1.yml +35 -0
- data/data/solutions/github/eregon/2019/10_2.yml +39 -0
- data/data/solutions/github/eregon/2019/11_1.yml +113 -0
- data/data/solutions/github/eregon/2019/11_2.yml +119 -0
- data/data/solutions/github/eregon/2019/12_1.yml +34 -0
- data/data/solutions/github/eregon/2019/12_2.yml +136 -0
- data/data/solutions/github/eregon/2019/13_1.yml +99 -0
- data/data/solutions/github/eregon/2019/13_2.yml +360 -0
- data/data/solutions/github/eregon/2019/14_1.yml +36 -0
- data/data/solutions/github/eregon/2019/14_2.yml +37 -0
- data/data/solutions/github/eregon/2019/15_1.yml +272 -0
- data/data/solutions/github/eregon/2019/15_2.yml +1 -0
- data/data/solutions/github/eregon/2019/16_1.yml +1 -0
- data/data/solutions/github/eregon/2019/16_2.yml +1 -0
- data/data/solutions/github/eregon/2019/17_1.yml +118 -0
- data/data/solutions/github/eregon/2019/17_2.yml +138 -0
- data/data/solutions/github/eregon/2019/18_1.yml +1 -0
- data/data/solutions/github/eregon/2019/18_2.yml +1 -0
- data/data/solutions/github/eregon/2019/19_1.yml +1 -0
- data/data/solutions/github/eregon/2019/19_2.yml +1 -0
- data/data/solutions/github/eregon/2019/20_1.yml +1 -0
- data/data/solutions/github/eregon/2019/20_2.yml +1 -0
- data/data/solutions/github/eregon/2019/21_1.yml +1 -0
- data/data/solutions/github/eregon/2019/21_2.yml +1 -0
- data/data/solutions/github/eregon/2019/22_1.yml +1 -0
- data/data/solutions/github/eregon/2019/22_2.yml +1 -0
- data/data/solutions/github/eregon/2019/23_1.yml +1 -0
- data/data/solutions/github/eregon/2019/23_2.yml +1 -0
- data/data/solutions/github/eregon/2019/24_1.yml +1 -0
- data/data/solutions/github/eregon/2019/24_2.yml +1 -0
- data/data/solutions/github/eregon/2019/25_1.yml +1 -0
- data/data/solutions/github/eregon/2020/01_1.yml +4 -0
- data/data/solutions/github/eregon/2020/01_2.yml +4 -0
- data/data/solutions/github/eregon/2020/02_1.yml +8 -0
- data/data/solutions/github/eregon/2020/02_2.yml +10 -0
- data/data/solutions/github/eregon/2020/03_1.yml +17 -0
- data/data/solutions/github/eregon/2020/03_2.yml +19 -0
- data/data/solutions/github/eregon/2020/04_1.yml +8 -0
- data/data/solutions/github/eregon/2020/04_2.yml +28 -0
- data/data/solutions/github/eregon/2020/05_1.yml +10 -0
- data/data/solutions/github/eregon/2020/05_2.yml +33 -0
- data/data/solutions/github/eregon/2020/06_1.yml +7 -0
- data/data/solutions/github/eregon/2020/06_2.yml +8 -0
- data/data/solutions/github/eregon/2020/07_1.yml +102 -0
- data/data/solutions/github/eregon/2020/07_2.yml +24 -0
- data/data/solutions/github/eregon/2020/08_1.yml +70 -0
- data/data/solutions/github/eregon/2020/08_2.yml +46 -0
- data/data/solutions/github/eregon/2020/09_1.yml +7 -0
- data/data/solutions/github/eregon/2020/09_2.yml +14 -0
- data/data/solutions/github/eregon/2020/10_1.yml +8 -0
- data/data/solutions/github/eregon/2020/10_2.yml +16 -0
- data/data/solutions/github/eregon/2020/11_1.yml +30 -0
- data/data/solutions/github/eregon/2020/11_2.yml +31 -0
- data/data/solutions/github/eregon/2020/12_1.yml +29 -0
- data/data/solutions/github/eregon/2020/12_2.yml +28 -0
- data/data/solutions/github/eregon/2020/13_1.yml +12 -0
- data/data/solutions/github/eregon/2020/13_2.yml +116 -0
- data/data/solutions/github/eregon/2020/14_1.yml +20 -0
- data/data/solutions/github/eregon/2020/14_2.yml +36 -0
- data/data/solutions/github/eregon/2020/15_1.yml +21 -0
- data/data/solutions/github/eregon/2020/15_2.yml +45 -0
- data/data/solutions/github/eregon/2020/16_1.yml +21 -0
- data/data/solutions/github/eregon/2020/16_2.yml +40 -0
- data/data/solutions/github/eregon/2020/17_1.yml +74 -0
- data/data/solutions/github/eregon/2020/17_2.yml +78 -0
- data/data/solutions/github/eregon/2020/18_1.yml +13 -0
- data/data/solutions/github/eregon/2020/18_2.yml +13 -0
- data/data/solutions/github/eregon/2020/19_1.yml +19 -0
- data/data/solutions/github/eregon/2020/19_2.yml +55 -0
- data/data/solutions/github/eregon/2020/20_1.yml +37 -0
- data/data/solutions/github/eregon/2020/20_2.yml +196 -0
- data/data/solutions/github/eregon/2020/21_1.yml +15 -0
- data/data/solutions/github/eregon/2020/21_2.yml +25 -0
- data/data/solutions/github/eregon/2020/22_1.yml +18 -0
- data/data/solutions/github/eregon/2020/22_2.yml +42 -0
- data/data/solutions/github/eregon/2020/23_1.yml +87 -0
- data/data/solutions/github/eregon/2020/23_2.yml +91 -0
- data/data/solutions/github/eregon/2020/24_1.yml +34 -0
- data/data/solutions/github/eregon/2020/24_2.yml +57 -0
- data/data/solutions/github/eregon/2020/25_1.yml +28 -0
- data/data/solutions/github/eregon/2021/01_1.yml +8 -0
- data/data/solutions/github/eregon/2021/01_2.yml +8 -0
- data/data/solutions/github/eregon/2021/02_1.yml +17 -0
- data/data/solutions/github/eregon/2021/02_2.yml +17 -0
- data/data/solutions/github/eregon/2021/03_1.yml +14 -0
- data/data/solutions/github/eregon/2021/03_2.yml +18 -0
- data/data/solutions/github/eregon/2021/04_1.yml +29 -0
- data/data/solutions/github/eregon/2021/04_2.yml +33 -0
- data/data/solutions/github/eregon/2021/05_1.yml +27 -0
- data/data/solutions/github/eregon/2021/05_2.yml +26 -0
- data/data/solutions/github/eregon/2021/06_1.yml +21 -0
- data/data/solutions/github/eregon/2021/06_2.yml +17 -0
- data/data/solutions/github/eregon/2021/07_1.yml +12 -0
- data/data/solutions/github/eregon/2021/07_2.yml +12 -0
- data/data/solutions/github/eregon/2021/08_1.yml +16 -0
- data/data/solutions/github/eregon/2021/08_2.yml +64 -0
- data/data/solutions/github/eregon/2021/09_1.yml +21 -0
- data/data/solutions/github/eregon/2021/09_2.yml +48 -0
- data/data/solutions/github/eregon/2021/10_1.yml +33 -0
- data/data/solutions/github/eregon/2021/10_2.yml +37 -0
- data/data/solutions/github/eregon/2021/11_1.yml +1 -0
- data/data/solutions/github/eregon/2021/11_2.yml +1 -0
- data/data/solutions/github/eregon/2021/12_1.yml +1 -0
- data/data/solutions/github/eregon/2021/12_2.yml +1 -0
- data/data/solutions/github/eregon/2021/13_1.yml +1 -0
- data/data/solutions/github/eregon/2021/13_2.yml +1 -0
- data/data/solutions/github/eregon/2021/14_1.yml +1 -0
- data/data/solutions/github/eregon/2021/14_2.yml +1 -0
- data/data/solutions/github/eregon/2021/15_1.yml +1 -0
- data/data/solutions/github/eregon/2021/15_2.yml +1 -0
- data/data/solutions/github/eregon/2021/16_1.yml +46 -0
- data/data/solutions/github/eregon/2021/16_2.yml +71 -0
- data/data/solutions/github/eregon/2021/17_1.yml +1 -0
- data/data/solutions/github/eregon/2021/17_2.yml +1 -0
- data/data/solutions/github/eregon/2021/18_1.yml +1 -0
- data/data/solutions/github/eregon/2021/18_2.yml +1 -0
- data/data/solutions/github/eregon/2021/19_1.yml +1 -0
- data/data/solutions/github/eregon/2021/19_2.yml +1 -0
- data/data/solutions/github/eregon/2021/20_1.yml +1 -0
- data/data/solutions/github/eregon/2021/20_2.yml +1 -0
- data/data/solutions/github/eregon/2021/21_1.yml +1 -0
- data/data/solutions/github/eregon/2021/21_2.yml +1 -0
- data/data/solutions/github/eregon/2021/22_1.yml +1 -0
- data/data/solutions/github/eregon/2021/22_2.yml +1 -0
- data/data/solutions/github/eregon/2021/23_1.yml +1 -0
- data/data/solutions/github/eregon/2021/23_2.yml +1 -0
- data/data/solutions/github/eregon/2021/24_1.yml +1 -0
- data/data/solutions/github/eregon/2021/24_2.yml +1 -0
- data/data/solutions/github/eregon/2021/25_1.yml +1 -0
- data/data/solutions/github/eregon/2022/01_1.yml +8 -0
- data/data/solutions/github/eregon/2022/01_2.yml +8 -0
- data/data/solutions/github/eregon/2022/02_1.yml +22 -0
- data/data/solutions/github/eregon/2022/02_2.yml +38 -0
- data/data/solutions/github/eregon/2022/03_1.yml +17 -0
- data/data/solutions/github/eregon/2022/03_2.yml +16 -0
- data/data/solutions/github/eregon/2022/04_1.yml +13 -0
- data/data/solutions/github/eregon/2022/04_2.yml +20 -0
- data/data/solutions/github/eregon/2022/05_1.yml +23 -0
- data/data/solutions/github/eregon/2022/05_2.yml +23 -0
- data/data/solutions/github/eregon/2022/06_1.yml +12 -0
- data/data/solutions/github/eregon/2022/06_2.yml +12 -0
- data/data/solutions/github/eregon/2022/07_1.yml +56 -0
- data/data/solutions/github/eregon/2022/07_2.yml +62 -0
- data/data/solutions/github/eregon/2022/08_1.yml +40 -0
- data/data/solutions/github/eregon/2022/08_2.yml +34 -0
- data/data/solutions/github/eregon/2022/09_1.yml +39 -0
- data/data/solutions/github/eregon/2022/09_2.yml +50 -0
- data/data/solutions/github/eregon/2022/10_1.yml +28 -0
- data/data/solutions/github/eregon/2022/10_2.yml +30 -0
- data/data/solutions/github/eregon/2022/11_1.yml +38 -0
- data/data/solutions/github/eregon/2022/11_2.yml +40 -0
- data/data/solutions/github/eregon/2022/12_1.yml +51 -0
- data/data/solutions/github/eregon/2022/12_2.yml +53 -0
- data/data/solutions/github/eregon/2022/13_1.yml +38 -0
- data/data/solutions/github/eregon/2022/13_2.yml +46 -0
- data/data/solutions/github/eregon/2022/14_1.yml +63 -0
- data/data/solutions/github/eregon/2022/14_2.yml +75 -0
- data/data/solutions/github/eregon/2022/15_1.yml +1 -0
- data/data/solutions/github/eregon/2022/15_2.yml +1 -0
- data/data/solutions/github/eregon/2022/16_1.yml +1 -0
- data/data/solutions/github/eregon/2022/16_2.yml +1 -0
- data/data/solutions/github/eregon/2022/17_1.yml +1 -0
- data/data/solutions/github/eregon/2022/17_2.yml +1 -0
- data/data/solutions/github/eregon/2022/18_1.yml +1 -0
- data/data/solutions/github/eregon/2022/18_2.yml +1 -0
- data/data/solutions/github/eregon/2022/19_1.yml +1 -0
- data/data/solutions/github/eregon/2022/19_2.yml +1 -0
- data/data/solutions/github/eregon/2022/20_1.yml +1 -0
- data/data/solutions/github/eregon/2022/20_2.yml +1 -0
- data/data/solutions/github/eregon/2022/21_1.yml +1 -0
- data/data/solutions/github/eregon/2022/21_2.yml +1 -0
- data/data/solutions/github/eregon/2022/22_1.yml +1 -0
- data/data/solutions/github/eregon/2022/22_2.yml +1 -0
- data/data/solutions/github/eregon/2022/23_1.yml +1 -0
- data/data/solutions/github/eregon/2022/23_2.yml +1 -0
- data/data/solutions/github/eregon/2022/24_1.yml +1 -0
- data/data/solutions/github/eregon/2022/24_2.yml +1 -0
- data/data/solutions/github/eregon/2022/25_1.yml +1 -0
- data/data/solutions/github/eregon/2023/01_1.yml +7 -0
- data/data/solutions/github/eregon/2023/01_2.yml +18 -0
- data/data/solutions/github/eregon/2023/02_1.yml +17 -0
- data/data/solutions/github/eregon/2023/02_2.yml +14 -0
- data/data/solutions/github/eregon/2023/03_1.yml +33 -0
- data/data/solutions/github/eregon/2023/03_2.yml +21 -0
- data/data/solutions/github/eregon/2023/04_1.yml +15 -0
- data/data/solutions/github/eregon/2023/04_2.yml +13 -0
- data/data/solutions/github/eregon/2023/05_1.yml +27 -0
- data/data/solutions/github/eregon/2023/05_2.yml +98 -0
- data/data/solutions/github/eregon/2023/06_1.yml +13 -0
- data/data/solutions/github/eregon/2023/06_2.yml +8 -0
- data/data/solutions/github/eregon/2023/07_1.yml +43 -0
- data/data/solutions/github/eregon/2023/07_2.yml +36 -0
- data/data/solutions/github/eregon/2023/08_1.yml +22 -0
- data/data/solutions/github/eregon/2023/08_2.yml +73 -0
- data/data/solutions/github/eregon/2023/09_1.yml +19 -0
- data/data/solutions/github/eregon/2023/09_2.yml +16 -0
- data/data/solutions/github/eregon/2023/10_1.yml +86 -0
- data/data/solutions/github/eregon/2023/10_2.yml +1 -0
- data/data/solutions/github/eregon/2023/11_1.yml +23 -0
- data/data/solutions/github/eregon/2023/11_2.yml +1 -0
- data/data/solutions/github/eregon/2023/12_1.yml +1 -0
- data/data/solutions/github/eregon/2023/12_2.yml +1 -0
- data/data/solutions/github/eregon/2023/13_1.yml +1 -0
- data/data/solutions/github/eregon/2023/13_2.yml +1 -0
- data/data/solutions/github/eregon/2023/14_1.yml +1 -0
- data/data/solutions/github/eregon/2023/14_2.yml +1 -0
- data/data/solutions/github/eregon/2023/15_1.yml +1 -0
- data/data/solutions/github/eregon/2023/15_2.yml +1 -0
- data/data/solutions/github/eregon/2023/16_1.yml +1 -0
- data/data/solutions/github/eregon/2023/16_2.yml +1 -0
- data/data/solutions/github/eregon/2023/17_1.yml +1 -0
- data/data/solutions/github/eregon/2023/17_2.yml +1 -0
- data/data/solutions/github/eregon/2023/18_1.yml +1 -0
- data/data/solutions/github/eregon/2023/18_2.yml +1 -0
- data/data/solutions/github/eregon/2023/19_1.yml +1 -0
- data/data/solutions/github/eregon/2023/19_2.yml +1 -0
- data/data/solutions/github/eregon/2023/20_1.yml +1 -0
- data/data/solutions/github/eregon/2023/20_2.yml +1 -0
- data/data/solutions/github/eregon/2023/21_1.yml +1 -0
- data/data/solutions/github/eregon/2023/21_2.yml +1 -0
- data/data/solutions/github/eregon/2023/22_1.yml +1 -0
- data/data/solutions/github/eregon/2023/22_2.yml +1 -0
- data/data/solutions/github/eregon/2023/23_1.yml +1 -0
- data/data/solutions/github/eregon/2023/23_2.yml +1 -0
- data/data/solutions/github/eregon/2023/24_1.yml +1 -0
- data/data/solutions/github/eregon/2023/24_2.yml +1 -0
- data/data/solutions/github/eregon/2023/25_1.yml +1 -0
- data/data/solutions/github/eregon/2024/01_1.yml +10 -0
- data/data/solutions/github/eregon/2024/01_2.yml +4 -0
- data/data/solutions/github/eregon/2024/02_1.yml +11 -0
- data/data/solutions/github/eregon/2024/02_2.yml +10 -0
- data/data/solutions/github/eregon/2024/03_1.yml +4 -0
- data/data/solutions/github/eregon/2024/03_2.yml +25 -0
- data/data/solutions/github/eregon/2024/04_1.yml +72 -0
- data/data/solutions/github/eregon/2024/04_2.yml +18 -0
- data/data/solutions/github/eregon/2024/05_1.yml +22 -0
- data/data/solutions/github/eregon/2024/05_2.yml +1 -0
- data/data/solutions/github/eregon/2024/06_1.yml +34 -0
- data/data/solutions/github/eregon/2024/06_2.yml +1 -0
- data/data/solutions/github/eregon/2024/07_1.yml +14 -0
- data/data/solutions/github/eregon/2024/07_2.yml +1 -0
- data/data/solutions/github/eregon/2024/08_1.yml +1 -0
- data/data/solutions/github/eregon/2024/08_2.yml +1 -0
- data/data/solutions/github/eregon/2024/09_1.yml +1 -0
- data/data/solutions/github/eregon/2024/09_2.yml +1 -0
- data/data/solutions/github/eregon/2024/10_1.yml +1 -0
- data/data/solutions/github/eregon/2024/10_2.yml +1 -0
- data/data/solutions/github/eregon/2024/11_1.yml +1 -0
- data/data/solutions/github/eregon/2024/11_2.yml +1 -0
- data/data/solutions/github/eregon/2024/12_1.yml +1 -0
- data/data/solutions/github/eregon/2024/12_2.yml +1 -0
- data/data/solutions/github/eregon/2024/13_1.yml +1 -0
- data/data/solutions/github/eregon/2024/13_2.yml +1 -0
- data/data/solutions/github/eregon/2024/14_1.yml +1 -0
- data/data/solutions/github/eregon/2024/14_2.yml +1 -0
- data/data/solutions/github/eregon/2024/15_1.yml +1 -0
- data/data/solutions/github/eregon/2024/15_2.yml +1 -0
- data/data/solutions/github/eregon/2024/16_1.yml +1 -0
- data/data/solutions/github/eregon/2024/16_2.yml +1 -0
- data/data/solutions/github/eregon/2024/17_1.yml +51 -0
- data/data/solutions/github/eregon/2024/17_2.yml +284 -0
- data/data/solutions/github/eregon/2024/18_1.yml +1 -0
- data/data/solutions/github/eregon/2024/18_2.yml +1 -0
- data/data/solutions/github/eregon/2024/19_1.yml +1 -0
- data/data/solutions/github/eregon/2024/19_2.yml +1 -0
- data/data/solutions/github/eregon/2024/20_1.yml +1 -0
- data/data/solutions/github/eregon/2024/20_2.yml +1 -0
- data/data/solutions/github/eregon/2024/21_1.yml +1 -0
- data/data/solutions/github/eregon/2024/21_2.yml +1 -0
- data/data/solutions/github/eregon/2024/22_1.yml +1 -0
- data/data/solutions/github/eregon/2024/22_2.yml +1 -0
- data/data/solutions/github/eregon/2024/23_1.yml +1 -0
- data/data/solutions/github/eregon/2024/23_2.yml +1 -0
- data/data/solutions/github/eregon/2024/24_1.yml +1 -0
- data/data/solutions/github/eregon/2024/24_2.yml +1 -0
- data/data/solutions/github/eregon/2024/25_1.yml +1 -0
- data/data/solutions/github/erikw/2015/01_1.yml +14 -0
- data/data/solutions/github/erikw/2015/01_2.yml +19 -0
- data/data/solutions/github/erikw/2015/02_1.yml +11 -0
- data/data/solutions/github/erikw/2015/02_2.yml +11 -0
- data/data/solutions/github/erikw/2015/03_1.yml +23 -0
- data/data/solutions/github/erikw/2015/03_2.yml +29 -0
- data/data/solutions/github/erikw/2015/04_1.yml +10 -0
- data/data/solutions/github/erikw/2015/04_2.yml +10 -0
- data/data/solutions/github/erikw/2015/05_1.yml +31 -0
- data/data/solutions/github/erikw/2015/05_2.yml +21 -0
- data/data/solutions/github/erikw/2015/06_1.yml +25 -0
- data/data/solutions/github/erikw/2015/06_2.yml +25 -0
- data/data/solutions/github/erikw/2015/07_1.yml +100 -0
- data/data/solutions/github/erikw/2015/07_2.yml +104 -0
- data/data/solutions/github/erikw/2015/08_1.yml +14 -0
- data/data/solutions/github/erikw/2015/08_2.yml +14 -0
- data/data/solutions/github/erikw/2015/09_1.yml +14 -0
- data/data/solutions/github/erikw/2015/09_2.yml +14 -0
- data/data/solutions/github/erikw/2015/10_1.yml +23 -0
- data/data/solutions/github/erikw/2015/10_2.yml +23 -0
- data/data/solutions/github/erikw/2015/11_1.yml +40 -0
- data/data/solutions/github/erikw/2015/11_2.yml +1 -0
- data/data/solutions/github/erikw/2015/12_1.yml +18 -0
- data/data/solutions/github/erikw/2015/12_2.yml +21 -0
- data/data/solutions/github/erikw/2015/13_1.yml +17 -0
- data/data/solutions/github/erikw/2015/13_2.yml +22 -0
- data/data/solutions/github/erikw/2015/14_1.yml +46 -0
- data/data/solutions/github/erikw/2015/14_2.yml +51 -0
- data/data/solutions/github/erikw/2015/15_1.yml +24 -0
- data/data/solutions/github/erikw/2015/15_2.yml +31 -0
- data/data/solutions/github/erikw/2015/16_1.yml +21 -0
- data/data/solutions/github/erikw/2015/16_2.yml +30 -0
- data/data/solutions/github/erikw/2015/17_1.yml +12 -0
- data/data/solutions/github/erikw/2015/17_2.yml +15 -0
- data/data/solutions/github/erikw/2015/18_1.yml +46 -0
- data/data/solutions/github/erikw/2015/18_2.yml +57 -0
- data/data/solutions/github/erikw/2015/19_1.yml +26 -0
- data/data/solutions/github/erikw/2015/19_2.yml +27 -0
- data/data/solutions/github/erikw/2015/20_1.yml +27 -0
- data/data/solutions/github/erikw/2015/20_2.yml +17 -0
- data/data/solutions/github/erikw/2015/21_1.yml +95 -0
- data/data/solutions/github/erikw/2015/21_2.yml +88 -0
- data/data/solutions/github/erikw/2015/22_1.yml +142 -0
- data/data/solutions/github/erikw/2015/22_2.yml +47 -0
- data/data/solutions/github/erikw/2015/23_1.yml +8 -0
- data/data/solutions/github/erikw/2015/23_2.yml +8 -0
- data/data/solutions/github/erikw/2015/24_1.yml +46 -0
- data/data/solutions/github/erikw/2015/24_2.yml +15 -0
- data/data/solutions/github/erikw/2015/25_1.yml +25 -0
- data/data/solutions/github/erikw/2016/01_1.yml +17 -0
- data/data/solutions/github/erikw/2016/01_2.yml +38 -0
- data/data/solutions/github/erikw/2016/02_1.yml +20 -0
- data/data/solutions/github/erikw/2016/02_2.yml +35 -0
- data/data/solutions/github/erikw/2016/03_1.yml +8 -0
- data/data/solutions/github/erikw/2016/03_2.yml +8 -0
- data/data/solutions/github/erikw/2016/04_1.yml +9 -0
- data/data/solutions/github/erikw/2016/04_2.yml +16 -0
- data/data/solutions/github/erikw/2016/05_1.yml +17 -0
- data/data/solutions/github/erikw/2016/05_2.yml +23 -0
- data/data/solutions/github/erikw/2016/06_1.yml +8 -0
- data/data/solutions/github/erikw/2016/06_2.yml +8 -0
- data/data/solutions/github/erikw/2016/07_1.yml +35 -0
- data/data/solutions/github/erikw/2016/07_2.yml +38 -0
- data/data/solutions/github/erikw/2016/08_1.yml +38 -0
- data/data/solutions/github/erikw/2016/08_2.yml +41 -0
- data/data/solutions/github/erikw/2016/09_1.yml +24 -0
- data/data/solutions/github/erikw/2016/09_2.yml +68 -0
- data/data/solutions/github/erikw/2016/10_1.yml +52 -0
- data/data/solutions/github/erikw/2016/10_2.yml +44 -0
- data/data/solutions/github/erikw/2016/11_1.yml +76 -0
- data/data/solutions/github/erikw/2016/11_2.yml +6 -0
- data/data/solutions/github/erikw/2016/12_1.yml +10 -0
- data/data/solutions/github/erikw/2016/12_2.yml +10 -0
- data/data/solutions/github/erikw/2016/13_1.yml +37 -0
- data/data/solutions/github/erikw/2016/13_2.yml +33 -0
- data/data/solutions/github/erikw/2016/14_1.yml +40 -0
- data/data/solutions/github/erikw/2016/14_2.yml +55 -0
- data/data/solutions/github/erikw/2016/15_1.yml +18 -0
- data/data/solutions/github/erikw/2016/15_2.yml +19 -0
- data/data/solutions/github/erikw/2016/16_1.yml +21 -0
- data/data/solutions/github/erikw/2016/16_2.yml +20 -0
- data/data/solutions/github/erikw/2016/17_1.yml +32 -0
- data/data/solutions/github/erikw/2016/17_2.yml +32 -0
- data/data/solutions/github/erikw/2016/18_1.yml +35 -0
- data/data/solutions/github/erikw/2016/18_2.yml +26 -0
- data/data/solutions/github/erikw/2016/19_1.yml +36 -0
- data/data/solutions/github/erikw/2016/19_2.yml +44 -0
- data/data/solutions/github/erikw/2016/20_1.yml +35 -0
- data/data/solutions/github/erikw/2016/20_2.yml +45 -0
- data/data/solutions/github/erikw/2016/21_1.yml +10 -0
- data/data/solutions/github/erikw/2016/21_2.yml +10 -0
- data/data/solutions/github/erikw/2016/22_1.yml +14 -0
- data/data/solutions/github/erikw/2016/22_2.yml +82 -0
- data/data/solutions/github/erikw/2016/23_1.yml +12 -0
- data/data/solutions/github/erikw/2016/23_2.yml +12 -0
- data/data/solutions/github/erikw/2016/24_1.yml +9 -0
- data/data/solutions/github/erikw/2016/24_2.yml +9 -0
- data/data/solutions/github/erikw/2016/25_1.yml +22 -0
- data/data/solutions/github/erikw/2017/01_1.yml +7 -0
- data/data/solutions/github/erikw/2017/01_2.yml +12 -0
- data/data/solutions/github/erikw/2017/02_1.yml +8 -0
- data/data/solutions/github/erikw/2017/02_2.yml +8 -0
- data/data/solutions/github/erikw/2017/03_1.yml +27 -0
- data/data/solutions/github/erikw/2017/03_2.yml +6 -0
- data/data/solutions/github/erikw/2017/04_1.yml +8 -0
- data/data/solutions/github/erikw/2017/04_2.yml +9 -0
- data/data/solutions/github/erikw/2017/05_1.yml +14 -0
- data/data/solutions/github/erikw/2017/05_2.yml +15 -0
- data/data/solutions/github/erikw/2017/06_1.yml +19 -0
- data/data/solutions/github/erikw/2017/06_2.yml +19 -0
- data/data/solutions/github/erikw/2017/07_1.yml +24 -0
- data/data/solutions/github/erikw/2017/07_2.yml +42 -0
- data/data/solutions/github/erikw/2017/08_1.yml +8 -0
- data/data/solutions/github/erikw/2017/08_2.yml +8 -0
- data/data/solutions/github/erikw/2017/09_1.yml +29 -0
- data/data/solutions/github/erikw/2017/09_2.yml +27 -0
- data/data/solutions/github/erikw/2017/10_1.yml +11 -0
- data/data/solutions/github/erikw/2017/10_2.yml +13 -0
- data/data/solutions/github/erikw/2017/11_1.yml +39 -0
- data/data/solutions/github/erikw/2017/11_2.yml +41 -0
- data/data/solutions/github/erikw/2017/12_1.yml +28 -0
- data/data/solutions/github/erikw/2017/12_2.yml +41 -0
- data/data/solutions/github/erikw/2017/13_1.yml +12 -0
- data/data/solutions/github/erikw/2017/13_2.yml +14 -0
- data/data/solutions/github/erikw/2017/14_1.yml +17 -0
- data/data/solutions/github/erikw/2017/14_2.yml +62 -0
- data/data/solutions/github/erikw/2017/15_1.yml +30 -0
- data/data/solutions/github/erikw/2017/15_2.yml +37 -0
- data/data/solutions/github/erikw/2017/16_1.yml +13 -0
- data/data/solutions/github/erikw/2017/16_2.yml +21 -0
- data/data/solutions/github/erikw/2017/17_1.yml +15 -0
- data/data/solutions/github/erikw/2017/17_2.yml +17 -0
- data/data/solutions/github/erikw/2017/18_1.yml +59 -0
- data/data/solutions/github/erikw/2017/18_2.yml +76 -0
- data/data/solutions/github/erikw/2017/19_1.yml +8 -0
- data/data/solutions/github/erikw/2017/19_2.yml +8 -0
- data/data/solutions/github/erikw/2017/20_1.yml +12 -0
- data/data/solutions/github/erikw/2017/20_2.yml +39 -0
- data/data/solutions/github/erikw/2017/21_1.yml +12 -0
- data/data/solutions/github/erikw/2017/21_2.yml +11 -0
- data/data/solutions/github/erikw/2017/22_1.yml +46 -0
- data/data/solutions/github/erikw/2017/22_2.yml +47 -0
- data/data/solutions/github/erikw/2017/23_1.yml +9 -0
- data/data/solutions/github/erikw/2017/23_2.yml +26 -0
- data/data/solutions/github/erikw/2017/24_1.yml +39 -0
- data/data/solutions/github/erikw/2017/24_2.yml +40 -0
- data/data/solutions/github/erikw/2017/25_1.yml +33 -0
- data/data/solutions/github/erikw/2018/01_1.yml +4 -0
- data/data/solutions/github/erikw/2018/01_2.yml +15 -0
- data/data/solutions/github/erikw/2018/02_1.yml +16 -0
- data/data/solutions/github/erikw/2018/02_2.yml +8 -0
- data/data/solutions/github/erikw/2018/03_1.yml +20 -0
- data/data/solutions/github/erikw/2018/03_2.yml +29 -0
- data/data/solutions/github/erikw/2018/04_1.yml +34 -0
- data/data/solutions/github/erikw/2018/04_2.yml +33 -0
- data/data/solutions/github/erikw/2018/05_1.yml +8 -0
- data/data/solutions/github/erikw/2018/05_2.yml +16 -0
- data/data/solutions/github/erikw/2018/06_1.yml +47 -0
- data/data/solutions/github/erikw/2018/06_2.yml +25 -0
- data/data/solutions/github/erikw/2018/07_1.yml +28 -0
- data/data/solutions/github/erikw/2018/07_2.yml +50 -0
- data/data/solutions/github/erikw/2018/08_1.yml +20 -0
- data/data/solutions/github/erikw/2018/08_2.yml +29 -0
- data/data/solutions/github/erikw/2018/09_1.yml +9 -0
- data/data/solutions/github/erikw/2018/09_2.yml +11 -0
- data/data/solutions/github/erikw/2018/10_1.yml +12 -0
- data/data/solutions/github/erikw/2018/10_2.yml +12 -0
- data/data/solutions/github/erikw/2018/11_1.yml +55 -0
- data/data/solutions/github/erikw/2018/11_2.yml +53 -0
- data/data/solutions/github/erikw/2018/12_1.yml +11 -0
- data/data/solutions/github/erikw/2018/12_2.yml +21 -0
- data/data/solutions/github/erikw/2018/13_1.yml +103 -0
- data/data/solutions/github/erikw/2018/13_2.yml +101 -0
- data/data/solutions/github/erikw/2018/14_1.yml +20 -0
- data/data/solutions/github/erikw/2018/14_2.yml +26 -0
- data/data/solutions/github/erikw/2018/15_1.yml +9 -0
- data/data/solutions/github/erikw/2018/15_2.yml +25 -0
- data/data/solutions/github/erikw/2018/16_1.yml +22 -0
- data/data/solutions/github/erikw/2018/16_2.yml +41 -0
- data/data/solutions/github/erikw/2018/17_1.yml +18 -0
- data/data/solutions/github/erikw/2018/17_2.yml +12 -0
- data/data/solutions/github/erikw/2018/18_1.yml +17 -0
- data/data/solutions/github/erikw/2018/18_2.yml +27 -0
- data/data/solutions/github/erikw/2018/19_1.yml +19 -0
- data/data/solutions/github/erikw/2018/19_2.yml +19 -0
- data/data/solutions/github/erikw/2018/20_1.yml +12 -0
- data/data/solutions/github/erikw/2018/20_2.yml +13 -0
- data/data/solutions/github/erikw/2018/21_1.yml +8 -0
- data/data/solutions/github/erikw/2018/21_2.yml +8 -0
- data/data/solutions/github/erikw/2018/22_1.yml +14 -0
- data/data/solutions/github/erikw/2018/22_2.yml +94 -0
- data/data/solutions/github/erikw/2018/23_1.yml +18 -0
- data/data/solutions/github/erikw/2018/23_2.yml +44 -0
- data/data/solutions/github/erikw/2018/24_1.yml +8 -0
- data/data/solutions/github/erikw/2018/24_2.yml +22 -0
- data/data/solutions/github/erikw/2018/25_1.yml +50 -0
- data/data/solutions/github/erikw/2019/01_1.yml +4 -0
- data/data/solutions/github/erikw/2019/01_2.yml +10 -0
- data/data/solutions/github/erikw/2019/02_1.yml +10 -0
- data/data/solutions/github/erikw/2019/02_2.yml +32 -0
- data/data/solutions/github/erikw/2019/03_1.yml +32 -0
- data/data/solutions/github/erikw/2019/03_2.yml +41 -0
- data/data/solutions/github/erikw/2019/04_1.yml +24 -0
- data/data/solutions/github/erikw/2019/04_2.yml +32 -0
- data/data/solutions/github/erikw/2019/05_1.yml +11 -0
- data/data/solutions/github/erikw/2019/05_2.yml +11 -0
- data/data/solutions/github/erikw/2019/06_1.yml +22 -0
- data/data/solutions/github/erikw/2019/06_2.yml +49 -0
- data/data/solutions/github/erikw/2019/07_1.yml +24 -0
- data/data/solutions/github/erikw/2019/07_2.yml +36 -0
- data/data/solutions/github/erikw/2019/08_1.yml +11 -0
- data/data/solutions/github/erikw/2019/08_2.yml +20 -0
- data/data/solutions/github/erikw/2019/09_1.yml +15 -0
- data/data/solutions/github/erikw/2019/09_2.yml +8 -0
- data/data/solutions/github/erikw/2019/10_1.yml +9 -0
- data/data/solutions/github/erikw/2019/10_2.yml +44 -0
- data/data/solutions/github/erikw/2019/11_1.yml +28 -0
- data/data/solutions/github/erikw/2019/11_2.yml +38 -0
- data/data/solutions/github/erikw/2019/12_1.yml +48 -0
- data/data/solutions/github/erikw/2019/12_2.yml +43 -0
- data/data/solutions/github/erikw/2019/13_1.yml +26 -0
- data/data/solutions/github/erikw/2019/13_2.yml +76 -0
- data/data/solutions/github/erikw/2019/14_1.yml +8 -0
- data/data/solutions/github/erikw/2019/14_2.yml +34 -0
- data/data/solutions/github/erikw/2019/15_1.yml +24 -0
- data/data/solutions/github/erikw/2019/15_2.yml +43 -0
- data/data/solutions/github/erikw/2019/16_1.yml +32 -0
- data/data/solutions/github/erikw/2019/16_2.yml +32 -0
- data/data/solutions/github/erikw/2019/17_1.yml +53 -0
- data/data/solutions/github/erikw/2019/17_2.yml +45 -0
- data/data/solutions/github/erikw/2019/18_1.yml +127 -0
- data/data/solutions/github/erikw/2019/18_2.yml +141 -0
- data/data/solutions/github/erikw/2019/19_1.yml +41 -0
- data/data/solutions/github/erikw/2019/19_2.yml +45 -0
- data/data/solutions/github/erikw/2019/20_1.yml +108 -0
- data/data/solutions/github/erikw/2019/20_2.yml +123 -0
- data/data/solutions/github/erikw/2019/21_1.yml +31 -0
- data/data/solutions/github/erikw/2019/21_2.yml +44 -0
- data/data/solutions/github/erikw/2019/22_1.yml +44 -0
- data/data/solutions/github/erikw/2019/22_2.yml +64 -0
- data/data/solutions/github/erikw/2019/23_1.yml +37 -0
- data/data/solutions/github/erikw/2019/23_2.yml +54 -0
- data/data/solutions/github/erikw/2019/24_1.yml +65 -0
- data/data/solutions/github/erikw/2019/24_2.yml +150 -0
- data/data/solutions/github/erikw/2019/25_1.yml +73 -0
- data/data/solutions/github/erikw/2020/01_1.yml +17 -0
- data/data/solutions/github/erikw/2020/01_2.yml +17 -0
- data/data/solutions/github/erikw/2020/02_1.yml +12 -0
- data/data/solutions/github/erikw/2020/02_2.yml +14 -0
- data/data/solutions/github/erikw/2020/03_1.yml +10 -0
- data/data/solutions/github/erikw/2020/03_2.yml +18 -0
- data/data/solutions/github/erikw/2020/04_1.yml +24 -0
- data/data/solutions/github/erikw/2020/04_2.yml +59 -0
- data/data/solutions/github/erikw/2020/05_1.yml +7 -0
- data/data/solutions/github/erikw/2020/05_2.yml +20 -0
- data/data/solutions/github/erikw/2020/06_1.yml +22 -0
- data/data/solutions/github/erikw/2020/06_2.yml +20 -0
- data/data/solutions/github/erikw/2020/07_1.yml +36 -0
- data/data/solutions/github/erikw/2020/07_2.yml +29 -0
- data/data/solutions/github/erikw/2020/08_1.yml +10 -0
- data/data/solutions/github/erikw/2020/08_2.yml +23 -0
- data/data/solutions/github/erikw/2020/09_1.yml +8 -0
- data/data/solutions/github/erikw/2020/09_2.yml +27 -0
- data/data/solutions/github/erikw/2020/10_1.yml +19 -0
- data/data/solutions/github/erikw/2020/10_2.yml +21 -0
- data/data/solutions/github/erikw/2020/11_1.yml +69 -0
- data/data/solutions/github/erikw/2020/11_2.yml +74 -0
- data/data/solutions/github/erikw/2020/12_1.yml +31 -0
- data/data/solutions/github/erikw/2020/12_2.yml +31 -0
- data/data/solutions/github/erikw/2020/13_1.yml +14 -0
- data/data/solutions/github/erikw/2020/13_2.yml +50 -0
- data/data/solutions/github/erikw/2020/14_1.yml +21 -0
- data/data/solutions/github/erikw/2020/14_2.yml +49 -0
- data/data/solutions/github/erikw/2020/15_1.yml +10 -0
- data/data/solutions/github/erikw/2020/15_2.yml +10 -0
- data/data/solutions/github/erikw/2020/16_1.yml +25 -0
- data/data/solutions/github/erikw/2020/16_2.yml +68 -0
- data/data/solutions/github/erikw/2020/17_1.yml +15 -0
- data/data/solutions/github/erikw/2020/17_2.yml +15 -0
- data/data/solutions/github/erikw/2020/18_1.yml +69 -0
- data/data/solutions/github/erikw/2020/18_2.yml +24 -0
- data/data/solutions/github/erikw/2020/19_1.yml +41 -0
- data/data/solutions/github/erikw/2020/19_2.yml +63 -0
- data/data/solutions/github/erikw/2020/20_1.yml +9 -0
- data/data/solutions/github/erikw/2020/20_2.yml +274 -0
- data/data/solutions/github/erikw/2020/21_1.yml +14 -0
- data/data/solutions/github/erikw/2020/21_2.yml +32 -0
- data/data/solutions/github/erikw/2020/22_1.yml +24 -0
- data/data/solutions/github/erikw/2020/22_2.yml +52 -0
- data/data/solutions/github/erikw/2020/23_1.yml +117 -0
- data/data/solutions/github/erikw/2020/23_2.yml +65 -0
- data/data/solutions/github/erikw/2020/24_1.yml +13 -0
- data/data/solutions/github/erikw/2020/24_2.yml +57 -0
- data/data/solutions/github/erikw/2020/25_1.yml +30 -0
- data/data/solutions/github/erikw/2021/01_1.yml +7 -0
- data/data/solutions/github/erikw/2021/01_2.yml +11 -0
- data/data/solutions/github/erikw/2021/02_1.yml +33 -0
- data/data/solutions/github/erikw/2021/02_2.yml +19 -0
- data/data/solutions/github/erikw/2021/03_1.yml +25 -0
- data/data/solutions/github/erikw/2021/03_2.yml +27 -0
- data/data/solutions/github/erikw/2021/04_1.yml +48 -0
- data/data/solutions/github/erikw/2021/04_2.yml +58 -0
- data/data/solutions/github/erikw/2021/05_1.yml +26 -0
- data/data/solutions/github/erikw/2021/05_2.yml +35 -0
- data/data/solutions/github/erikw/2021/06_1.yml +18 -0
- data/data/solutions/github/erikw/2021/06_2.yml +42 -0
- data/data/solutions/github/erikw/2021/07_1.yml +9 -0
- data/data/solutions/github/erikw/2021/07_2.yml +20 -0
- data/data/solutions/github/erikw/2021/08_1.yml +31 -0
- data/data/solutions/github/erikw/2021/08_2.yml +36 -0
- data/data/solutions/github/erikw/2021/09_1.yml +27 -0
- data/data/solutions/github/erikw/2021/09_2.yml +49 -0
- data/data/solutions/github/erikw/2021/10_1.yml +36 -0
- data/data/solutions/github/erikw/2021/10_2.yml +53 -0
- data/data/solutions/github/erikw/2021/11_1.yml +55 -0
- data/data/solutions/github/erikw/2021/11_2.yml +56 -0
- data/data/solutions/github/erikw/2021/12_1.yml +43 -0
- data/data/solutions/github/erikw/2021/12_2.yml +44 -0
- data/data/solutions/github/erikw/2021/13_1.yml +33 -0
- data/data/solutions/github/erikw/2021/13_2.yml +45 -0
- data/data/solutions/github/erikw/2021/14_1.yml +80 -0
- data/data/solutions/github/erikw/2021/14_2.yml +29 -0
- data/data/solutions/github/erikw/2021/15_1.yml +47 -0
- data/data/solutions/github/erikw/2021/15_2.yml +72 -0
- data/data/solutions/github/erikw/2021/16_1.yml +69 -0
- data/data/solutions/github/erikw/2021/16_2.yml +83 -0
- data/data/solutions/github/erikw/2021/17_1.yml +50 -0
- data/data/solutions/github/erikw/2021/17_2.yml +22 -0
- data/data/solutions/github/erikw/2021/18_1.yml +11 -0
- data/data/solutions/github/erikw/2021/18_2.yml +10 -0
- data/data/solutions/github/erikw/2021/19_1.yml +146 -0
- data/data/solutions/github/erikw/2021/19_2.yml +109 -0
- data/data/solutions/github/erikw/2021/20_1.yml +52 -0
- data/data/solutions/github/erikw/2021/20_2.yml +52 -0
- data/data/solutions/github/erikw/2021/21_1.yml +38 -0
- data/data/solutions/github/erikw/2021/21_2.yml +36 -0
- data/data/solutions/github/erikw/2021/22_1.yml +34 -0
- data/data/solutions/github/erikw/2021/22_2.yml +74 -0
- data/data/solutions/github/erikw/2021/23_1.yml +153 -0
- data/data/solutions/github/erikw/2021/23_2.yml +4 -0
- data/data/solutions/github/erikw/2021/24_1.yml +8 -0
- data/data/solutions/github/erikw/2021/24_2.yml +8 -0
- data/data/solutions/github/erikw/2021/25_1.yml +70 -0
- data/data/solutions/github/gchan/2015/01_1.yml +10 -0
- data/data/solutions/github/gchan/2015/01_2.yml +19 -0
- data/data/solutions/github/gchan/2015/02_1.yml +18 -0
- data/data/solutions/github/gchan/2015/02_2.yml +16 -0
- data/data/solutions/github/gchan/2015/03_1.yml +28 -0
- data/data/solutions/github/gchan/2015/03_2.yml +62 -0
- data/data/solutions/github/gchan/2015/04_1.yml +16 -0
- data/data/solutions/github/gchan/2015/04_2.yml +16 -0
- data/data/solutions/github/gchan/2015/05_1.yml +15 -0
- data/data/solutions/github/gchan/2015/05_2.yml +21 -0
- data/data/solutions/github/gchan/2015/06_1.yml +47 -0
- data/data/solutions/github/gchan/2015/06_2.yml +48 -0
- data/data/solutions/github/gchan/2015/07_1.yml +78 -0
- data/data/solutions/github/gchan/2015/07_2.yml +80 -0
- data/data/solutions/github/gchan/2015/08_1.yml +8 -0
- data/data/solutions/github/gchan/2015/08_2.yml +8 -0
- data/data/solutions/github/gchan/2015/09_1.yml +24 -0
- data/data/solutions/github/gchan/2015/09_2.yml +24 -0
- data/data/solutions/github/gchan/2015/10_1.yml +12 -0
- data/data/solutions/github/gchan/2015/10_2.yml +12 -0
- data/data/solutions/github/gchan/2015/11_1.yml +33 -0
- data/data/solutions/github/gchan/2015/11_2.yml +33 -0
- data/data/solutions/github/gchan/2015/12_1.yml +22 -0
- data/data/solutions/github/gchan/2015/12_2.yml +26 -0
- data/data/solutions/github/gchan/2015/13_1.yml +28 -0
- data/data/solutions/github/gchan/2015/13_2.yml +30 -0
- data/data/solutions/github/gchan/2015/14_1.yml +36 -0
- data/data/solutions/github/gchan/2015/14_2.yml +75 -0
- data/data/solutions/github/gchan/2015/15_1.yml +68 -0
- data/data/solutions/github/gchan/2015/15_2.yml +70 -0
- data/data/solutions/github/gchan/2015/16_1.yml +40 -0
- data/data/solutions/github/gchan/2015/16_2.yml +52 -0
- data/data/solutions/github/gchan/2015/17_1.yml +18 -0
- data/data/solutions/github/gchan/2015/17_2.yml +21 -0
- data/data/solutions/github/gchan/2015/18_1.yml +38 -0
- data/data/solutions/github/gchan/2015/18_2.yml +45 -0
- data/data/solutions/github/gchan/2015/19_1.yml +36 -0
- data/data/solutions/github/gchan/2015/19_2.yml +37 -0
- data/data/solutions/github/gchan/2015/20_1.yml +17 -0
- data/data/solutions/github/gchan/2015/20_2.yml +17 -0
- data/data/solutions/github/gchan/2015/21_1.yml +86 -0
- data/data/solutions/github/gchan/2015/21_2.yml +86 -0
- data/data/solutions/github/gchan/2015/22_1.yml +148 -0
- data/data/solutions/github/gchan/2015/22_2.yml +151 -0
- data/data/solutions/github/gchan/2015/23_1.yml +65 -0
- data/data/solutions/github/gchan/2015/23_2.yml +66 -0
- data/data/solutions/github/gchan/2015/24_1.yml +23 -0
- data/data/solutions/github/gchan/2015/24_2.yml +23 -0
- data/data/solutions/github/gchan/2015/25_1.yml +26 -0
- data/data/solutions/github/gchan/2016/01_1.yml +33 -0
- data/data/solutions/github/gchan/2016/01_2.yml +62 -0
- data/data/solutions/github/gchan/2016/02_1.yml +33 -0
- data/data/solutions/github/gchan/2016/02_2.yml +43 -0
- data/data/solutions/github/gchan/2016/03_1.yml +7 -0
- data/data/solutions/github/gchan/2016/03_2.yml +9 -0
- data/data/solutions/github/gchan/2016/04_1.yml +31 -0
- data/data/solutions/github/gchan/2016/04_2.yml +14 -0
- data/data/solutions/github/gchan/2016/05_1.yml +19 -0
- data/data/solutions/github/gchan/2016/05_2.yml +28 -0
- data/data/solutions/github/gchan/2016/06_1.yml +19 -0
- data/data/solutions/github/gchan/2016/06_2.yml +19 -0
- data/data/solutions/github/gchan/2016/07_1.yml +30 -0
- data/data/solutions/github/gchan/2016/07_2.yml +38 -0
- data/data/solutions/github/gchan/2016/08_1.yml +39 -0
- data/data/solutions/github/gchan/2016/08_2.yml +39 -0
- data/data/solutions/github/gchan/2016/09_1.yml +22 -0
- data/data/solutions/github/gchan/2016/09_2.yml +29 -0
- data/data/solutions/github/gchan/2016/10_1.yml +45 -0
- data/data/solutions/github/gchan/2016/10_2.yml +51 -0
- data/data/solutions/github/gchan/2016/11_1.yml +114 -0
- data/data/solutions/github/gchan/2016/11_2.yml +114 -0
- data/data/solutions/github/gchan/2016/12_1.yml +37 -0
- data/data/solutions/github/gchan/2016/12_2.yml +42 -0
- data/data/solutions/github/gchan/2016/13_1.yml +49 -0
- data/data/solutions/github/gchan/2016/13_2.yml +45 -0
- data/data/solutions/github/gchan/2016/14_1.yml +31 -0
- data/data/solutions/github/gchan/2016/14_2.yml +35 -0
- data/data/solutions/github/gchan/2016/15_1.yml +26 -0
- data/data/solutions/github/gchan/2016/15_2.yml +28 -0
- data/data/solutions/github/gchan/2016/16_1.yml +41 -0
- data/data/solutions/github/gchan/2016/16_2.yml +41 -0
- data/data/solutions/github/gchan/2016/17_1.yml +50 -0
- data/data/solutions/github/gchan/2016/17_2.yml +56 -0
- data/data/solutions/github/gchan/2016/18_1.yml +35 -0
- data/data/solutions/github/gchan/2016/18_2.yml +35 -0
- data/data/solutions/github/gchan/2016/19_1.yml +35 -0
- data/data/solutions/github/gchan/2016/19_2.yml +31 -0
- data/data/solutions/github/gchan/2016/20_1.yml +14 -0
- data/data/solutions/github/gchan/2016/20_2.yml +31 -0
- data/data/solutions/github/gchan/2016/21_1.yml +46 -0
- data/data/solutions/github/gchan/2016/21_2.yml +51 -0
- data/data/solutions/github/gchan/2016/22_1.yml +26 -0
- data/data/solutions/github/gchan/2016/22_2.yml +82 -0
- data/data/solutions/github/gchan/2016/23_1.yml +53 -0
- data/data/solutions/github/gchan/2016/23_2.yml +55 -0
- data/data/solutions/github/gchan/2016/24_1.yml +66 -0
- data/data/solutions/github/gchan/2016/24_2.yml +67 -0
- data/data/solutions/github/gchan/2016/25_1.yml +65 -0
- data/data/solutions/github/gchan/2017/01_1.yml +13 -0
- data/data/solutions/github/gchan/2017/01_2.yml +12 -0
- data/data/solutions/github/gchan/2017/02_1.yml +8 -0
- data/data/solutions/github/gchan/2017/02_2.yml +10 -0
- data/data/solutions/github/gchan/2017/03_1.yml +40 -0
- data/data/solutions/github/gchan/2017/03_2.yml +49 -0
- data/data/solutions/github/gchan/2017/04_1.yml +7 -0
- data/data/solutions/github/gchan/2017/04_2.yml +9 -0
- data/data/solutions/github/gchan/2017/05_1.yml +18 -0
- data/data/solutions/github/gchan/2017/05_2.yml +24 -0
- data/data/solutions/github/gchan/2017/06_1.yml +32 -0
- data/data/solutions/github/gchan/2017/06_2.yml +32 -0
- data/data/solutions/github/gchan/2017/07_1.yml +17 -0
- data/data/solutions/github/gchan/2017/07_2.yml +87 -0
- data/data/solutions/github/gchan/2017/08_1.yml +31 -0
- data/data/solutions/github/gchan/2017/08_2.yml +31 -0
- data/data/solutions/github/gchan/2017/09_1.yml +46 -0
- data/data/solutions/github/gchan/2017/09_2.yml +46 -0
- data/data/solutions/github/gchan/2017/10_1.yml +22 -0
- data/data/solutions/github/gchan/2017/10_2.yml +28 -0
- data/data/solutions/github/gchan/2017/11_1.yml +29 -0
- data/data/solutions/github/gchan/2017/11_2.yml +31 -0
- data/data/solutions/github/gchan/2017/12_1.yml +24 -0
- data/data/solutions/github/gchan/2017/12_2.yml +35 -0
- data/data/solutions/github/gchan/2017/13_1.yml +15 -0
- data/data/solutions/github/gchan/2017/13_2.yml +16 -0
- data/data/solutions/github/gchan/2017/14_1.yml +38 -0
- data/data/solutions/github/gchan/2017/14_2.yml +67 -0
- data/data/solutions/github/gchan/2017/15_1.yml +17 -0
- data/data/solutions/github/gchan/2017/15_2.yml +24 -0
- data/data/solutions/github/gchan/2017/16_1.yml +20 -0
- data/data/solutions/github/gchan/2017/16_2.yml +31 -0
- data/data/solutions/github/gchan/2017/17_1.yml +15 -0
- data/data/solutions/github/gchan/2017/17_2.yml +18 -0
- data/data/solutions/github/gchan/2017/18_1.yml +36 -0
- data/data/solutions/github/gchan/2017/18_2.yml +59 -0
- data/data/solutions/github/gchan/2017/19_1.yml +58 -0
- data/data/solutions/github/gchan/2017/19_2.yml +58 -0
- data/data/solutions/github/gchan/2017/20_1.yml +42 -0
- data/data/solutions/github/gchan/2017/20_2.yml +42 -0
- data/data/solutions/github/gchan/2017/21_1.yml +53 -0
- data/data/solutions/github/gchan/2017/21_2.yml +53 -0
- data/data/solutions/github/gchan/2017/22_1.yml +47 -0
- data/data/solutions/github/gchan/2017/22_2.yml +53 -0
- data/data/solutions/github/gchan/2017/23_1.yml +36 -0
- data/data/solutions/github/gchan/2017/23_2.yml +9 -0
- data/data/solutions/github/gchan/2017/24_1.yml +35 -0
- data/data/solutions/github/gchan/2017/24_2.yml +41 -0
- data/data/solutions/github/gchan/2017/25_1.yml +51 -0
- data/data/solutions/github/gchan/2018/01_1.yml +4 -0
- data/data/solutions/github/gchan/2018/01_2.yml +23 -0
- data/data/solutions/github/gchan/2018/02_1.yml +21 -0
- data/data/solutions/github/gchan/2018/02_2.yml +21 -0
- data/data/solutions/github/gchan/2018/03_1.yml +21 -0
- data/data/solutions/github/gchan/2018/03_2.yml +38 -0
- data/data/solutions/github/gchan/2018/04_1.yml +38 -0
- data/data/solutions/github/gchan/2018/04_2.yml +42 -0
- data/data/solutions/github/gchan/2018/05_1.yml +20 -0
- data/data/solutions/github/gchan/2018/05_2.yml +31 -0
- data/data/solutions/github/gchan/2018/06_1.yml +44 -0
- data/data/solutions/github/gchan/2018/06_2.yml +24 -0
- data/data/solutions/github/gchan/2018/07_1.yml +34 -0
- data/data/solutions/github/gchan/2018/07_2.yml +53 -0
- data/data/solutions/github/gchan/2018/08_1.yml +24 -0
- data/data/solutions/github/gchan/2018/08_2.yml +27 -0
- data/data/solutions/github/gchan/2018/09_1.yml +65 -0
- data/data/solutions/github/gchan/2018/09_2.yml +66 -0
- data/data/solutions/github/gchan/2018/10_1.yml +58 -0
- data/data/solutions/github/gchan/2018/10_2.yml +58 -0
- data/data/solutions/github/gchan/2018/11_1.yml +44 -0
- data/data/solutions/github/gchan/2018/11_2.yml +49 -0
- data/data/solutions/github/gchan/2018/12_1.yml +43 -0
- data/data/solutions/github/gchan/2018/12_2.yml +61 -0
- data/data/solutions/github/gchan/2018/13_1.yml +100 -0
- data/data/solutions/github/gchan/2018/13_2.yml +109 -0
- data/data/solutions/github/gchan/2018/14_1.yml +24 -0
- data/data/solutions/github/gchan/2018/14_2.yml +36 -0
- data/data/solutions/github/gchan/2018/15_1.yml +122 -0
- data/data/solutions/github/gchan/2018/15_2.yml +135 -0
- data/data/solutions/github/gchan/2018/16_1.yml +115 -0
- data/data/solutions/github/gchan/2018/16_2.yml +115 -0
- data/data/solutions/github/gchan/2018/17_1.yml +96 -0
- data/data/solutions/github/gchan/2018/17_2.yml +96 -0
- data/data/solutions/github/gchan/2018/18_1.yml +51 -0
- data/data/solutions/github/gchan/2018/18_2.yml +79 -0
- data/data/solutions/github/gchan/2018/19_1.yml +66 -0
- data/data/solutions/github/gchan/2018/19_2.yml +73 -0
- data/data/solutions/github/gchan/2018/20_1.yml +55 -0
- data/data/solutions/github/gchan/2018/20_2.yml +70 -0
- data/data/solutions/github/gchan/2018/21_1.yml +68 -0
- data/data/solutions/github/gchan/2018/21_2.yml +43 -0
- data/data/solutions/github/gchan/2018/22_1.yml +40 -0
- data/data/solutions/github/gchan/2018/22_2.yml +90 -0
- data/data/solutions/github/gchan/2018/23_1.yml +36 -0
- data/data/solutions/github/gchan/2018/23_2.yml +117 -0
- data/data/solutions/github/gchan/2018/24_1.yml +131 -0
- data/data/solutions/github/gchan/2018/24_2.yml +131 -0
- data/data/solutions/github/gchan/2018/25_1.yml +34 -0
- data/data/solutions/github/gchan/2019/01_1.yml +13 -0
- data/data/solutions/github/gchan/2019/01_2.yml +16 -0
- data/data/solutions/github/gchan/2019/02_1.yml +26 -0
- data/data/solutions/github/gchan/2019/02_2.yml +37 -0
- data/data/solutions/github/gchan/2019/03_1.yml +40 -0
- data/data/solutions/github/gchan/2019/03_2.yml +43 -0
- data/data/solutions/github/gchan/2019/04_1.yml +23 -0
- data/data/solutions/github/gchan/2019/04_2.yml +23 -0
- data/data/solutions/github/gchan/2019/05_1.yml +46 -0
- data/data/solutions/github/gchan/2019/05_2.yml +70 -0
- data/data/solutions/github/gchan/2019/06_1.yml +22 -0
- data/data/solutions/github/gchan/2019/06_2.yml +31 -0
- data/data/solutions/github/gchan/2019/07_1.yml +87 -0
- data/data/solutions/github/gchan/2019/07_2.yml +111 -0
- data/data/solutions/github/gchan/2019/08_1.yml +17 -0
- data/data/solutions/github/gchan/2019/08_2.yml +20 -0
- data/data/solutions/github/gchan/2019/09_1.yml +80 -0
- data/data/solutions/github/gchan/2019/09_2.yml +80 -0
- data/data/solutions/github/gchan/2019/10_1.yml +65 -0
- data/data/solutions/github/gchan/2019/10_2.yml +63 -0
- data/data/solutions/github/gchan/2019/11_1.yml +118 -0
- data/data/solutions/github/gchan/2019/11_2.yml +129 -0
- data/data/solutions/github/gchan/2019/12_1.yml +59 -0
- data/data/solutions/github/gchan/2019/12_2.yml +76 -0
- data/data/solutions/github/gchan/2019/13_1.yml +117 -0
- data/data/solutions/github/gchan/2019/13_2.yml +147 -0
- data/data/solutions/github/gchan/2019/14_1.yml +48 -0
- data/data/solutions/github/gchan/2019/14_2.yml +65 -0
- data/data/solutions/github/gchan/2019/15_1.yml +198 -0
- data/data/solutions/github/gchan/2019/15_2.yml +216 -0
- data/data/solutions/github/gchan/2019/16_1.yml +49 -0
- data/data/solutions/github/gchan/2019/16_2.yml +27 -0
- data/data/solutions/github/gchan/2019/17_1.yml +109 -0
- data/data/solutions/github/gchan/2019/17_2.yml +172 -0
- data/data/solutions/github/gchan/2019/18_1.yml +1 -0
- data/data/solutions/github/gchan/2019/18_2.yml +1 -0
- data/data/solutions/github/gchan/2019/19_1.yml +1 -0
- data/data/solutions/github/gchan/2019/19_2.yml +1 -0
- data/data/solutions/github/gchan/2019/20_1.yml +1 -0
- data/data/solutions/github/gchan/2019/20_2.yml +1 -0
- data/data/solutions/github/gchan/2019/21_1.yml +91 -0
- data/data/solutions/github/gchan/2019/21_2.yml +97 -0
- data/data/solutions/github/gchan/2019/22_1.yml +28 -0
- data/data/solutions/github/gchan/2019/22_2.yml +1 -0
- data/data/solutions/github/gchan/2019/23_1.yml +1 -0
- data/data/solutions/github/gchan/2019/23_2.yml +1 -0
- data/data/solutions/github/gchan/2019/24_1.yml +1 -0
- data/data/solutions/github/gchan/2019/24_2.yml +1 -0
- data/data/solutions/github/gchan/2019/25_1.yml +1 -0
- data/data/solutions/github/gchan/2020/01_1.yml +16 -0
- data/data/solutions/github/gchan/2020/01_2.yml +16 -0
- data/data/solutions/github/gchan/2020/02_1.yml +14 -0
- data/data/solutions/github/gchan/2020/02_2.yml +12 -0
- data/data/solutions/github/gchan/2020/03_1.yml +19 -0
- data/data/solutions/github/gchan/2020/03_2.yml +23 -0
- data/data/solutions/github/gchan/2020/04_1.yml +11 -0
- data/data/solutions/github/gchan/2020/04_2.yml +33 -0
- data/data/solutions/github/gchan/2020/05_1.yml +30 -0
- data/data/solutions/github/gchan/2020/05_2.yml +36 -0
- data/data/solutions/github/gchan/2020/06_1.yml +9 -0
- data/data/solutions/github/gchan/2020/06_2.yml +13 -0
- data/data/solutions/github/gchan/2020/07_1.yml +33 -0
- data/data/solutions/github/gchan/2020/07_2.yml +34 -0
- data/data/solutions/github/gchan/2020/08_1.yml +32 -0
- data/data/solutions/github/gchan/2020/08_2.yml +53 -0
- data/data/solutions/github/gchan/2020/09_1.yml +35 -0
- data/data/solutions/github/gchan/2020/09_2.yml +35 -0
- data/data/solutions/github/gchan/2020/10_1.yml +31 -0
- data/data/solutions/github/gchan/2020/10_2.yml +31 -0
- data/data/solutions/github/gchan/2020/11_1.yml +43 -0
- data/data/solutions/github/gchan/2020/11_2.yml +54 -0
- data/data/solutions/github/gchan/2020/12_1.yml +41 -0
- data/data/solutions/github/gchan/2020/12_2.yml +40 -0
- data/data/solutions/github/gchan/2020/13_1.yml +17 -0
- data/data/solutions/github/gchan/2020/13_2.yml +58 -0
- data/data/solutions/github/gchan/2020/14_1.yml +31 -0
- data/data/solutions/github/gchan/2020/14_2.yml +44 -0
- data/data/solutions/github/gchan/2020/15_1.yml +32 -0
- data/data/solutions/github/gchan/2020/15_2.yml +32 -0
- data/data/solutions/github/gchan/2020/16_1.yml +74 -0
- data/data/solutions/github/gchan/2020/16_2.yml +74 -0
- data/data/solutions/github/gchan/2020/17_1.yml +75 -0
- data/data/solutions/github/gchan/2020/17_2.yml +91 -0
- data/data/solutions/github/gchan/2020/18_1.yml +44 -0
- data/data/solutions/github/gchan/2020/18_2.yml +44 -0
- data/data/solutions/github/gchan/2020/19_1.yml +28 -0
- data/data/solutions/github/gchan/2020/19_2.yml +32 -0
- data/data/solutions/github/gchan/2020/20_1.yml +186 -0
- data/data/solutions/github/gchan/2020/20_2.yml +186 -0
- data/data/solutions/github/gchan/2020/21_1.yml +49 -0
- data/data/solutions/github/gchan/2020/21_2.yml +49 -0
- data/data/solutions/github/gchan/2020/22_1.yml +23 -0
- data/data/solutions/github/gchan/2020/22_2.yml +41 -0
- data/data/solutions/github/gchan/2020/23_1.yml +33 -0
- data/data/solutions/github/gchan/2020/23_2.yml +66 -0
- data/data/solutions/github/gchan/2020/24_1.yml +84 -0
- data/data/solutions/github/gchan/2020/24_2.yml +84 -0
- data/data/solutions/github/gchan/2020/25_1.yml +30 -0
- data/data/solutions/github/gchan/2021/01_1.yml +7 -0
- data/data/solutions/github/gchan/2021/01_2.yml +9 -0
- data/data/solutions/github/gchan/2021/02_1.yml +25 -0
- data/data/solutions/github/gchan/2021/02_2.yml +27 -0
- data/data/solutions/github/gchan/2021/03_1.yml +20 -0
- data/data/solutions/github/gchan/2021/03_2.yml +44 -0
- data/data/solutions/github/gchan/2021/04_1.yml +43 -0
- data/data/solutions/github/gchan/2021/04_2.yml +50 -0
- data/data/solutions/github/gchan/2021/05_1.yml +30 -0
- data/data/solutions/github/gchan/2021/05_2.yml +32 -0
- data/data/solutions/github/gchan/2021/06_1.yml +18 -0
- data/data/solutions/github/gchan/2021/06_2.yml +18 -0
- data/data/solutions/github/gchan/2021/07_1.yml +17 -0
- data/data/solutions/github/gchan/2021/07_2.yml +27 -0
- data/data/solutions/github/gchan/2021/08_1.yml +8 -0
- data/data/solutions/github/gchan/2021/08_2.yml +83 -0
- data/data/solutions/github/gchan/2021/09_1.yml +32 -0
- data/data/solutions/github/gchan/2021/09_2.yml +65 -0
- data/data/solutions/github/gchan/2021/10_1.yml +36 -0
- data/data/solutions/github/gchan/2021/10_2.yml +47 -0
- data/data/solutions/github/gchan/2021/11_1.yml +63 -0
- data/data/solutions/github/gchan/2021/11_2.yml +66 -0
- data/data/solutions/github/gchan/2021/12_1.yml +34 -0
- data/data/solutions/github/gchan/2021/12_2.yml +38 -0
- data/data/solutions/github/gchan/2021/13_1.yml +57 -0
- data/data/solutions/github/gchan/2021/13_2.yml +57 -0
- data/data/solutions/github/gchan/2021/14_1.yml +31 -0
- data/data/solutions/github/gchan/2021/14_2.yml +42 -0
- data/data/solutions/github/gchan/2021/15_1.yml +58 -0
- data/data/solutions/github/gchan/2021/15_2.yml +72 -0
- data/data/solutions/github/gchan/2021/16_1.yml +40 -0
- data/data/solutions/github/gchan/2021/16_2.yml +62 -0
- data/data/solutions/github/gchan/2021/17_1.yml +38 -0
- data/data/solutions/github/gchan/2021/17_2.yml +89 -0
- data/data/solutions/github/gchan/2021/18_1.yml +153 -0
- data/data/solutions/github/gchan/2021/18_2.yml +158 -0
- data/data/solutions/github/gchan/2021/19_1.yml +1 -0
- data/data/solutions/github/gchan/2021/19_2.yml +1 -0
- data/data/solutions/github/gchan/2021/20_1.yml +1 -0
- data/data/solutions/github/gchan/2021/20_2.yml +1 -0
- data/data/solutions/github/gchan/2021/21_1.yml +1 -0
- data/data/solutions/github/gchan/2021/21_2.yml +1 -0
- data/data/solutions/github/gchan/2021/22_1.yml +1 -0
- data/data/solutions/github/gchan/2021/22_2.yml +1 -0
- data/data/solutions/github/gchan/2021/23_1.yml +1 -0
- data/data/solutions/github/gchan/2021/23_2.yml +1 -0
- data/data/solutions/github/gchan/2021/24_1.yml +1 -0
- data/data/solutions/github/gchan/2021/24_2.yml +1 -0
- data/data/solutions/github/gchan/2021/25_1.yml +1 -0
- data/data/solutions/github/gchan/2022/01_1.yml +7 -0
- data/data/solutions/github/gchan/2022/01_2.yml +9 -0
- data/data/solutions/github/gchan/2022/02_1.yml +21 -0
- data/data/solutions/github/gchan/2022/02_2.yml +20 -0
- data/data/solutions/github/gchan/2022/03_1.yml +13 -0
- data/data/solutions/github/gchan/2022/03_2.yml +12 -0
- data/data/solutions/github/gchan/2022/04_1.yml +11 -0
- data/data/solutions/github/gchan/2022/04_2.yml +12 -0
- data/data/solutions/github/gchan/2022/05_1.yml +28 -0
- data/data/solutions/github/gchan/2022/05_2.yml +28 -0
- data/data/solutions/github/gchan/2022/06_1.yml +9 -0
- data/data/solutions/github/gchan/2022/06_2.yml +9 -0
- data/data/solutions/github/gchan/2022/07_1.yml +26 -0
- data/data/solutions/github/gchan/2022/07_2.yml +31 -0
- data/data/solutions/github/gchan/2022/08_1.yml +42 -0
- data/data/solutions/github/gchan/2022/08_2.yml +59 -0
- data/data/solutions/github/gchan/2022/09_1.yml +43 -0
- data/data/solutions/github/gchan/2022/09_2.yml +46 -0
- data/data/solutions/github/gchan/2022/10_1.yml +40 -0
- data/data/solutions/github/gchan/2022/10_2.yml +49 -0
- data/data/solutions/github/gchan/2022/11_1.yml +53 -0
- data/data/solutions/github/gchan/2022/11_2.yml +58 -0
- data/data/solutions/github/gchan/2022/12_1.yml +42 -0
- data/data/solutions/github/gchan/2022/12_2.yml +42 -0
- data/data/solutions/github/gchan/2022/13_1.yml +42 -0
- data/data/solutions/github/gchan/2022/13_2.yml +41 -0
- data/data/solutions/github/gchan/2022/14_1.yml +57 -0
- data/data/solutions/github/gchan/2022/14_2.yml +69 -0
- data/data/solutions/github/gchan/2022/15_1.yml +47 -0
- data/data/solutions/github/gchan/2022/15_2.yml +65 -0
- data/data/solutions/github/gchan/2022/16_1.yml +92 -0
- data/data/solutions/github/gchan/2022/16_2.yml +119 -0
- data/data/solutions/github/gchan/2022/17_1.yml +105 -0
- data/data/solutions/github/gchan/2022/17_2.yml +136 -0
- data/data/solutions/github/gchan/2022/18_1.yml +24 -0
- data/data/solutions/github/gchan/2022/18_2.yml +44 -0
- data/data/solutions/github/gchan/2022/19_1.yml +1 -0
- data/data/solutions/github/gchan/2022/19_2.yml +1 -0
- data/data/solutions/github/gchan/2022/20_1.yml +20 -0
- data/data/solutions/github/gchan/2022/20_2.yml +23 -0
- data/data/solutions/github/gchan/2022/21_1.yml +26 -0
- data/data/solutions/github/gchan/2022/21_2.yml +92 -0
- data/data/solutions/github/gchan/2022/22_1.yml +50 -0
- data/data/solutions/github/gchan/2022/22_2.yml +260 -0
- data/data/solutions/github/gchan/2022/23_1.yml +1 -0
- data/data/solutions/github/gchan/2022/23_2.yml +1 -0
- data/data/solutions/github/gchan/2022/24_1.yml +1 -0
- data/data/solutions/github/gchan/2022/24_2.yml +1 -0
- data/data/solutions/github/gchan/2022/25_1.yml +1 -0
- data/data/solutions/github/gchan/2023/01_1.yml +8 -0
- data/data/solutions/github/gchan/2023/01_2.yml +24 -0
- data/data/solutions/github/gchan/2023/02_1.yml +22 -0
- data/data/solutions/github/gchan/2023/02_2.yml +14 -0
- data/data/solutions/github/gchan/2023/03_1.yml +28 -0
- data/data/solutions/github/gchan/2023/03_2.yml +34 -0
- data/data/solutions/github/gchan/2023/04_1.yml +19 -0
- data/data/solutions/github/gchan/2023/04_2.yml +25 -0
- data/data/solutions/github/gchan/2023/05_1.yml +36 -0
- data/data/solutions/github/gchan/2023/05_2.yml +70 -0
- data/data/solutions/github/gchan/2023/06_1.yml +15 -0
- data/data/solutions/github/gchan/2023/06_2.yml +12 -0
- data/data/solutions/github/gchan/2023/07_1.yml +58 -0
- data/data/solutions/github/gchan/2023/07_2.yml +65 -0
- data/data/solutions/github/gchan/2023/08_1.yml +28 -0
- data/data/solutions/github/gchan/2023/08_2.yml +34 -0
- data/data/solutions/github/gchan/2023/09_1.yml +25 -0
- data/data/solutions/github/gchan/2023/09_2.yml +25 -0
- data/data/solutions/github/gchan/2023/10_1.yml +61 -0
- data/data/solutions/github/gchan/2023/10_2.yml +167 -0
- data/data/solutions/github/gchan/2023/11_1.yml +40 -0
- data/data/solutions/github/gchan/2023/11_2.yml +33 -0
- data/data/solutions/github/gchan/2023/12_1.yml +50 -0
- data/data/solutions/github/gchan/2023/12_2.yml +50 -0
- data/data/solutions/github/gchan/2023/13_1.yml +26 -0
- data/data/solutions/github/gchan/2023/13_2.yml +30 -0
- data/data/solutions/github/gchan/2023/14_1.yml +29 -0
- data/data/solutions/github/gchan/2023/14_2.yml +56 -0
- data/data/solutions/github/gchan/2023/15_1.yml +15 -0
- data/data/solutions/github/gchan/2023/15_2.yml +41 -0
- data/data/solutions/github/gchan/2023/16_1.yml +78 -0
- data/data/solutions/github/gchan/2023/16_2.yml +94 -0
- data/data/solutions/github/gchan/2023/17_1.yml +1 -0
- data/data/solutions/github/gchan/2023/17_2.yml +151 -0
- data/data/solutions/github/gchan/2023/18_1.yml +88 -0
- data/data/solutions/github/gchan/2023/18_2.yml +49 -0
- data/data/solutions/github/gchan/2023/19_1.yml +39 -0
- data/data/solutions/github/gchan/2023/19_2.yml +121 -0
- data/data/solutions/github/gchan/2023/20_1.yml +82 -0
- data/data/solutions/github/gchan/2023/20_2.yml +86 -0
- data/data/solutions/github/gchan/2023/21_1.yml +40 -0
- data/data/solutions/github/gchan/2023/21_2.yml +115 -0
- data/data/solutions/github/gchan/2023/22_1.yml +1 -0
- data/data/solutions/github/gchan/2023/22_2.yml +123 -0
- data/data/solutions/github/gchan/2023/23_1.yml +54 -0
- data/data/solutions/github/gchan/2023/23_2.yml +84 -0
- data/data/solutions/github/gchan/2023/24_1.yml +36 -0
- data/data/solutions/github/gchan/2023/24_2.yml +110 -0
- data/data/solutions/github/gchan/2023/25_1.yml +83 -0
- data/data/solutions/github/gchan/2024/01_1.yml +14 -0
- data/data/solutions/github/gchan/2024/01_2.yml +17 -0
- data/data/solutions/github/gchan/2024/02_1.yml +15 -0
- data/data/solutions/github/gchan/2024/02_2.yml +25 -0
- data/data/solutions/github/gchan/2024/03_1.yml +17 -0
- data/data/solutions/github/gchan/2024/03_2.yml +29 -0
- data/data/solutions/github/gchan/2024/04_1.yml +38 -0
- data/data/solutions/github/gchan/2024/04_2.yml +24 -0
- data/data/solutions/github/gchan/2024/05_1.yml +26 -0
- data/data/solutions/github/gchan/2024/05_2.yml +47 -0
- data/data/solutions/github/gchan/2024/06_1.yml +36 -0
- data/data/solutions/github/gchan/2024/06_2.yml +64 -0
- data/data/solutions/github/gchan/2024/07_1.yml +25 -0
- data/data/solutions/github/gchan/2024/07_2.yml +32 -0
- data/data/solutions/github/gchan/2024/08_1.yml +34 -0
- data/data/solutions/github/gchan/2024/08_2.yml +41 -0
- data/data/solutions/github/gchan/2024/09_1.yml +59 -0
- data/data/solutions/github/gchan/2024/09_2.yml +73 -0
- data/data/solutions/github/gchan/2024/10_1.yml +38 -0
- data/data/solutions/github/gchan/2024/10_2.yml +35 -0
- data/data/solutions/github/gchan/2024/11_1.yml +26 -0
- data/data/solutions/github/gchan/2024/11_2.yml +33 -0
- data/data/solutions/github/gchan/2024/12_1.yml +63 -0
- data/data/solutions/github/gchan/2024/12_2.yml +84 -0
- data/data/solutions/github/gchan/2024/13_1.yml +38 -0
- data/data/solutions/github/gchan/2024/13_2.yml +44 -0
- data/data/solutions/github/gchan/2024/14_1.yml +39 -0
- data/data/solutions/github/gchan/2024/14_2.yml +41 -0
- data/data/solutions/github/gchan/2024/15_1.yml +81 -0
- data/data/solutions/github/gchan/2024/15_2.yml +153 -0
- data/data/solutions/github/gchan/2024/16_1.yml +50 -0
- data/data/solutions/github/gchan/2024/16_2.yml +99 -0
- data/data/solutions/github/gchan/2024/17_1.yml +49 -0
- data/data/solutions/github/gchan/2024/17_2.yml +89 -0
- data/data/solutions/github/gchan/2024/18_1.yml +39 -0
- data/data/solutions/github/gchan/2024/18_2.yml +92 -0
- data/data/solutions/github/gchan/2024/19_1.yml +34 -0
- data/data/solutions/github/gchan/2024/19_2.yml +45 -0
- data/data/solutions/github/gchan/2024/20_1.yml +58 -0
- data/data/solutions/github/gchan/2024/20_2.yml +65 -0
- data/data/solutions/github/gchan/2024/21_1.yml +126 -0
- data/data/solutions/github/gchan/2024/21_2.yml +126 -0
- data/data/solutions/github/gchan/2024/22_1.yml +17 -0
- data/data/solutions/github/gchan/2024/22_2.yml +37 -0
- data/data/solutions/github/gchan/2024/23_1.yml +26 -0
- data/data/solutions/github/gchan/2024/23_2.yml +38 -0
- data/data/solutions/github/gchan/2024/24_1.yml +61 -0
- data/data/solutions/github/gchan/2024/24_2.yml +264 -0
- data/data/solutions/github/gchan/2024/25_1.yml +21 -0
- data/data/solutions/reddit/ruby/2015/01.yml +1 -0
- data/data/solutions/reddit/ruby/2015/02.yml +123 -0
- data/data/solutions/reddit/ruby/2015/03.yml +220 -0
- data/data/solutions/reddit/ruby/2015/04.yml +72 -0
- data/data/solutions/reddit/ruby/2015/05.yml +247 -0
- data/data/solutions/reddit/ruby/2015/06.yml +693 -0
- data/data/solutions/reddit/ruby/2015/07.yml +333 -0
- data/data/solutions/reddit/ruby/2015/08.yml +104 -0
- data/data/solutions/reddit/ruby/2015/09.yml +323 -0
- data/data/solutions/reddit/ruby/2015/10.yml +359 -0
- data/data/solutions/reddit/ruby/2015/11.yml +199 -0
- data/data/solutions/reddit/ruby/2015/12.yml +313 -0
- data/data/solutions/reddit/ruby/2015/13.yml +277 -0
- data/data/solutions/reddit/ruby/2015/14.yml +549 -0
- data/data/solutions/reddit/ruby/2015/15.yml +439 -0
- data/data/solutions/reddit/ruby/2015/16.yml +364 -0
- data/data/solutions/reddit/ruby/2015/17.yml +210 -0
- data/data/solutions/reddit/ruby/2015/18.yml +349 -0
- data/data/solutions/reddit/ruby/2015/19.yml +60 -0
- data/data/solutions/reddit/ruby/2015/20.yml +77 -0
- data/data/solutions/reddit/ruby/2015/21.yml +502 -0
- data/data/solutions/reddit/ruby/2015/22.yml +237 -0
- data/data/solutions/reddit/ruby/2015/23.yml +160 -0
- data/data/solutions/reddit/ruby/2015/24.yml +352 -0
- data/data/solutions/reddit/ruby/2015/25.yml +91 -0
- data/data/solutions/reddit/ruby/2016/01.yml +166 -0
- data/data/solutions/reddit/ruby/2016/02.yml +26 -0
- data/data/solutions/reddit/ruby/2016/03.yml +23 -0
- data/data/solutions/reddit/ruby/2016/04.yml +72 -0
- data/data/solutions/reddit/ruby/2016/05.yml +67 -0
- data/data/solutions/reddit/ruby/2016/06.yml +89 -0
- data/data/solutions/reddit/ruby/2016/07.yml +121 -0
- data/data/solutions/reddit/ruby/2016/08.yml +250 -0
- data/data/solutions/reddit/ruby/2016/09.yml +5 -0
- data/data/solutions/reddit/ruby/2016/10.yml +230 -0
- data/data/solutions/reddit/ruby/2016/11.yml +5 -0
- data/data/solutions/reddit/ruby/2016/12.yml +115 -0
- data/data/solutions/reddit/ruby/2016/13.yml +1 -0
- data/data/solutions/reddit/ruby/2016/14.yml +102 -0
- data/data/solutions/reddit/ruby/2016/15.yml +146 -0
- data/data/solutions/reddit/ruby/2016/16.yml +27 -0
- data/data/solutions/reddit/ruby/2016/17.yml +114 -0
- data/data/solutions/reddit/ruby/2016/18.yml +129 -0
- data/data/solutions/reddit/ruby/2016/19.yml +1 -0
- data/data/solutions/reddit/ruby/2016/20.yml +82 -0
- data/data/solutions/reddit/ruby/2016/21.yml +121 -0
- data/data/solutions/reddit/ruby/2016/22.yml +190 -0
- data/data/solutions/reddit/ruby/2016/23.yml +1 -0
- data/data/solutions/reddit/ruby/2016/24.yml +1 -0
- data/data/solutions/reddit/ruby/2016/25.yml +1 -0
- data/data/solutions/reddit/ruby/2017/01.yml +104 -0
- data/data/solutions/reddit/ruby/2017/02.yml +186 -0
- data/data/solutions/reddit/ruby/2017/03.yml +420 -0
- data/data/solutions/reddit/ruby/2017/04.yml +51 -0
- data/data/solutions/reddit/ruby/2017/05.yml +185 -0
- data/data/solutions/reddit/ruby/2017/06.yml +222 -0
- data/data/solutions/reddit/ruby/2017/07.yml +173 -0
- data/data/solutions/reddit/ruby/2017/08.yml +375 -0
- data/data/solutions/reddit/ruby/2017/09.yml +186 -0
- data/data/solutions/reddit/ruby/2017/10.yml +204 -0
- data/data/solutions/reddit/ruby/2017/11.yml +18 -0
- data/data/solutions/reddit/ruby/2017/12.yml +110 -0
- data/data/solutions/reddit/ruby/2017/13.yml +126 -0
- data/data/solutions/reddit/ruby/2017/14.yml +86 -0
- data/data/solutions/reddit/ruby/2017/15.yml +75 -0
- data/data/solutions/reddit/ruby/2017/16.yml +238 -0
- data/data/solutions/reddit/ruby/2017/17.yml +143 -0
- data/data/solutions/reddit/ruby/2017/18.yml +390 -0
- data/data/solutions/reddit/ruby/2017/19.yml +87 -0
- data/data/solutions/reddit/ruby/2017/20.yml +76 -0
- data/data/solutions/reddit/ruby/2017/21.yml +189 -0
- data/data/solutions/reddit/ruby/2017/22.yml +60 -0
- data/data/solutions/reddit/ruby/2017/23.yml +29 -0
- data/data/solutions/reddit/ruby/2017/24.yml +1 -0
- data/data/solutions/reddit/ruby/2017/25.yml +101 -0
- data/data/solutions/reddit/ruby/2018/01.yml +583 -0
- data/data/solutions/reddit/ruby/2018/02.yml +299 -0
- data/data/solutions/reddit/ruby/2018/03.yml +391 -0
- data/data/solutions/reddit/ruby/2018/04.yml +235 -0
- data/data/solutions/reddit/ruby/2018/05.yml +329 -0
- data/data/solutions/reddit/ruby/2018/06.yml +220 -0
- data/data/solutions/reddit/ruby/2018/07.yml +380 -0
- data/data/solutions/reddit/ruby/2018/08.yml +209 -0
- data/data/solutions/reddit/ruby/2018/09.yml +386 -0
- data/data/solutions/reddit/ruby/2018/10.yml +317 -0
- data/data/solutions/reddit/ruby/2018/11.yml +283 -0
- data/data/solutions/reddit/ruby/2018/12.yml +123 -0
- data/data/solutions/reddit/ruby/2018/13.yml +225 -0
- data/data/solutions/reddit/ruby/2018/14.yml +217 -0
- data/data/solutions/reddit/ruby/2018/15.yml +17 -0
- data/data/solutions/reddit/ruby/2018/16.yml +313 -0
- data/data/solutions/reddit/ruby/2018/17.yml +191 -0
- data/data/solutions/reddit/ruby/2018/18.yml +279 -0
- data/data/solutions/reddit/ruby/2018/19.yml +122 -0
- data/data/solutions/reddit/ruby/2018/20.yml +138 -0
- data/data/solutions/reddit/ruby/2018/21.yml +84 -0
- data/data/solutions/reddit/ruby/2018/22.yml +28 -0
- data/data/solutions/reddit/ruby/2018/23.yml +436 -0
- data/data/solutions/reddit/ruby/2018/24.yml +233 -0
- data/data/solutions/reddit/ruby/2018/25.yml +185 -0
- data/data/solutions/reddit/ruby/2019/01.yml +185 -0
- data/data/solutions/reddit/ruby/2019/02.yml +285 -0
- data/data/solutions/reddit/ruby/2019/03.yml +163 -0
- data/data/solutions/reddit/ruby/2019/04.yml +124 -0
- data/data/solutions/reddit/ruby/2019/05.yml +91 -0
- data/data/solutions/reddit/ruby/2019/06.yml +83 -0
- data/data/solutions/reddit/ruby/2019/07.yml +123 -0
- data/data/solutions/reddit/ruby/2019/08.yml +103 -0
- data/data/solutions/reddit/ruby/2019/09.yml +50 -0
- data/data/solutions/reddit/ruby/2019/10.yml +93 -0
- data/data/solutions/reddit/ruby/2019/11.yml +123 -0
- data/data/solutions/reddit/ruby/2019/12.yml +157 -0
- data/data/solutions/reddit/ruby/2019/13.yml +68 -0
- data/data/solutions/reddit/ruby/2019/14.yml +17 -0
- data/data/solutions/reddit/ruby/2019/15.yml +26 -0
- data/data/solutions/reddit/ruby/2019/16.yml +59 -0
- data/data/solutions/reddit/ruby/2019/17.yml +48 -0
- data/data/solutions/reddit/ruby/2019/18.yml +25 -0
- data/data/solutions/reddit/ruby/2019/19.yml +1 -0
- data/data/solutions/reddit/ruby/2019/20.yml +118 -0
- data/data/solutions/reddit/ruby/2019/21.yml +89 -0
- data/data/solutions/reddit/ruby/2019/22.yml +90 -0
- data/data/solutions/reddit/ruby/2019/23.yml +10 -0
- data/data/solutions/reddit/ruby/2019/24.yml +1 -0
- data/data/solutions/reddit/ruby/2019/25.yml +40 -0
- data/data/solutions/reddit/ruby/2020/01.yml +463 -0
- data/data/solutions/reddit/ruby/2020/02.yml +689 -0
- data/data/solutions/reddit/ruby/2020/03.yml +480 -0
- data/data/solutions/reddit/ruby/2020/04.yml +738 -0
- data/data/solutions/reddit/ruby/2020/05.yml +580 -0
- data/data/solutions/reddit/ruby/2020/06.yml +572 -0
- data/data/solutions/reddit/ruby/2020/07.yml +595 -0
- data/data/solutions/reddit/ruby/2020/08.yml +451 -0
- data/data/solutions/reddit/ruby/2020/09.yml +220 -0
- data/data/solutions/reddit/ruby/2020/10.yml +482 -0
- data/data/solutions/reddit/ruby/2020/11.yml +64 -0
- data/data/solutions/reddit/ruby/2020/12.yml +249 -0
- data/data/solutions/reddit/ruby/2020/13.yml +184 -0
- data/data/solutions/reddit/ruby/2020/14.yml +113 -0
- data/data/solutions/reddit/ruby/2020/15.yml +91 -0
- data/data/solutions/reddit/ruby/2020/16.yml +110 -0
- data/data/solutions/reddit/ruby/2020/17.yml +77 -0
- data/data/solutions/reddit/ruby/2020/18.yml +267 -0
- data/data/solutions/reddit/ruby/2020/19.yml +302 -0
- data/data/solutions/reddit/ruby/2020/20.yml +55 -0
- data/data/solutions/reddit/ruby/2020/21.yml +72 -0
- data/data/solutions/reddit/ruby/2020/22.yml +49 -0
- data/data/solutions/reddit/ruby/2020/23.yml +47 -0
- data/data/solutions/reddit/ruby/2020/24.yml +57 -0
- data/data/solutions/reddit/ruby/2020/25.yml +83 -0
- data/data/solutions/reddit/ruby/2021/01.yml +683 -0
- data/data/solutions/reddit/ruby/2021/02.yml +502 -0
- data/data/solutions/reddit/ruby/2021/03.yml +598 -0
- data/data/solutions/reddit/ruby/2021/04.yml +541 -0
- data/data/solutions/reddit/ruby/2021/05.yml +289 -0
- data/data/solutions/reddit/ruby/2021/06.yml +542 -0
- data/data/solutions/reddit/ruby/2021/07.yml +462 -0
- data/data/solutions/reddit/ruby/2021/08.yml +435 -0
- data/data/solutions/reddit/ruby/2021/09.yml +315 -0
- data/data/solutions/reddit/ruby/2021/10.yml +154 -0
- data/data/solutions/reddit/ruby/2021/11.yml +150 -0
- data/data/solutions/reddit/ruby/2021/12.yml +77 -0
- data/data/solutions/reddit/ruby/2021/13.yml +260 -0
- data/data/solutions/reddit/ruby/2021/14.yml +199 -0
- data/data/solutions/reddit/ruby/2021/15.yml +136 -0
- data/data/solutions/reddit/ruby/2021/16.yml +274 -0
- data/data/solutions/reddit/ruby/2021/17.yml +139 -0
- data/data/solutions/reddit/ruby/2021/18.yml +105 -0
- data/data/solutions/reddit/ruby/2021/19.yml +33 -0
- data/data/solutions/reddit/ruby/2021/20.yml +82 -0
- data/data/solutions/reddit/ruby/2021/21.yml +37 -0
- data/data/solutions/reddit/ruby/2021/22.yml +25 -0
- data/data/solutions/reddit/ruby/2021/23.yml +39 -0
- data/data/solutions/reddit/ruby/2021/24.yml +87 -0
- data/data/solutions/reddit/ruby/2021/25.yml +44 -0
- data/data/solutions/reddit/ruby/2022/01.yml +451 -0
- data/data/solutions/reddit/ruby/2022/02.yml +440 -0
- data/data/solutions/reddit/ruby/2022/03.yml +728 -0
- data/data/solutions/reddit/ruby/2022/04.yml +631 -0
- data/data/solutions/reddit/ruby/2022/05.yml +519 -0
- data/data/solutions/reddit/ruby/2022/06.yml +443 -0
- data/data/solutions/reddit/ruby/2022/07.yml +493 -0
- data/data/solutions/reddit/ruby/2022/08.yml +179 -0
- data/data/solutions/reddit/ruby/2022/09.yml +183 -0
- data/data/solutions/reddit/ruby/2022/10.yml +202 -0
- data/data/solutions/reddit/ruby/2022/11.yml +209 -0
- data/data/solutions/reddit/ruby/2022/12.yml +17 -0
- data/data/solutions/reddit/ruby/2022/13.yml +98 -0
- data/data/solutions/reddit/ruby/2022/14.yml +32 -0
- data/data/solutions/reddit/ruby/2022/15.yml +110 -0
- data/data/solutions/reddit/ruby/2022/16.yml +49 -0
- data/data/solutions/reddit/ruby/2022/17.yml +17 -0
- data/data/solutions/reddit/ruby/2022/18.yml +111 -0
- data/data/solutions/reddit/ruby/2022/19.yml +24 -0
- data/data/solutions/reddit/ruby/2022/20.yml +127 -0
- data/data/solutions/reddit/ruby/2022/21.yml +269 -0
- data/data/solutions/reddit/ruby/2022/22.yml +54 -0
- data/data/solutions/reddit/ruby/2022/23.yml +1 -0
- data/data/solutions/reddit/ruby/2022/24.yml +96 -0
- data/data/solutions/reddit/ruby/2022/25.yml +79 -0
- data/data/solutions/reddit/ruby/2023/01.yml +851 -0
- data/data/solutions/reddit/ruby/2023/02.yml +374 -0
- data/data/solutions/reddit/ruby/2023/03.yml +619 -0
- data/data/solutions/reddit/ruby/2023/04.yml +637 -0
- data/data/solutions/reddit/ruby/2023/05.yml +217 -0
- data/data/solutions/reddit/ruby/2023/06.yml +518 -0
- data/data/solutions/reddit/ruby/2023/07.yml +537 -0
- data/data/solutions/reddit/ruby/2023/08.yml +285 -0
- data/data/solutions/reddit/ruby/2023/09.yml +611 -0
- data/data/solutions/reddit/ruby/2023/10.yml +377 -0
- data/data/solutions/reddit/ruby/2023/11.yml +363 -0
- data/data/solutions/reddit/ruby/2023/12.yml +49 -0
- data/data/solutions/reddit/ruby/2023/13.yml +135 -0
- data/data/solutions/reddit/ruby/2023/14.yml +201 -0
- data/data/solutions/reddit/ruby/2023/15.yml +248 -0
- data/data/solutions/reddit/ruby/2023/16.yml +50 -0
- data/data/solutions/reddit/ruby/2023/17.yml +1 -0
- data/data/solutions/reddit/ruby/2023/18.yml +75 -0
- data/data/solutions/reddit/ruby/2023/19.yml +92 -0
- data/data/solutions/reddit/ruby/2023/20.yml +90 -0
- data/data/solutions/reddit/ruby/2023/21.yml +71 -0
- data/data/solutions/reddit/ruby/2023/22.yml +30 -0
- data/data/solutions/reddit/ruby/2023/23.yml +56 -0
- data/data/solutions/reddit/ruby/2023/24.yml +1 -0
- data/data/solutions/reddit/ruby/2023/25.yml +10 -0
- data/data/solutions/reddit/ruby/2024/01.yml +203 -0
- data/data/solutions/reddit/ruby/2024/02.yml +293 -0
- data/data/solutions/reddit/ruby/2024/03.yml +606 -0
- data/data/solutions/reddit/ruby/2024/04.yml +346 -0
- data/data/solutions/reddit/ruby/2024/05.yml +420 -0
- data/data/solutions/reddit/ruby/2024/06.yml +170 -0
- data/data/solutions/reddit/ruby/2024/07.yml +432 -0
- data/data/solutions/reddit/ruby/2024/08.yml +187 -0
- data/data/solutions/reddit/ruby/2024/09.yml +32 -0
- data/data/solutions/reddit/ruby/2024/10.yml +196 -0
- data/data/solutions/reddit/ruby/2024/11.yml +289 -0
- data/data/solutions/reddit/ruby/2024/12.yml +89 -0
- data/data/solutions/reddit/ruby/2024/13.yml +215 -0
- data/data/solutions/reddit/ruby/2024/14.yml +47 -0
- data/data/solutions/reddit/ruby/2024/15.yml +39 -0
- data/data/solutions/reddit/ruby/2024/16.yml +28 -0
- data/data/solutions/reddit/ruby/2024/17.yml +151 -0
- data/data/solutions/reddit/ruby/2024/18.yml +135 -0
- data/data/solutions/reddit/ruby/2024/19.yml +250 -0
- data/data/solutions/reddit/ruby/2024/20.yml +113 -0
- data/data/solutions/reddit/ruby/2024/21.yml +21 -0
- data/data/solutions/reddit/ruby/2024/22.yml +146 -0
- data/data/solutions/reddit/ruby/2024/23.yml +256 -0
- data/data/solutions/reddit/ruby/2024/24.yml +143 -0
- data/data/solutions/reddit/ruby/2024/25.yml +190 -0
- data/lib/arb/api/aoc.rb +2 -2
- data/lib/arb/api/other_solutions.rb +81 -89
- data/lib/arb/arb.rb +5 -5
- data/lib/arb/cli/bootstrap.rb +2 -2
- data/lib/arb/cli/progress.rb +8 -7
- data/lib/arb/cli/run.rb +16 -9
- data/lib/arb/cli/shared/git.rb +10 -10
- data/lib/arb/cli/shared/runner.rb +12 -9
- data/lib/arb/cli/shared/working_directory.rb +9 -9
- data/lib/arb/cli/shared/year_day_validator.rb +10 -9
- data/lib/arb/files/instructions.rb +1 -1
- data/lib/arb/files/other_solutions.rb +3 -5
- data/lib/arb/version.rb +1 -1
- data/lib/download_solutions/api/github/repos.rb +87 -0
- data/lib/download_solutions/api/github.rb +164 -0
- data/lib/download_solutions/api/reddit/add_missing_replies.rb +43 -0
- data/lib/download_solutions/api/reddit/clean_bodies.rb +64 -0
- data/lib/download_solutions/api/reddit/filter_by_language.rb +32 -0
- data/lib/download_solutions/api/reddit/get_initial_response.rb +30 -0
- data/lib/download_solutions/api/reddit/get_serial_comments.rb +145 -0
- data/lib/download_solutions/api/reddit/megathread_ids.rb +19 -0
- data/lib/download_solutions/api/reddit/params.rb +40 -0
- data/lib/download_solutions/api/reddit/reject_unwanted_replies.rb +31 -0
- data/lib/download_solutions/api/reddit/remove_ids.rb +26 -0
- data/lib/download_solutions/api/reddit/remove_language_tags.rb +29 -0
- data/lib/download_solutions/api/reddit.rb +101 -0
- data/lib/download_solutions/cli/cli/shared.rb +35 -0
- data/lib/download_solutions/cli/github.rb +107 -0
- data/lib/download_solutions/cli/reddit.rb +64 -0
- data/lib/download_solutions/download_solutions.rb +18 -0
- data/lib/download_solutions/reverse_markdown/converters/br.rb +15 -0
- data/lib/download_solutions/reverse_markdown/converters/pre.rb +46 -0
- metadata +2583 -8
@@ -0,0 +1,164 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Github
|
4
|
+
UnexpectedResponseError = Class.new(StandardError)
|
5
|
+
NotFoundResponseError = Class.new(StandardError)
|
6
|
+
|
7
|
+
private attr_reader :user_agent, :auth_token
|
8
|
+
|
9
|
+
# @param auth_token [String]
|
10
|
+
def initialize(auth_token:)
|
11
|
+
@user_agent = "AdventOfRubyScript/#{Arb::VERSION} by fpsvogel"
|
12
|
+
@auth_token = auth_token
|
13
|
+
end
|
14
|
+
|
15
|
+
# @param author [String]
|
16
|
+
# @param year [Integer]
|
17
|
+
# @param day [Integer]
|
18
|
+
# @param max_day [Integer]
|
19
|
+
# @param force [Boolean]
|
20
|
+
# @param existing_solutions [Array<Array(Integer, Integer)>]
|
21
|
+
# @return [Array<Hash>, nil] nil if the year directory doesn't exist for the author.
|
22
|
+
def get_solutions(author:, year:, input_day: nil, max_day: 25, force: false, existing_solutions: [])
|
23
|
+
solutions = {new: {}, skipped: [], not_found: []}
|
24
|
+
|
25
|
+
year_directory = (REPOS[author][:year_directory] || "%<year>d") % {year:}
|
26
|
+
year_files = get_year_files!(solutions:, year_directory:, author:, year:) || (return solutions)
|
27
|
+
|
28
|
+
(input_day || 1).upto(input_day || max_day) do |day|
|
29
|
+
if REPOS[author][:day_directory]
|
30
|
+
day_files = get_day_files!(solutions:, year_directory:, author:, year:, day:, force:, existing_solutions:) || next
|
31
|
+
end
|
32
|
+
|
33
|
+
1.upto(2) do |part|
|
34
|
+
next if day == 25 && part == 2
|
35
|
+
|
36
|
+
if !force && existing_solutions.include?([day, part])
|
37
|
+
solutions[:skipped] << [day, part]
|
38
|
+
else
|
39
|
+
solution = get_part(author:, year:, day:, part:, year_files:, day_files:)
|
40
|
+
|
41
|
+
if solution.empty?
|
42
|
+
solutions[:not_found] << [day, part]
|
43
|
+
else
|
44
|
+
solutions[:new][[day, part]] = solution
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
solutions
|
51
|
+
end
|
52
|
+
|
53
|
+
private
|
54
|
+
|
55
|
+
def get_year_files!(solutions:, year_directory:, author:, year:)
|
56
|
+
year_response = api_connection.get("/repos/#{author}/#{REPOS[author][:repo]}/contents/#{year_directory}")
|
57
|
+
|
58
|
+
if year_response.status == 404
|
59
|
+
solutions[:not_found] = (1..max_day).flat_map { |day|
|
60
|
+
[[day, 1], ([day, 2] unless day == 25)]
|
61
|
+
}.compact
|
62
|
+
|
63
|
+
return nil
|
64
|
+
end
|
65
|
+
|
66
|
+
JSON.parse(year_response.body)
|
67
|
+
end
|
68
|
+
|
69
|
+
def get_day_files!(solutions:, year_directory:, author:, year:, day:, force:, existing_solutions:)
|
70
|
+
if !force && existing_solutions.any? { |existing_day, _existing_part| existing_day == day }
|
71
|
+
solutions[:skipped] << [day, 1]
|
72
|
+
solutions[:skipped] << [day, 1] unless day == 25
|
73
|
+
return nil
|
74
|
+
end
|
75
|
+
|
76
|
+
day_directory = REPOS[author][:day_directory] % {day:}
|
77
|
+
day_response = api_connection.get("/repos/#{author}/#{REPOS[author][:repo]}/contents/#{year_directory}/#{day_directory}")
|
78
|
+
|
79
|
+
if day_response.status == 404
|
80
|
+
solutions[:not_found] << [day, 1]
|
81
|
+
solutions[:not_found] << [day, 2] unless day == 25
|
82
|
+
return nil
|
83
|
+
end
|
84
|
+
|
85
|
+
JSON.parse(day_response.body)
|
86
|
+
end
|
87
|
+
|
88
|
+
def get_part(author:, year:, day:, part:, year_files:, day_files: nil)
|
89
|
+
exact_path = (REPOS[author][:"part_#{part}"] || REPOS[author][:both_parts]).is_a?(String)
|
90
|
+
|
91
|
+
if exact_path
|
92
|
+
(day_files || year_files)
|
93
|
+
.select {
|
94
|
+
if REPOS[author][:both_parts] && it["name"] == REPOS[author][:both_parts] % {year:, day:}
|
95
|
+
next if part == 1 && day != 25 # both_parts will be saved in part 2
|
96
|
+
true
|
97
|
+
elsif REPOS[author][:"part_#{part}"]
|
98
|
+
it["name"] == REPOS[author][:"part_#{part}"] % {year:, day:}
|
99
|
+
end
|
100
|
+
}
|
101
|
+
.map { simplify_response(it, author) }
|
102
|
+
else # regex-matched paths
|
103
|
+
(day_files || year_files)
|
104
|
+
.select {
|
105
|
+
if REPOS[author][:both_parts] && it["name"].match?(REPOS[author][:both_parts].call(day:))
|
106
|
+
next if part == 1 && day != 25 # both_parts will be saved in part 2
|
107
|
+
true
|
108
|
+
elsif REPOS[author][:part_1] && REPOS[author][:part_2]
|
109
|
+
if part == 2
|
110
|
+
it["name"].match?(REPOS[author][:part_2].call(day:)) &&
|
111
|
+
!it["name"].match?(REPOS[author][:part_1].call(day:))
|
112
|
+
else
|
113
|
+
it["name"].match?(REPOS[author][:part_1].call(day:))
|
114
|
+
end
|
115
|
+
end
|
116
|
+
}
|
117
|
+
.map { simplify_response(it, author) }
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
def simplify_response(response, author)
|
122
|
+
solution = raw_connection.get(response["download_url"]).body
|
123
|
+
solution = REPOS[author][:edits].call(solution) if REPOS[author][:edits]
|
124
|
+
{
|
125
|
+
name: response["name"],
|
126
|
+
url: response["html_url"].rpartition("/").first,
|
127
|
+
solution: solution.strip
|
128
|
+
}
|
129
|
+
end
|
130
|
+
|
131
|
+
def api_connection
|
132
|
+
@api_connection ||= Faraday.new(
|
133
|
+
url: "https://api.github.com",
|
134
|
+
headers: {
|
135
|
+
"User-Agent" => user_agent,
|
136
|
+
"Accept" => "application/vnd.github+json"
|
137
|
+
}
|
138
|
+
) do |f|
|
139
|
+
f.request :authorization, "token", -> { auth_token }
|
140
|
+
f.request :retry, {
|
141
|
+
max: 5,
|
142
|
+
interval: 0.5,
|
143
|
+
interval_randomness: 0.5,
|
144
|
+
backoff_factor: 2
|
145
|
+
}
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
def raw_connection
|
150
|
+
@raw_connection ||= Faraday.new(
|
151
|
+
url: "https://raw.githubusercontent.com",
|
152
|
+
headers: {"User-Agent" => user_agent}
|
153
|
+
) do |f|
|
154
|
+
f.request :retry, {
|
155
|
+
max: 5,
|
156
|
+
interval: 0.5,
|
157
|
+
interval_randomness: 0.5,
|
158
|
+
backoff_factor: 2
|
159
|
+
}
|
160
|
+
end
|
161
|
+
end
|
162
|
+
end
|
163
|
+
end
|
164
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Reddit
|
4
|
+
class AddMissingReplies
|
5
|
+
# Fetches replies to comments that are not yet loaded, only listed in
|
6
|
+
# "more children" nodes.
|
7
|
+
#
|
8
|
+
# @param params [Reddit::Params]
|
9
|
+
# @return [void] params.comments is modified in place.
|
10
|
+
def self.call(params:)
|
11
|
+
params.comments.each do |comment|
|
12
|
+
add_missing_replies!(comment, params)
|
13
|
+
end
|
14
|
+
|
15
|
+
params.comments.reject! do |comment|
|
16
|
+
comment[:parent_id] != params.thread_id
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private_class_method def self.add_missing_replies!(comment, params)
|
21
|
+
comments_from_more_children, more_children_from_more_children =
|
22
|
+
GetSerialComments.call(
|
23
|
+
params:,
|
24
|
+
parent_id: comment[:id]
|
25
|
+
)
|
26
|
+
params.original_comments += comments_from_more_children
|
27
|
+
debugger unless more_children_from_more_children.empty?
|
28
|
+
params.original_comments += more_children_from_more_children
|
29
|
+
|
30
|
+
children = params.original_comments.filter { it[:parent_id] == comment[:id] }
|
31
|
+
|
32
|
+
comment[:replies] += children
|
33
|
+
|
34
|
+
children.each do |child|
|
35
|
+
add_missing_replies!(child, params)
|
36
|
+
end
|
37
|
+
|
38
|
+
comment[:replies].uniq!
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Reddit
|
4
|
+
class CleanBodies
|
5
|
+
MARKDOWN_PARSER = Redcarpet::Markdown.new(Redcarpet::Render::HTML, fenced_code_blocks: true)
|
6
|
+
|
7
|
+
# Clean up comment bodies by removing unwanted characters, translating
|
8
|
+
# encoded characters, and standardizing to fenced (triple backtick) code
|
9
|
+
# blocks.
|
10
|
+
#
|
11
|
+
# @param params [Reddit::Params]
|
12
|
+
# @return [void] params.comments is modified in place.
|
13
|
+
def self.call(params:)
|
14
|
+
params.comments.each do |comment|
|
15
|
+
clean_body!(comment, params.languages)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
private_class_method def self.clean_body!(comment, languages)
|
20
|
+
comment[:body] = preclean_markdown(comment[:body], languages)
|
21
|
+
.then { |body_markdown| MARKDOWN_PARSER.render(body_markdown) }
|
22
|
+
.then { |body_html| to_cleaned_markdown(body_html, languages) }
|
23
|
+
|
24
|
+
comment[:replies].each do |reply|
|
25
|
+
clean_body!(reply, languages)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
private_class_method def self.preclean_markdown(initial_body_markdown, languages)
|
30
|
+
initial_body_markdown
|
31
|
+
.tr("\u00a0", " ") # Non-breaking space
|
32
|
+
# Zero-width space (unintentional); do not remove "\u200b" (intentional, e.g. Unihedron's poems in 2019)
|
33
|
+
.gsub("#x200B;", "")
|
34
|
+
.gsub("&", "&")
|
35
|
+
# Mysterious ampersand, on Reddit an empty paragraph
|
36
|
+
.gsub("\n\n&\n\n", "\n\n")
|
37
|
+
.delete_suffix("\n\n&")
|
38
|
+
.gsub("<", "<")
|
39
|
+
.gsub(">", ">")
|
40
|
+
.gsub("'", "'")
|
41
|
+
# Convert one or two backticks on their own line, to three for a code block.
|
42
|
+
.gsub(
|
43
|
+
/\\?`(?:\\?`)?(?:#{languages.first})?\n(.+?)\n\\?`(?:\\?`)?(?=\n|\z)/m,
|
44
|
+
"\n\n```\n\\1\n```\n"
|
45
|
+
)
|
46
|
+
.gsub(/ ```.*/, "") # Superfluous backticks (already indented)
|
47
|
+
# Add an empty line above code blocks, if missing.
|
48
|
+
.gsub(/\n{0,2}```(?:#{languages.first})?/, "\n\n```")
|
49
|
+
end
|
50
|
+
|
51
|
+
private_class_method def self.to_cleaned_markdown(body_html, languages)
|
52
|
+
body_html
|
53
|
+
# https://github.com/xijo/reverse_markdown/blob/14d53d5f914fd926b49e6492fd7bd95e62ef541a/lib/reverse_markdown/converters/pre.rb#L37
|
54
|
+
.gsub("<pre>", "<pre class=\"brush:#{languages.first};\">")
|
55
|
+
.gsub(/<pre><code class=([^>]+)>/, "<pre class=\\1><code>")
|
56
|
+
.then { |cleaned_raw_body|
|
57
|
+
ReverseMarkdown.convert(cleaned_raw_body, github_flavored: true)
|
58
|
+
}
|
59
|
+
.gsub(/ +\n/, "\n") # Strip trailing spaces
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Reddit
|
4
|
+
class FilterByLanguage
|
5
|
+
# Filters comments by the desired programming language(s).
|
6
|
+
#
|
7
|
+
# @param params [Reddit::Params]
|
8
|
+
# @return [Array<Hash>]
|
9
|
+
def self.call(params:)
|
10
|
+
params.original_comments.filter { |comment|
|
11
|
+
comment_body = comment[:body]&.downcase
|
12
|
+
next unless comment_body
|
13
|
+
|
14
|
+
language_specified = comment_body.match?(/\[[[:punct:]]*language:/i)
|
15
|
+
|
16
|
+
if language_specified
|
17
|
+
params.languages.any? { |language|
|
18
|
+
comment_body.match?(/\[[[:punct:]]*language:\s*#{language}/i)
|
19
|
+
}
|
20
|
+
else
|
21
|
+
params.languages.any? { |language|
|
22
|
+
# "sh:" because of "<pre class=\"brush:ruby", see:
|
23
|
+
# https://github.com/xijo/reverse_markdown/blob/14d53d5f914fd926b49e6492fd7bd95e62ef541a/lib/reverse_markdown/converters/pre.rb#L37
|
24
|
+
comment_body.match?(/(?<!```|sh:)#{language}/i)
|
25
|
+
}
|
26
|
+
end
|
27
|
+
}
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Reddit
|
4
|
+
class GetInitialResponse
|
5
|
+
# Equivalent to the initial page load of a Reddit thread, which loads
|
6
|
+
# some comments, but (if the thread has many comments) not all of them.
|
7
|
+
#
|
8
|
+
# @param params [Reddit::Params]
|
9
|
+
# @return [Faraday::Response]
|
10
|
+
def self.call(params:)
|
11
|
+
initial_response = nil
|
12
|
+
|
13
|
+
loop do
|
14
|
+
initial_response = params.connection.get(params.megathread_path)
|
15
|
+
|
16
|
+
if initial_response.body.empty?
|
17
|
+
puts PASTEL.bright_black("Throttled by Reddit. Sleeping for 60 seconds...")
|
18
|
+
sleep 60
|
19
|
+
else
|
20
|
+
puts "Fetching comments for #{params.year}##{params.day.to_s.rjust(2, "0")}..."
|
21
|
+
break
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
initial_response
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,145 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Reddit
|
4
|
+
class GetSerialComments
|
5
|
+
MAX_SLEEP_COUNT = 10
|
6
|
+
|
7
|
+
# Equivalent to repeatedly pressing "View more comments" in a thread's top
|
8
|
+
# level (or the "+" below a comment) until reaching the end. "Serial"
|
9
|
+
# because this doesn't fetch all replies; many (not all) replies are in
|
10
|
+
# "more children" nodes and not yet fetched.
|
11
|
+
#
|
12
|
+
# @param params [Reddit::Params]
|
13
|
+
# @param parent_id [String] the ID of the parent, by default the thread.
|
14
|
+
# @return [Array(Array<Hash>, Array<Hash>)] comments and "more children" nodes.
|
15
|
+
#
|
16
|
+
# @raise [MaxSleepCountReachedError] if Reddit seemingly throttled for an
|
17
|
+
# unusually long time, "seemingly" because the only sign is an empty
|
18
|
+
# JSON response body after loading additional comments.
|
19
|
+
# @raise [MultipleMoreChildrensError] if there are multiple "more children"
|
20
|
+
# nodes for the thread or a comment; only one at a time is expected.
|
21
|
+
# If there are ever more, this algorithm will need to change from a
|
22
|
+
# serial loop to recursion.
|
23
|
+
def self.call(params:, parent_id: params.thread_id)
|
24
|
+
comments = initial_comments_or_replies(params, parent_id) || (return [[], []])
|
25
|
+
|
26
|
+
loop do
|
27
|
+
more_top_level_childrens, comments = comments.partition {
|
28
|
+
it[:children] && it[:parent_id] == parent_id
|
29
|
+
}
|
30
|
+
break unless more_top_level_childrens.any?
|
31
|
+
raise Reddit::MultipleMoreChildrensError if more_top_level_childrens.count > 1
|
32
|
+
|
33
|
+
# Loop again to fetch more if there are more top-level comments.
|
34
|
+
comments += fetch_more_children(params, more_top_level_childrens.first, parent_id)
|
35
|
+
end
|
36
|
+
|
37
|
+
more_childrens, comments = comments.partition { it[:children] }
|
38
|
+
|
39
|
+
[comments, more_childrens]
|
40
|
+
end
|
41
|
+
|
42
|
+
private_class_method def self.initial_comments_or_replies(params, parent_id)
|
43
|
+
if parent_id == params.thread_id
|
44
|
+
parse_initial_response(params)
|
45
|
+
else
|
46
|
+
more_childrens = params.more_childrens.select {
|
47
|
+
it[:parent_id] == parent_id
|
48
|
+
}
|
49
|
+
raise Reddit::MultipleMoreChildrensError if more_childrens.count > 1
|
50
|
+
|
51
|
+
if more_childrens.empty?
|
52
|
+
# signal to return empty arrays for comments and more_childrens
|
53
|
+
return nil
|
54
|
+
end
|
55
|
+
|
56
|
+
fetch_more_children(params, more_childrens.first, parent_id)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
private_class_method def self.parse_initial_response(params)
|
61
|
+
simplify_comments(
|
62
|
+
JSON.parse(params.initial_response.body).dig(-1, "data", "children")
|
63
|
+
)
|
64
|
+
end
|
65
|
+
|
66
|
+
private_class_method def self.fetch_more_children(params, more_children, parent_id)
|
67
|
+
response = nil
|
68
|
+
sleep_count = 0
|
69
|
+
loop do
|
70
|
+
# POST because a GET request would sometimes be too long.
|
71
|
+
response = params.connection.post(
|
72
|
+
"/api/morechildren.json",
|
73
|
+
"link_id=#{params.thread_id}" \
|
74
|
+
"&children=#{more_children[:children].join(",")}"
|
75
|
+
)
|
76
|
+
|
77
|
+
if response.body.empty?
|
78
|
+
if sleep_count < MAX_SLEEP_COUNT
|
79
|
+
puts PASTEL.bright_black("Throttled by Reddit. Sleeping for 60 seconds...")
|
80
|
+
sleep_count += 1
|
81
|
+
sleep 60
|
82
|
+
else
|
83
|
+
raise Reddit::MaxSleepCountReachedError
|
84
|
+
end
|
85
|
+
else
|
86
|
+
puts "Continuing to fetch comments..." if sleep_count > 1
|
87
|
+
break
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
simplify_comments(
|
92
|
+
JSON.parse(response.body).dig("jquery", 10, 3, 0)
|
93
|
+
)
|
94
|
+
end
|
95
|
+
|
96
|
+
private_class_method def self.simplify_comments(raw_comments)
|
97
|
+
raw_more_childrens, raw_comments = raw_comments.partition { it["kind"] == "more" }
|
98
|
+
|
99
|
+
comments = raw_comments.map { |raw_comment|
|
100
|
+
simplify_comment(raw_comment, raw_more_childrens)
|
101
|
+
}
|
102
|
+
|
103
|
+
more_childrens = raw_more_childrens.filter_map {
|
104
|
+
if it["data"]["children"].any?
|
105
|
+
{
|
106
|
+
children: it["data"]["children"],
|
107
|
+
parent_id: it["data"]["parent_id"]
|
108
|
+
}
|
109
|
+
end
|
110
|
+
}
|
111
|
+
|
112
|
+
comments + more_childrens
|
113
|
+
end
|
114
|
+
|
115
|
+
private_class_method def self.simplify_comment(raw_comment, raw_more_childrens)
|
116
|
+
{
|
117
|
+
author: raw_comment["data"]["author"],
|
118
|
+
url: "https://www.reddit.com#{raw_comment["data"]["permalink"]}",
|
119
|
+
body: raw_comment["data"]["body"],
|
120
|
+
id: raw_comment["data"]["name"],
|
121
|
+
parent_id: raw_comment["data"]["parent_id"],
|
122
|
+
replies: simplify_replies(raw_comment, raw_more_childrens)
|
123
|
+
}
|
124
|
+
end
|
125
|
+
|
126
|
+
private_class_method def self.simplify_replies(raw_comment, raw_more_childrens)
|
127
|
+
return [] if raw_comment["data"]["replies"].nil? || raw_comment["data"]["replies"].empty?
|
128
|
+
|
129
|
+
raw_comment.dig("data", "replies", "data", "children").filter_map { |child|
|
130
|
+
if child["kind"] == "more"
|
131
|
+
# Move "more children" nodes (listing additional replies that are
|
132
|
+
# not yet fetched) out to an array that is appended onto the
|
133
|
+
# upper-level comments (see #simplify_comments), so that they can
|
134
|
+
# all be dealt with together by #add_missing_replies!
|
135
|
+
raw_more_childrens << child
|
136
|
+
next nil
|
137
|
+
end
|
138
|
+
|
139
|
+
simplify_comment(child, raw_more_childrens)
|
140
|
+
}
|
141
|
+
end
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Reddit
|
4
|
+
# From https://www.reddit.com/r/adventofcode/wiki/archives/solution_megathreads
|
5
|
+
MEGATHREAD_IDS = {
|
6
|
+
2024 => %w[1h3vp6n 1h4ncyr 1h5frsp 1h689qf 1h71eyz 1h7tovg 1h8l3z5 1h9bdmp 1ha27bo 1hau6hl 1hbm0al 1hcdnk0 1hd4wda 1hdvhvu 1hele8m 1hfboft 1hg38ah 1hguacy 1hhlb8g 1hicdtb 1hj2odw 1hjroap 1hkgj5b 1hl698z 1hlu4ht],
|
7
|
+
2023 => %w[1883ibu 188w447 189m3qw 18actmy 18b4b0r 18bwe6t 18cnzbm 18df7px 18e5ytd 18evyu9 18fmrjk 18ge41g 18h940b 18i0xtn 18isayp 18jjpfk 18k9ne5 18l0qtr 18ltr8m 18mmfxb 18nevo3 18o7014 18oy4pc 18pnycy 18qbsxs],
|
8
|
+
2022 => %w[z9ezjb zac2v2 zb865p zc0zta zcxid5 zdw0u6 zesk40 zfpnka zgnice zhjfo4 zifqmh zjnruc zkmyh4 zli1rd zmcn64 zn6k1l znykq2 zoqhvy zpihwi zqezkn zrav4h zsct8w zt6xz5 zu28ij zur1an],
|
9
|
+
2021 => %w[r66vow r6zd93 r7r0ff r8i1lq r9824c r9z49j rar7ty rbj87a rca6vp rd0s54 rds32p rehj2r rf7onx rfzq6f rgqzt5 rhj2hm ri9kdq rizw2c rjpf7f rkf5ek rl6p8y rlxhmg rmnozs rnejv5 ro2uav],
|
10
|
+
2020 => %w[k4e4lm k52psu k5qsrk k6e8sw k71h6r k7ndux k8a31f k8xw8h k9lfwj ka8z8x kaw6oz kbj5me kc4njx kcr1ct kdf85p ke2qp6 keqsfa kfeldk kg1mro kgo01p khaiyk khyjgv kimluc kj96iw kjtg7y],
|
11
|
+
2019 => %w[e4axxe e4u0rw e5bz2w e5u5fv e6carb e6tyva e7a4nj e7pkmt e85b6d e8m1z3 e92jm2 e9j0ve e9zgse eafj32 eaurfo ebai4g ebr7dg ec8090 ecogl3 ed5ei2 edll5a ee0rqi eefva8 eewjtt efca4m],
|
12
|
+
2018 => %w[a20646 a2aimr a2lesz a2xef8 a3912m a3kr4r a3wmnl a47ubw a4i97s a4skra a53r6i a5eztl a5qd71 a61ojp a6chwa a6mf8a a6wpup a77xq6 a7j9zc a7uk3f a86jgt a8i1cy a8s17l a91ysq a9c61w],
|
13
|
+
2017 => %w[7gsrc2 7h0rnm 7h7ufl 7hf5xb 7hngbn 7hvtoq 7i44pg 7icnff 7iksqc 7irzg5 7izym2 7j89tr 7jgyrt 7jpelc 7jxkiw 7k572l 7kc0xw 7kj35s 7kr2ac 7kz6ik 7l78eb 7lf943 7lms6p 7lte5z 7lzo3l],
|
14
|
+
2016 => %w[5fur6q 5g1hfm 5g80ck 5gdvve 5gk2yv 5gr0xf 5gy1f2 5h52ro 5hbygy 5hijk5 5hoia9 5hus40 5i1q0h 5i8pzz 5ifn4v 5imh3d 5isvxv 5iyp50 5j4lp1 5jbeqo 5ji29h 5jor9q 5jvbzt 5k1he1 5k6yfu],
|
15
|
+
2015 => %w[3uyl7s 3v3w2f 3v8roh 3vdn8a 3viazx 3vmltn 3vr4m4 3vw32y 3w192e 3w6h3m 3wbzyv 3wh73d 3wm0oy 3wqtx2 3wwj84 3x1i26 3x6cyr 3xb3cj 3xflz8 3xjpp2 3xnyoi 3xspyl 3xxdxt 3y1s7f 3y5jco]
|
16
|
+
}
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Reddit
|
4
|
+
# A parameter object that is passed into each step within Reddit#get_comments.
|
5
|
+
class Params
|
6
|
+
attr_reader :year, :day, :languages, :connection, :megathread_path, :thread_id
|
7
|
+
attr_accessor :initial_response, :original_comments, :more_childrens, :comments
|
8
|
+
|
9
|
+
# @param year [Integer]
|
10
|
+
# @param day [Integer]
|
11
|
+
# @param languages [Array<String>] e.g. ["ruby"]
|
12
|
+
def initialize(year:, day:, languages:, connection:)
|
13
|
+
@year = year
|
14
|
+
@day = day
|
15
|
+
@languages = languages
|
16
|
+
@connection = connection
|
17
|
+
@megathread_path = build_megathread_path(year:, day:)
|
18
|
+
@thread_id = "t3_#{megathread_id(year:, day:)}"
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def build_megathread_path(year:, day:)
|
24
|
+
if year == 2015 && day == 1
|
25
|
+
return "/r/programming/comments/#{Reddit::MEGATHREAD_IDS[2015][0]}/daily_programming_puzzles_at_advent_of_code.json"
|
26
|
+
end
|
27
|
+
|
28
|
+
slug = "day_#{day.to_i}_solutions"
|
29
|
+
slug = "#{year.to_i}_#{slug}" if year > 2015
|
30
|
+
|
31
|
+
"/r/adventofcode/comments/#{megathread_id(year:, day:)}/#{slug}.json"
|
32
|
+
end
|
33
|
+
|
34
|
+
def megathread_id(year:, day:)
|
35
|
+
Reddit::MEGATHREAD_IDS[year.to_i][day - 1]
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Reddit
|
4
|
+
class RejectUnwantedReplies
|
5
|
+
# Filters out replies that are not gennerally relevant for posterity:
|
6
|
+
# - removed with no replies
|
7
|
+
# - by moderators
|
8
|
+
# - by bots
|
9
|
+
#
|
10
|
+
# @param params [Reddit::Params]
|
11
|
+
# @return [void] params.comments is modified in place.
|
12
|
+
def self.call(params:)
|
13
|
+
params.comments.each do |comment|
|
14
|
+
reject_unwanted_replies!(comment)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
private_class_method def self.reject_unwanted_replies!(comment)
|
19
|
+
comment[:replies].each do |reply|
|
20
|
+
reject_unwanted_replies!(reply)
|
21
|
+
end
|
22
|
+
|
23
|
+
comment[:replies].reject! do
|
24
|
+
(it[:body].strip == "[removed]" && it[:replies].empty?) ||
|
25
|
+
%w[AutoModerator daggerdragon backtickbot].include?(it[:author])
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Reddit
|
4
|
+
class RemoveIds
|
5
|
+
# Removes IDs from comments.
|
6
|
+
#
|
7
|
+
# @param params [Reddit::Params]
|
8
|
+
# @return [void] params.comments is modified in place.
|
9
|
+
def self.call(params:)
|
10
|
+
params.comments.each do |comment|
|
11
|
+
remove_ids!(comment)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
private_class_method def self.remove_ids!(comment)
|
16
|
+
comment.delete(:id)
|
17
|
+
comment.delete(:parent_id)
|
18
|
+
|
19
|
+
comment[:replies].each do |reply|
|
20
|
+
remove_ids!(reply)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module DownloadSolutions
|
2
|
+
module Api
|
3
|
+
class Reddit
|
4
|
+
class RemoveLanguageTags
|
5
|
+
# Removes language tags from comment bodies.
|
6
|
+
#
|
7
|
+
# @param params [Reddit::Params]
|
8
|
+
# @return [void] params.comments is modified in place.
|
9
|
+
def self.call(params:)
|
10
|
+
params.comments.each do |comment|
|
11
|
+
remove_language_tag!(comment, params.languages)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
private_class_method def self.remove_language_tag!(comment, languages)
|
16
|
+
languages.each do |language|
|
17
|
+
comment[:body].sub!(/\[[[:punct:]]*language:\s*#{language}[[:punct:]]*\]/i, "")
|
18
|
+
end
|
19
|
+
|
20
|
+
comment[:body].strip!
|
21
|
+
|
22
|
+
comment[:replies].each do |reply|
|
23
|
+
remove_language_tag!(reply, languages)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|