trackler 2.2.0.3 → 2.2.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (463) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/list-ops/canonical-data.json +27 -11
  4. data/problem-specifications/exercises/rotational-cipher/canonical-data.json +8 -8
  5. data/tracks/clojure/config.json +240 -63
  6. data/tracks/cpp/CMakeLists.txt +1 -0
  7. data/tracks/cpp/config.json +8 -0
  8. data/tracks/cpp/exercises/bracket-push/CMakeLists.txt +52 -0
  9. data/tracks/cpp/exercises/bracket-push/bracket_push_test.cpp +75 -0
  10. data/tracks/cpp/exercises/bracket-push/example.cpp +28 -0
  11. data/tracks/cpp/exercises/bracket-push/example.h +13 -0
  12. data/tracks/ecmascript/config.json +235 -71
  13. data/tracks/ecmascript/config/exercise_readme.go.tmpl +16 -0
  14. data/tracks/ecmascript/exercises/accumulate/README.md +65 -0
  15. data/tracks/ecmascript/exercises/acronym/README.md +45 -0
  16. data/tracks/ecmascript/exercises/all-your-base/README.md +65 -0
  17. data/tracks/ecmascript/exercises/allergies/README.md +67 -0
  18. data/tracks/ecmascript/exercises/alphametics/README.md +65 -0
  19. data/tracks/ecmascript/exercises/anagram/README.md +43 -0
  20. data/tracks/ecmascript/exercises/atbash-cipher/README.md +64 -0
  21. data/tracks/ecmascript/exercises/beer-song/README.md +357 -0
  22. data/tracks/ecmascript/exercises/binary-search-tree/README.md +90 -0
  23. data/tracks/ecmascript/exercises/binary-search/README.md +71 -0
  24. data/tracks/ecmascript/exercises/binary/README.md +65 -0
  25. data/tracks/ecmascript/exercises/bob/README.md +48 -0
  26. data/tracks/ecmascript/exercises/bracket-push/README.md +40 -0
  27. data/tracks/ecmascript/exercises/circular-buffer/README.md +80 -0
  28. data/tracks/ecmascript/exercises/clock/README.md +43 -0
  29. data/tracks/ecmascript/exercises/connect/README.md +64 -0
  30. data/tracks/ecmascript/exercises/crypto-square/README.md +104 -0
  31. data/tracks/ecmascript/exercises/custom-set/README.md +41 -0
  32. data/tracks/ecmascript/exercises/diamond/README.md +89 -0
  33. data/tracks/ecmascript/exercises/difference-of-squares/README.md +49 -0
  34. data/tracks/ecmascript/exercises/diffie-hellman/README.md +74 -0
  35. data/tracks/ecmascript/exercises/etl/README.md +81 -0
  36. data/tracks/ecmascript/exercises/flatten-array/README.md +48 -0
  37. data/tracks/ecmascript/exercises/food-chain/README.md +100 -0
  38. data/tracks/ecmascript/exercises/gigasecond/README.md +41 -0
  39. data/tracks/ecmascript/exercises/grade-school/README.md +72 -0
  40. data/tracks/ecmascript/exercises/grains/README.md +64 -0
  41. data/tracks/ecmascript/exercises/hamming/README.md +72 -0
  42. data/tracks/ecmascript/exercises/hello-world/README.md +51 -0
  43. data/tracks/ecmascript/exercises/hexadecimal/README.md +44 -0
  44. data/tracks/ecmascript/exercises/isogram/README.md +49 -0
  45. data/tracks/ecmascript/exercises/kindergarten-garden/README.md +96 -0
  46. data/tracks/ecmascript/exercises/largest-series-product/README.md +50 -0
  47. data/tracks/ecmascript/exercises/leap/README.md +63 -0
  48. data/tracks/ecmascript/exercises/linked-list/README.md +64 -0
  49. data/tracks/ecmascript/exercises/list-ops/README.md +40 -0
  50. data/tracks/ecmascript/exercises/luhn/README.md +101 -0
  51. data/tracks/ecmascript/exercises/matrix/README.md +75 -0
  52. data/tracks/ecmascript/exercises/meetup/README.md +60 -0
  53. data/tracks/ecmascript/exercises/minesweeper/README.md +60 -0
  54. data/tracks/ecmascript/exercises/nth-prime/README.md +45 -0
  55. data/tracks/ecmascript/exercises/ocr-numbers/README.md +115 -0
  56. data/tracks/ecmascript/exercises/octal/README.md +79 -0
  57. data/tracks/ecmascript/exercises/palindrome-products/README.md +70 -0
  58. data/tracks/ecmascript/exercises/pangram/README.md +45 -0
  59. data/tracks/ecmascript/exercises/pascals-triangle/README.md +51 -0
  60. data/tracks/ecmascript/exercises/perfect-numbers/README.md +54 -0
  61. data/tracks/ecmascript/exercises/phone-number/README.md +64 -0
  62. data/tracks/ecmascript/exercises/pig-latin/README.md +54 -0
  63. data/tracks/ecmascript/exercises/prime-factors/README.md +66 -0
  64. data/tracks/ecmascript/exercises/pythagorean-triplet/README.md +54 -0
  65. data/tracks/ecmascript/exercises/queen-attack/README.md +63 -0
  66. data/tracks/ecmascript/exercises/raindrops/README.md +54 -0
  67. data/tracks/ecmascript/exercises/rna-transcription/README.md +55 -0
  68. data/tracks/ecmascript/exercises/robot-name/README.md +52 -0
  69. data/tracks/ecmascript/exercises/robot-simulator/README.md +64 -0
  70. data/tracks/ecmascript/exercises/roman-numerals/README.md +79 -0
  71. data/tracks/ecmascript/exercises/saddle-points/README.md +63 -0
  72. data/tracks/ecmascript/exercises/say/README.md +99 -0
  73. data/tracks/ecmascript/exercises/scrabble-score/README.md +74 -0
  74. data/tracks/ecmascript/exercises/secret-handshake/README.md +65 -0
  75. data/tracks/ecmascript/exercises/series/README.md +57 -0
  76. data/tracks/ecmascript/exercises/sieve/README.md +64 -0
  77. data/tracks/ecmascript/exercises/simple-cipher/README.md +120 -0
  78. data/tracks/ecmascript/exercises/space-age/README.md +54 -0
  79. data/tracks/ecmascript/exercises/strain/README.md +70 -0
  80. data/tracks/ecmascript/exercises/sublist/README.md +50 -0
  81. data/tracks/ecmascript/exercises/sublist/example.js +30 -0
  82. data/tracks/ecmascript/exercises/sublist/package.json +69 -0
  83. data/tracks/ecmascript/exercises/sublist/sublist.spec.js +126 -0
  84. data/tracks/ecmascript/exercises/sum-of-multiples/README.md +48 -0
  85. data/tracks/ecmascript/exercises/triangle/README.md +56 -0
  86. data/tracks/ecmascript/exercises/trinary/README.md +58 -0
  87. data/tracks/ecmascript/exercises/two-bucket/README.md +66 -0
  88. data/tracks/ecmascript/exercises/word-count/README.md +49 -0
  89. data/tracks/ecmascript/exercises/wordy/README.md +93 -0
  90. data/tracks/go/.gitignore +1 -0
  91. data/tracks/go/README.md +2 -0
  92. data/tracks/go/config/exercise_readme.go.tmpl +16 -0
  93. data/tracks/go/exercises/accumulate/README.md +53 -0
  94. data/tracks/go/exercises/acronym/README.md +33 -0
  95. data/tracks/go/exercises/all-your-base/README.md +53 -0
  96. data/tracks/go/exercises/allergies/README.md +55 -0
  97. data/tracks/go/exercises/anagram/README.md +31 -0
  98. data/tracks/go/exercises/atbash-cipher/README.md +52 -0
  99. data/tracks/go/exercises/bank-account/README.md +48 -0
  100. data/tracks/go/exercises/beer-song/README.md +345 -0
  101. data/tracks/go/exercises/binary-search-tree/README.md +78 -0
  102. data/tracks/go/exercises/binary-search/README.md +59 -0
  103. data/tracks/go/exercises/binary/README.md +53 -0
  104. data/tracks/go/exercises/bob/README.md +36 -0
  105. data/tracks/go/exercises/bowling/README.md +71 -0
  106. data/tracks/go/exercises/bracket-push/README.md +28 -0
  107. data/tracks/go/exercises/change/README.md +41 -0
  108. data/tracks/go/exercises/circular-buffer/README.md +68 -0
  109. data/tracks/go/exercises/clock/README.md +31 -0
  110. data/tracks/go/exercises/connect/README.md +52 -0
  111. data/tracks/go/exercises/counter/README.md +42 -0
  112. data/tracks/go/exercises/crypto-square/README.md +92 -0
  113. data/tracks/go/exercises/custom-set/README.md +29 -0
  114. data/tracks/go/exercises/diamond/README.md +77 -0
  115. data/tracks/go/exercises/difference-of-squares/README.md +37 -0
  116. data/tracks/go/exercises/diffie-hellman/README.md +62 -0
  117. data/tracks/go/exercises/error-handling/README.md +31 -0
  118. data/tracks/go/exercises/etl/README.md +69 -0
  119. data/tracks/go/exercises/food-chain/README.md +88 -0
  120. data/tracks/go/exercises/forth/README.md +47 -0
  121. data/tracks/go/exercises/gigasecond/README.md +29 -0
  122. data/tracks/go/exercises/grade-school/README.md +60 -0
  123. data/tracks/go/exercises/grains/README.md +52 -0
  124. data/tracks/go/exercises/hamming/README.md +60 -0
  125. data/tracks/go/exercises/hello-world/README.md +39 -0
  126. data/tracks/go/exercises/hexadecimal/README.md +32 -0
  127. data/tracks/go/exercises/house/README.md +131 -0
  128. data/tracks/go/exercises/isogram/README.md +37 -0
  129. data/tracks/go/exercises/kindergarten-garden/README.md +84 -0
  130. data/tracks/go/exercises/largest-series-product/README.md +38 -0
  131. data/tracks/go/exercises/leap/README.md +51 -0
  132. data/tracks/go/exercises/ledger/README.md +36 -0
  133. data/tracks/go/exercises/luhn/README.md +89 -0
  134. data/tracks/go/exercises/matrix/README.md +63 -0
  135. data/tracks/go/exercises/meetup/README.md +48 -0
  136. data/tracks/go/exercises/minesweeper/README.md +48 -0
  137. data/tracks/go/exercises/nth-prime/README.md +33 -0
  138. data/tracks/go/exercises/nucleotide-count/README.md +51 -0
  139. data/tracks/go/exercises/ocr-numbers/README.md +103 -0
  140. data/tracks/go/exercises/octal/README.md +67 -0
  141. data/tracks/go/exercises/paasio/README.md +38 -0
  142. data/tracks/go/exercises/palindrome-products/README.md +58 -0
  143. data/tracks/go/exercises/pangram/README.md +33 -0
  144. data/tracks/go/exercises/parallel-letter-frequency/README.md +29 -0
  145. data/tracks/go/exercises/pascals-triangle/README.md +39 -0
  146. data/tracks/go/exercises/perfect-numbers/README.md +42 -0
  147. data/tracks/go/exercises/phone-number/README.md +52 -0
  148. data/tracks/go/exercises/pig-latin/README.md +42 -0
  149. data/tracks/go/exercises/poker/README.md +30 -0
  150. data/tracks/go/exercises/pov/README.md +64 -0
  151. data/tracks/go/exercises/prime-factors/README.md +54 -0
  152. data/tracks/go/exercises/protein-translation/README.md +67 -0
  153. data/tracks/go/exercises/pythagorean-triplet/README.md +42 -0
  154. data/tracks/go/exercises/queen-attack/README.md +51 -0
  155. data/tracks/go/exercises/raindrops/README.md +42 -0
  156. data/tracks/go/exercises/react/README.md +37 -0
  157. data/tracks/go/exercises/rna-transcription/README.md +43 -0
  158. data/tracks/go/exercises/robot-name/README.md +40 -0
  159. data/tracks/go/exercises/robot-simulator/README.md +52 -0
  160. data/tracks/go/exercises/roman-numerals/README.md +67 -0
  161. data/tracks/go/exercises/saddle-points/README.md +51 -0
  162. data/tracks/go/exercises/say/README.md +87 -0
  163. data/tracks/go/exercises/scrabble-score/README.md +62 -0
  164. data/tracks/go/exercises/secret-handshake/README.md +53 -0
  165. data/tracks/go/exercises/series/README.md +45 -0
  166. data/tracks/go/exercises/sieve/README.md +52 -0
  167. data/tracks/go/exercises/simple-cipher/README.md +108 -0
  168. data/tracks/go/exercises/strain/README.md +58 -0
  169. data/tracks/go/exercises/sum-of-multiples/README.md +36 -0
  170. data/tracks/go/exercises/tournament/README.md +86 -0
  171. data/tracks/go/exercises/transpose/README.md +83 -0
  172. data/tracks/go/exercises/tree-building/README.md +48 -0
  173. data/tracks/go/exercises/triangle/README.md +44 -0
  174. data/tracks/go/exercises/trinary/README.md +46 -0
  175. data/tracks/go/exercises/twelve-days/README.md +57 -0
  176. data/tracks/go/exercises/variable-length-quantity/README.md +57 -0
  177. data/tracks/go/exercises/word-count/README.md +37 -0
  178. data/tracks/go/exercises/word-search/README.md +48 -0
  179. data/tracks/go/exercises/wordy/README.md +81 -0
  180. data/tracks/haskell/README.md +2 -2
  181. data/tracks/haskell/exercises/beer-song/test/Tests.hs +1 -1
  182. data/tracks/haskell/exercises/food-chain/test/Tests.hs +1 -1
  183. data/tracks/haskell/exercises/house/test/Tests.hs +1 -1
  184. data/tracks/haskell/exercises/say/test/Tests.hs +1 -1
  185. data/tracks/java/config.json +10 -10
  186. data/tracks/java/exercises/rotational-cipher/src/example/java/RotationalCipher.java +5 -8
  187. data/tracks/java/exercises/rotational-cipher/src/test/java/RotationalCipherTest.java +3 -6
  188. data/tracks/javascript/config.json +397 -140
  189. data/tracks/kotlin/config.json +248 -63
  190. data/tracks/kotlin/config/exercise_readme.go.tmpl +16 -0
  191. data/tracks/kotlin/exercises/accumulate/README.md +38 -0
  192. data/tracks/kotlin/exercises/acronym/README.md +18 -0
  193. data/tracks/kotlin/exercises/all-your-base/README.md +38 -0
  194. data/tracks/kotlin/exercises/allergies/README.md +40 -0
  195. data/tracks/kotlin/exercises/anagram/README.md +16 -0
  196. data/tracks/kotlin/exercises/atbash-cipher/README.md +37 -0
  197. data/tracks/kotlin/exercises/bank-account/README.md +33 -0
  198. data/tracks/kotlin/exercises/beer-song/README.md +330 -0
  199. data/tracks/kotlin/exercises/binary-search/README.md +44 -0
  200. data/tracks/kotlin/exercises/binary/README.md +38 -0
  201. data/tracks/kotlin/exercises/bob/README.md +21 -0
  202. data/tracks/kotlin/exercises/bracket-push/README.md +13 -0
  203. data/tracks/kotlin/exercises/change/README.md +26 -0
  204. data/tracks/kotlin/exercises/clock/README.md +16 -0
  205. data/tracks/kotlin/exercises/collatz-conjecture/README.md +36 -0
  206. data/tracks/kotlin/exercises/complex-numbers/README.md +14 -0
  207. data/tracks/kotlin/exercises/diamond/README.md +62 -0
  208. data/tracks/kotlin/exercises/difference-of-squares/README.md +22 -0
  209. data/tracks/kotlin/exercises/etl/README.md +54 -0
  210. data/tracks/kotlin/exercises/flatten-array/README.md +21 -0
  211. data/tracks/kotlin/exercises/gigasecond/README.md +14 -0
  212. data/tracks/kotlin/exercises/grade-school/README.md +45 -0
  213. data/tracks/kotlin/exercises/grains/README.md +37 -0
  214. data/tracks/kotlin/exercises/hamming/README.md +45 -0
  215. data/tracks/kotlin/exercises/hello-world/README.md +24 -0
  216. data/tracks/kotlin/exercises/hexadecimal/README.md +17 -0
  217. data/tracks/kotlin/exercises/isogram/README.md +22 -0
  218. data/tracks/kotlin/exercises/largest-series-product/README.md +23 -0
  219. data/tracks/kotlin/exercises/leap/README.md +36 -0
  220. data/tracks/kotlin/exercises/linked-list/README.md +37 -0
  221. data/tracks/kotlin/exercises/list-ops/README.md +20 -0
  222. data/tracks/kotlin/exercises/luhn/README.md +74 -0
  223. data/tracks/kotlin/exercises/minesweeper/README.md +33 -0
  224. data/tracks/kotlin/exercises/nth-prime/README.md +18 -0
  225. data/tracks/kotlin/exercises/nucleotide-count/README.md +36 -0
  226. data/tracks/kotlin/exercises/pangram/README.md +18 -0
  227. data/tracks/kotlin/exercises/pascals-triangle/README.md +24 -0
  228. data/tracks/kotlin/exercises/perfect-numbers/README.md +27 -0
  229. data/tracks/kotlin/exercises/phone-number/README.md +37 -0
  230. data/tracks/kotlin/exercises/pig-latin/README.md +27 -0
  231. data/tracks/kotlin/exercises/prime-factors/README.md +39 -0
  232. data/tracks/kotlin/exercises/raindrops/README.md +27 -0
  233. data/tracks/kotlin/exercises/react/README.md +22 -0
  234. data/tracks/kotlin/exercises/rna-transcription/README.md +28 -0
  235. data/tracks/kotlin/exercises/robot-name/README.md +25 -0
  236. data/tracks/kotlin/exercises/robot-simulator/README.md +37 -0
  237. data/tracks/kotlin/exercises/roman-numerals/README.md +52 -0
  238. data/tracks/kotlin/exercises/saddle-points/README.md +36 -0
  239. data/tracks/kotlin/exercises/scrabble-score/README.md +47 -0
  240. data/tracks/kotlin/exercises/secret-handshake/README.md +38 -0
  241. data/tracks/kotlin/exercises/series/README.md +30 -0
  242. data/tracks/kotlin/exercises/sieve/README.md +37 -0
  243. data/tracks/kotlin/exercises/simple-cipher/README.md +93 -0
  244. data/tracks/kotlin/exercises/space-age/README.md +27 -0
  245. data/tracks/kotlin/exercises/spiral-matrix/README.md +33 -0
  246. data/tracks/kotlin/exercises/strain/README.md +43 -0
  247. data/tracks/kotlin/exercises/sublist/README.md +24 -0
  248. data/tracks/kotlin/exercises/sum-of-multiples/README.md +21 -0
  249. data/tracks/kotlin/exercises/triangle/README.md +29 -0
  250. data/tracks/kotlin/exercises/word-count/README.md +22 -0
  251. data/tracks/ocaml/config/exercise_readme.go.tmpl +16 -0
  252. data/tracks/ocaml/exercises/acronym/README.md +55 -0
  253. data/tracks/ocaml/exercises/all-your-base/README.md +75 -0
  254. data/tracks/ocaml/exercises/anagram/README.md +53 -0
  255. data/tracks/ocaml/exercises/atbash-cipher/README.md +93 -0
  256. data/tracks/ocaml/exercises/beer-song/README.md +367 -0
  257. data/tracks/ocaml/exercises/binary-search/README.md +81 -0
  258. data/tracks/ocaml/exercises/bob/README.md +87 -0
  259. data/tracks/ocaml/exercises/bowling/README.md +93 -0
  260. data/tracks/ocaml/exercises/bracket-push/README.md +50 -0
  261. data/tracks/ocaml/exercises/change/README.md +63 -0
  262. data/tracks/ocaml/exercises/connect/README.md +74 -0
  263. data/tracks/ocaml/exercises/custom-set/README.md +51 -0
  264. data/tracks/ocaml/exercises/difference-of-squares/README.md +59 -0
  265. data/tracks/ocaml/exercises/dominoes/README.md +58 -0
  266. data/tracks/ocaml/exercises/etl/README.md +91 -0
  267. data/tracks/ocaml/exercises/forth/README.md +69 -0
  268. data/tracks/ocaml/exercises/grade-school/README.md +82 -0
  269. data/tracks/ocaml/exercises/hamming/README.md +82 -0
  270. data/tracks/ocaml/exercises/hangman/README.md +61 -0
  271. data/tracks/ocaml/exercises/hello-world/README.md +61 -0
  272. data/tracks/ocaml/exercises/hexadecimal/README.md +54 -0
  273. data/tracks/ocaml/exercises/leap/README.md +73 -0
  274. data/tracks/ocaml/exercises/list-ops/README.md +50 -0
  275. data/tracks/ocaml/exercises/luhn/README.md +111 -0
  276. data/tracks/ocaml/exercises/meetup/README.md +70 -0
  277. data/tracks/ocaml/exercises/minesweeper/README.md +70 -0
  278. data/tracks/ocaml/exercises/nucleotide-count/README.md +73 -0
  279. data/tracks/ocaml/exercises/pangram/README.md +55 -0
  280. data/tracks/ocaml/exercises/phone-number/README.md +74 -0
  281. data/tracks/ocaml/exercises/point-mutations/README.md +81 -0
  282. data/tracks/ocaml/exercises/prime-factors/README.md +76 -0
  283. data/tracks/ocaml/exercises/raindrops/README.md +64 -0
  284. data/tracks/ocaml/exercises/react/README.md +59 -0
  285. data/tracks/ocaml/exercises/rna-transcription/README.md +65 -0
  286. data/tracks/ocaml/exercises/robot-name/README.md +62 -0
  287. data/tracks/ocaml/exercises/roman-numerals/README.md +89 -0
  288. data/tracks/ocaml/exercises/run-length-encoding/README.md +70 -0
  289. data/tracks/ocaml/exercises/say/README.md +109 -0
  290. data/tracks/ocaml/exercises/space-age/README.md +64 -0
  291. data/tracks/ocaml/exercises/triangle/README.md +66 -0
  292. data/tracks/ocaml/exercises/word-count/README.md +59 -0
  293. data/tracks/ocaml/exercises/zipper/README.md +71 -0
  294. data/tracks/perl5/README.md +1 -1
  295. data/tracks/perl5/config/exercise_readme.go.tmpl +16 -0
  296. data/tracks/perl5/exercises/accumulate/README.md +35 -0
  297. data/tracks/perl5/exercises/all-your-base/README.md +35 -0
  298. data/tracks/perl5/exercises/allergies/README.md +37 -0
  299. data/tracks/perl5/exercises/anagram/README.md +13 -0
  300. data/tracks/perl5/exercises/atbash-cipher/README.md +34 -0
  301. data/tracks/perl5/exercises/beer-song/README.md +327 -0
  302. data/tracks/perl5/exercises/binary-search-tree/README.md +60 -0
  303. data/tracks/perl5/exercises/binary-search/README.md +41 -0
  304. data/tracks/perl5/exercises/binary/README.md +35 -0
  305. data/tracks/perl5/exercises/bob/README.md +18 -0
  306. data/tracks/perl5/exercises/clock/README.md +13 -0
  307. data/tracks/perl5/exercises/crypto-square/README.md +74 -0
  308. data/tracks/perl5/exercises/custom-set/README.md +11 -0
  309. data/tracks/perl5/exercises/difference-of-squares/README.md +19 -0
  310. data/tracks/perl5/exercises/etl/README.md +51 -0
  311. data/tracks/perl5/exercises/food-chain/README.md +70 -0
  312. data/tracks/perl5/exercises/gigasecond/README.md +11 -0
  313. data/tracks/perl5/exercises/grade-school/README.md +42 -0
  314. data/tracks/perl5/exercises/grains/README.md +34 -0
  315. data/tracks/perl5/exercises/hamming/README.md +42 -0
  316. data/tracks/perl5/exercises/hello-world/README.md +21 -0
  317. data/tracks/perl5/exercises/hexadecimal/README.md +14 -0
  318. data/tracks/perl5/exercises/house/README.md +113 -0
  319. data/tracks/perl5/exercises/kindergarten-garden/README.md +66 -0
  320. data/tracks/perl5/exercises/largest-series-product/README.md +20 -0
  321. data/tracks/perl5/exercises/leap/README.md +33 -0
  322. data/tracks/perl5/exercises/linked-list/README.md +34 -0
  323. data/tracks/perl5/exercises/list-ops/README.md +10 -0
  324. data/tracks/perl5/exercises/luhn/Example.pm +20 -42
  325. data/tracks/perl5/exercises/luhn/Luhn.pm +9 -0
  326. data/tracks/perl5/exercises/luhn/README.md +71 -0
  327. data/tracks/perl5/exercises/luhn/example.yaml +38 -0
  328. data/tracks/perl5/exercises/luhn/luhn.t +127 -26
  329. data/tracks/perl5/exercises/matrix/README.md +45 -0
  330. data/tracks/perl5/exercises/meetup/README.md +30 -0
  331. data/tracks/perl5/exercises/minesweeper/README.md +30 -0
  332. data/tracks/perl5/exercises/nucleotide-count/README.md +33 -0
  333. data/tracks/perl5/exercises/ocr-numbers/README.md +85 -0
  334. data/tracks/perl5/exercises/palindrome-products/README.md +40 -0
  335. data/tracks/perl5/exercises/pascals-triangle/README.md +21 -0
  336. data/tracks/perl5/exercises/phone-number/Example.pm +6 -26
  337. data/tracks/perl5/exercises/phone-number/PhoneNumber.pm +5 -0
  338. data/tracks/perl5/exercises/phone-number/README.md +34 -0
  339. data/tracks/perl5/exercises/phone-number/example.yaml +15 -0
  340. data/tracks/perl5/exercises/phone-number/phone-number.t +138 -0
  341. data/tracks/perl5/exercises/pig-latin/README.md +24 -0
  342. data/tracks/perl5/exercises/point-mutations/README.md +41 -0
  343. data/tracks/perl5/exercises/prime-factors/README.md +36 -0
  344. data/tracks/perl5/exercises/proverb/README.md +18 -0
  345. data/tracks/perl5/exercises/pythagorean-triplet/README.md +24 -0
  346. data/tracks/perl5/exercises/queen-attack/README.md +33 -0
  347. data/tracks/perl5/exercises/raindrops/README.md +24 -0
  348. data/tracks/perl5/exercises/rna-transcription/README.md +25 -0
  349. data/tracks/perl5/exercises/robot-name/README.md +22 -0
  350. data/tracks/perl5/exercises/robot-simulator/README.md +34 -0
  351. data/tracks/perl5/exercises/roman-numerals/README.md +49 -0
  352. data/tracks/perl5/exercises/saddle-points/README.md +33 -0
  353. data/tracks/perl5/exercises/say/README.md +69 -0
  354. data/tracks/perl5/exercises/scrabble-score/README.md +44 -0
  355. data/tracks/perl5/exercises/secret-handshake/README.md +35 -0
  356. data/tracks/perl5/exercises/series/README.md +27 -0
  357. data/tracks/perl5/exercises/sieve/README.md +34 -0
  358. data/tracks/perl5/exercises/simple-cipher/README.md +90 -0
  359. data/tracks/perl5/exercises/simple-linked-list/README.md +28 -0
  360. data/tracks/perl5/exercises/space-age/README.md +24 -0
  361. data/tracks/perl5/exercises/strain/README.md +40 -0
  362. data/tracks/perl5/exercises/sublist/README.md +21 -0
  363. data/tracks/perl5/exercises/sum-of-multiples/README.md +18 -0
  364. data/tracks/perl5/exercises/triangle/README.md +26 -0
  365. data/tracks/perl5/exercises/trinary/README.md +28 -0
  366. data/tracks/perl5/exercises/twelve-days/README.md +35 -0
  367. data/tracks/perl5/exercises/word-count/README.md +19 -0
  368. data/tracks/perl5/exercises/wordy/README.md +63 -0
  369. data/tracks/perl6/README.md +1 -1
  370. data/tracks/perl6/config/exercise_readme.go.tmpl +16 -0
  371. data/tracks/perl6/exercises/accumulate/README.md +50 -0
  372. data/tracks/perl6/exercises/all-your-base/README.md +50 -0
  373. data/tracks/perl6/exercises/allergies/README.md +52 -0
  374. data/tracks/perl6/exercises/anagram/README.md +28 -0
  375. data/tracks/perl6/exercises/atbash-cipher/README.md +49 -0
  376. data/tracks/perl6/exercises/binary/README.md +50 -0
  377. data/tracks/perl6/exercises/bob/README.md +33 -0
  378. data/tracks/perl6/exercises/clock/README.md +28 -0
  379. data/tracks/perl6/exercises/flatten-array/README.md +33 -0
  380. data/tracks/perl6/exercises/grade-school/README.md +57 -0
  381. data/tracks/perl6/exercises/grains/README.md +49 -0
  382. data/tracks/perl6/exercises/hello-world/README.md +36 -0
  383. data/tracks/perl6/exercises/leap/README.md +48 -0
  384. data/tracks/perl6/exercises/linked-list/README.md +49 -0
  385. data/tracks/perl6/exercises/linked-list/example.yaml +1 -1
  386. data/tracks/perl6/exercises/linked-list/linked-list.t +1 -1
  387. data/tracks/perl6/exercises/luhn/README.md +86 -0
  388. data/tracks/perl6/exercises/phone-number/README.md +49 -0
  389. data/tracks/perl6/exercises/raindrops/README.md +39 -0
  390. data/tracks/perl6/exercises/rna-transcription/README.md +40 -0
  391. data/tracks/perl6/exercises/robot-name/README.md +37 -0
  392. data/tracks/perl6/exercises/scrabble-score/README.md +59 -0
  393. data/tracks/perl6/exercises/space-age/README.md +39 -0
  394. data/tracks/perl6/exercises/trinary/README.md +43 -0
  395. data/tracks/perl6/exercises/word-count/README.md +34 -0
  396. data/tracks/perl6/exercises/wordy/README.md +78 -0
  397. data/tracks/php/config.json +156 -3
  398. data/tracks/php/config/exercise_readme.go.tmpl +16 -0
  399. data/tracks/php/exercises/accumulate/README.md +50 -0
  400. data/tracks/php/exercises/acronym/README.md +30 -0
  401. data/tracks/php/exercises/allergies/README.md +52 -0
  402. data/tracks/php/exercises/anagram/README.md +28 -0
  403. data/tracks/php/exercises/atbash-cipher/README.md +49 -0
  404. data/tracks/php/exercises/beer-song/README.md +342 -0
  405. data/tracks/php/exercises/binary-search/README.md +56 -0
  406. data/tracks/php/exercises/binary/README.md +50 -0
  407. data/tracks/php/exercises/bob/README.md +36 -0
  408. data/tracks/php/exercises/book-store/README.md +89 -0
  409. data/tracks/php/exercises/bowling/README.md +68 -0
  410. data/tracks/php/exercises/bracket-push/README.md +25 -0
  411. data/tracks/php/exercises/change/README.md +38 -0
  412. data/tracks/php/exercises/clock/README.md +28 -0
  413. data/tracks/php/exercises/connect/README.md +49 -0
  414. data/tracks/php/exercises/difference-of-squares/README.md +34 -0
  415. data/tracks/php/exercises/etl/README.md +66 -0
  416. data/tracks/php/exercises/gigasecond/README.md +26 -0
  417. data/tracks/php/exercises/grade-school/README.md +57 -0
  418. data/tracks/php/exercises/grains/README.md +49 -0
  419. data/tracks/php/exercises/hamming/README.md +57 -0
  420. data/tracks/php/exercises/hello-world/README.md +36 -0
  421. data/tracks/php/exercises/isogram/README.md +34 -0
  422. data/tracks/php/exercises/largest-series-product/README.md +35 -0
  423. data/tracks/php/exercises/leap/README.md +48 -0
  424. data/tracks/php/exercises/luhn/README.md +86 -0
  425. data/tracks/php/exercises/markdown/README.md +33 -0
  426. data/tracks/php/exercises/minesweeper/README.md +45 -0
  427. data/tracks/php/exercises/nth-prime/README.md +30 -0
  428. data/tracks/php/exercises/nucleotide-count/README.md +48 -0
  429. data/tracks/php/exercises/ocr-numbers/README.md +100 -0
  430. data/tracks/php/exercises/pangram/README.md +30 -0
  431. data/tracks/php/exercises/pascals-triangle/README.md +36 -0
  432. data/tracks/php/exercises/perfect-numbers/README.md +39 -0
  433. data/tracks/php/exercises/phone-number/README.md +49 -0
  434. data/tracks/php/exercises/pig-latin/README.md +39 -0
  435. data/tracks/php/exercises/prime-factors/README.md +51 -0
  436. data/tracks/php/exercises/queen-attack/README.md +48 -0
  437. data/tracks/php/exercises/raindrops/README.md +39 -0
  438. data/tracks/php/exercises/rna-transcription/README.md +40 -0
  439. data/tracks/php/exercises/robot-name/README.md +37 -0
  440. data/tracks/php/exercises/robot-simulator/README.md +49 -0
  441. data/tracks/php/exercises/roman-numerals/README.md +64 -0
  442. data/tracks/php/exercises/scrabble-score/README.md +59 -0
  443. data/tracks/php/exercises/sieve/README.md +49 -0
  444. data/tracks/php/exercises/space-age/README.md +39 -0
  445. data/tracks/php/exercises/sum-of-multiples/README.md +33 -0
  446. data/tracks/php/exercises/triangle/README.md +41 -0
  447. data/tracks/php/exercises/trinary/README.md +43 -0
  448. data/tracks/php/exercises/variable-length-quantity/README.md +54 -0
  449. data/tracks/php/exercises/word-count/README.md +34 -0
  450. data/tracks/php/exercises/wordy/README.md +78 -0
  451. data/tracks/rust/exercises/grains/tests/grains.rs +0 -1
  452. data/tracks/sml/config/exercise_readme.go.tmpl +16 -0
  453. data/tracks/sml/exercises/accumulate/README.md +49 -0
  454. data/tracks/sml/exercises/allergies/README.md +51 -0
  455. data/tracks/sml/exercises/anagram/README.md +27 -0
  456. data/tracks/sml/exercises/binary/README.md +49 -0
  457. data/tracks/sml/exercises/flatten-array/README.md +32 -0
  458. data/tracks/sml/exercises/hamming/README.md +56 -0
  459. data/tracks/sml/exercises/nth-prime/README.md +29 -0
  460. data/tracks/sml/exercises/raindrops/README.md +38 -0
  461. metadata +433 -4
  462. data/tracks/perl5/exercises/phone-number/cases.json +0 -44
  463. data/tracks/perl5/exercises/phone-number/phone.t +0 -43
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: adc92aa5cad4bedd93cad857419fed2eb6e1f3f0
4
- data.tar.gz: a4ad2f6bd8c0ce9a13afeed31ab6b75555933ca0
3
+ metadata.gz: ee1a4e427a83a05d5f19e40520b1c329c9d7a313
4
+ data.tar.gz: f0a1ab8dfe5584eac588bb34778725c36cd92198
5
5
  SHA512:
6
- metadata.gz: bfcfd2fd79aef1247b4bc04f4fcac62d58615fed72a1508912be23ca4ce190af4d2f930bf15c0ebe044ac4c91abe39b90bd00d12724d17c890c62fdedce219c8
7
- data.tar.gz: ebda5f120eafaec5fc2a6d46af23100d789da10c3c3586e94d8de69763c30aa76bcbb3e0caa3524459aab50adbf68f8b15168a7b00053a6abe7408985708e83d
6
+ metadata.gz: e68d376637a699eb90a2a67220d22eff4592d891f1a2be7cd4f0d5faa1c93df0affe1421aa00bc2ed32caf2bef09a3428b11d43b46d8abc3f69aaa431c8edefc
7
+ data.tar.gz: 13bdd9c53a38fc63800555683d418c39dcd9a9e8716cb3637c33d36475cbc498ca14b015476efeb6962bb194b987c2d5436da8df236b1fec9b66b4e1b31b43ac
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.0.3"
2
+ VERSION = "2.2.0.4"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "exercise": "list-ops",
3
- "version": "1.0.0",
3
+ "version": "2.0.0",
4
4
  "comments": [
5
5
  "Though there are no specifications here for dealing with large lists,",
6
6
  "implementers may add tests for handling large lists to ensure that the",
@@ -113,16 +113,24 @@
113
113
  "property": "foldl",
114
114
  "list": [],
115
115
  "initial": 2,
116
- "function": "value / accumulator",
116
+ "function": "(x, y) -> x * y",
117
117
  "expected": 2
118
118
  },
119
119
  {
120
- "description": "division of integers",
120
+ "description": "direction independent function applied to non-empty list",
121
121
  "property": "foldl",
122
122
  "list": [1, 2, 3, 4],
123
- "initial": 24,
124
- "function": "value / accumulator",
125
- "expected": 64
123
+ "initial": 5,
124
+ "function": "(x, y) -> x + y",
125
+ "expected": 15
126
+ },
127
+ {
128
+ "description": "direction dependent function applied to non-empty list",
129
+ "property": "foldl",
130
+ "list": [2, 5],
131
+ "initial": 5,
132
+ "function": "(x, y) -> x / y",
133
+ "expected": 0
126
134
  }
127
135
  ]
128
136
  },
@@ -134,16 +142,24 @@
134
142
  "property": "foldr",
135
143
  "list": [],
136
144
  "initial": 2,
137
- "function": "value / accumulator",
145
+ "function": "(x, y) -> x * y",
138
146
  "expected": 2
139
147
  },
140
148
  {
141
- "description": "division of integers",
149
+ "description": "direction independent function applied to non-empty list",
142
150
  "property": "foldr",
143
151
  "list": [1, 2, 3, 4],
144
- "initial": 24,
145
- "function": "value / accumulator",
146
- "expected": 9
152
+ "initial": 5,
153
+ "function": "(x, y) -> x + y",
154
+ "expected": 15
155
+ },
156
+ {
157
+ "description": "direction dependent function applied to non-empty list",
158
+ "property": "foldr",
159
+ "list": [2, 5],
160
+ "initial": 5,
161
+ "function": "(x, y) -> x / y",
162
+ "expected": 2
147
163
  }
148
164
  ]
149
165
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "exercise": "rotational-cipher",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "comments": [
5
5
  "The tests are a series of rotation tests: "
6
6
  ],
@@ -8,6 +8,13 @@
8
8
  {
9
9
  "description": "Test rotation from English to ROTn",
10
10
  "cases": [
11
+ {
12
+ "description": "rotate a by 0, same output as input",
13
+ "property": "rotate",
14
+ "text": "a",
15
+ "shiftKey": 0,
16
+ "expected": "a"
17
+ },
11
18
  {
12
19
  "description": "rotate a by 1",
13
20
  "property": "rotate",
@@ -22,13 +29,6 @@
22
29
  "shiftKey": 26,
23
30
  "expected": "a"
24
31
  },
25
- {
26
- "description": "rotate a by 0, same output as input",
27
- "property": "rotate",
28
- "text": "a",
29
- "shiftKey": 0,
30
- "expected": "a"
31
- },
32
32
  {
33
33
  "description": "rotate m by 13",
34
34
  "property": "rotate",
@@ -3,429 +3,606 @@
3
3
  "language": "Clojure",
4
4
  "repository": "https://github.com/exercism/clojure",
5
5
  "active": true,
6
- "deprecated": [
7
-
8
- ],
9
6
  "foregone": [
10
7
 
11
8
  ],
12
9
  "exercises": [
13
10
  {
14
- "difficulty": 1,
11
+ "uuid": "1378910d-9bec-4217-bd40-07a8967fa3ad",
15
12
  "slug": "hello-world",
13
+ "core": false,
14
+ "unlocked_by": null,
15
+ "difficulty": 1,
16
16
  "topics": [
17
17
 
18
18
  ]
19
19
  },
20
20
  {
21
- "difficulty": 1,
21
+ "uuid": "d3bcad28-db03-4f6c-a85d-9f2d01331e88",
22
22
  "slug": "bob",
23
+ "core": false,
24
+ "unlocked_by": null,
25
+ "difficulty": 1,
23
26
  "topics": [
24
27
 
25
28
  ]
26
29
  },
27
30
  {
28
- "difficulty": 1,
31
+ "uuid": "c2100dff-4d18-4fcb-9035-6c57eddd6d37",
29
32
  "slug": "rna-transcription",
33
+ "core": false,
34
+ "unlocked_by": null,
35
+ "difficulty": 1,
30
36
  "topics": [
31
37
 
32
38
  ]
33
39
  },
34
40
  {
35
- "difficulty": 1,
41
+ "uuid": "3ab74232-11f5-4efd-82ac-e7c4129c7ff4",
36
42
  "slug": "word-count",
43
+ "core": false,
44
+ "unlocked_by": null,
45
+ "difficulty": 1,
37
46
  "topics": [
38
47
 
39
48
  ]
40
49
  },
41
50
  {
42
- "difficulty": 1,
51
+ "uuid": "04ac2bd0-504c-4faa-912e-d2111b46123c",
43
52
  "slug": "anagram",
53
+ "core": false,
54
+ "unlocked_by": null,
55
+ "difficulty": 1,
44
56
  "topics": [
45
57
 
46
58
  ]
47
59
  },
48
60
  {
49
- "difficulty": 1,
61
+ "uuid": "c14ef548-c5f6-43a9-84e2-c7238705fc8e",
50
62
  "slug": "beer-song",
63
+ "core": false,
64
+ "unlocked_by": null,
65
+ "difficulty": 1,
51
66
  "topics": [
52
67
 
53
68
  ]
54
69
  },
55
70
  {
56
- "difficulty": 1,
71
+ "uuid": "66d97ae9-36ac-47c6-8b9f-e77ce498fc70",
57
72
  "slug": "nucleotide-count",
73
+ "core": false,
74
+ "unlocked_by": null,
75
+ "difficulty": 1,
58
76
  "topics": [
59
77
 
60
78
  ]
61
79
  },
62
80
  {
63
- "difficulty": 1,
81
+ "uuid": "60004bf0-e551-4bfc-bda9-49c5611811c4",
64
82
  "slug": "hamming",
83
+ "core": false,
84
+ "unlocked_by": null,
85
+ "difficulty": 1,
65
86
  "topics": [
66
87
 
67
88
  ]
68
89
  },
69
90
  {
70
- "difficulty": 1,
91
+ "uuid": "84ce66e5-6091-4078-9921-c0b8ccabc86f",
71
92
  "slug": "phone-number",
93
+ "core": false,
94
+ "unlocked_by": null,
95
+ "difficulty": 1,
72
96
  "topics": [
73
97
 
74
98
  ]
75
99
  },
76
100
  {
77
- "difficulty": 1,
101
+ "uuid": "8e722baf-bbf9-445f-9adb-b21db88b5132",
78
102
  "slug": "clock",
103
+ "core": false,
104
+ "unlocked_by": null,
105
+ "difficulty": 1,
79
106
  "topics": [
80
107
 
81
108
  ]
82
109
  },
83
110
  {
84
- "difficulty": 1,
111
+ "uuid": "f4cf3676-4399-4d1c-b21f-8e735c7af8cc",
85
112
  "slug": "grade-school",
113
+ "core": false,
114
+ "unlocked_by": null,
115
+ "difficulty": 1,
86
116
  "topics": [
87
117
 
88
118
  ]
89
119
  },
90
120
  {
91
- "difficulty": 1,
121
+ "uuid": "3ce7ad7d-61ef-4a71-b87a-8c1b45c758b6",
92
122
  "slug": "robot-name",
123
+ "core": false,
124
+ "unlocked_by": null,
125
+ "difficulty": 1,
93
126
  "topics": [
94
127
 
95
128
  ]
96
129
  },
97
130
  {
98
- "difficulty": 1,
131
+ "uuid": "0cde8a62-412a-45cc-b16e-4b31057cab74",
99
132
  "slug": "leap",
133
+ "core": false,
134
+ "unlocked_by": null,
135
+ "difficulty": 1,
100
136
  "topics": [
101
137
 
102
138
  ]
103
139
  },
104
140
  {
105
- "difficulty": 1,
141
+ "uuid": "c51658c1-7cdb-4a45-8d4d-2a370b655362",
106
142
  "slug": "etl",
143
+ "core": false,
144
+ "unlocked_by": null,
145
+ "difficulty": 1,
107
146
  "topics": [
108
147
 
109
148
  ]
110
149
  },
111
150
  {
112
- "difficulty": 1,
151
+ "uuid": "11450b65-628d-4890-a668-7031de985f5c",
113
152
  "slug": "flatten-array",
153
+ "core": false,
154
+ "unlocked_by": null,
155
+ "difficulty": 1,
114
156
  "topics": [
115
157
 
116
158
  ]
117
159
  },
118
160
  {
119
- "difficulty": 1,
161
+ "uuid": "dabe93c3-038c-4c6f-8a2e-f50acf130b8f",
120
162
  "slug": "sublist",
163
+ "core": false,
164
+ "unlocked_by": null,
165
+ "difficulty": 1,
121
166
  "topics": [
122
167
 
123
168
  ]
124
169
  },
125
170
  {
126
- "difficulty": 1,
171
+ "uuid": "36f47cc4-0c5e-4edc-b109-c9e007b7b1f8",
127
172
  "slug": "binary-search",
173
+ "core": false,
174
+ "unlocked_by": null,
175
+ "difficulty": 1,
128
176
  "topics": [
129
177
 
130
178
  ]
131
179
  },
132
180
  {
133
- "difficulty": 1,
181
+ "uuid": "097edd69-91b5-4a71-b197-a9c14b61c4ce",
134
182
  "slug": "perfect-numbers",
183
+ "core": false,
184
+ "unlocked_by": null,
185
+ "difficulty": 1,
135
186
  "topics": [
136
187
 
137
188
  ]
138
189
  },
139
190
  {
140
- "difficulty": 1,
191
+ "uuid": "1657cd1a-f3d8-475f-824f-31ba4d8e229a",
141
192
  "slug": "meetup",
193
+ "core": false,
194
+ "unlocked_by": null,
195
+ "difficulty": 1,
142
196
  "topics": [
143
197
 
144
198
  ]
145
199
  },
146
200
  {
147
- "difficulty": 1,
201
+ "uuid": "735e991b-f736-4ca2-80db-f94e20aa2319",
148
202
  "slug": "space-age",
203
+ "core": false,
204
+ "unlocked_by": null,
205
+ "difficulty": 1,
149
206
  "topics": [
150
207
 
151
208
  ]
152
209
  },
153
210
  {
154
- "difficulty": 1,
211
+ "uuid": "27b44b76-5e4f-4711-bce0-869e372636dd",
155
212
  "slug": "grains",
213
+ "core": false,
214
+ "unlocked_by": null,
215
+ "difficulty": 1,
156
216
  "topics": [
157
217
 
158
218
  ]
159
219
  },
160
220
  {
161
- "difficulty": 1,
221
+ "uuid": "23498ff3-310e-41b0-b15e-52fec2f2bfcb",
162
222
  "slug": "gigasecond",
223
+ "core": false,
224
+ "unlocked_by": null,
225
+ "difficulty": 1,
163
226
  "topics": [
164
227
 
165
228
  ]
166
229
  },
167
230
  {
168
- "difficulty": 1,
231
+ "uuid": "74f7eacd-d3de-4467-85b2-8590ba1f28ce",
169
232
  "slug": "triangle",
233
+ "core": false,
234
+ "unlocked_by": null,
235
+ "difficulty": 1,
170
236
  "topics": [
171
237
 
172
238
  ]
173
239
  },
174
240
  {
175
- "difficulty": 1,
241
+ "uuid": "01afac67-ff81-432e-b2a0-63f4540f2eb5",
176
242
  "slug": "scrabble-score",
243
+ "core": false,
244
+ "unlocked_by": null,
245
+ "difficulty": 1,
177
246
  "topics": [
178
247
 
179
248
  ]
180
249
  },
181
250
  {
182
- "difficulty": 1,
251
+ "uuid": "04d0369f-b0e5-4c00-a0f7-1b86eefba484",
183
252
  "slug": "roman-numerals",
253
+ "core": false,
254
+ "unlocked_by": null,
255
+ "difficulty": 1,
184
256
  "topics": [
185
257
 
186
258
  ]
187
259
  },
188
260
  {
189
- "difficulty": 1,
261
+ "uuid": "4c59731d-165a-43e1-9917-16131dadbbac",
190
262
  "slug": "binary",
263
+ "core": false,
264
+ "unlocked_by": null,
265
+ "difficulty": 1,
191
266
  "topics": [
192
267
 
193
268
  ]
194
269
  },
195
270
  {
196
- "difficulty": 1,
271
+ "uuid": "d32f41d4-e1b1-4daf-8ddc-a2ab9ee07c98",
197
272
  "slug": "trinary",
273
+ "core": false,
274
+ "unlocked_by": null,
275
+ "difficulty": 1,
198
276
  "topics": [
199
277
 
200
278
  ]
201
279
  },
202
280
  {
203
- "difficulty": 1,
281
+ "uuid": "068a0997-d333-48cb-a82a-c5082e85115d",
204
282
  "slug": "prime-factors",
283
+ "core": false,
284
+ "unlocked_by": null,
285
+ "difficulty": 1,
205
286
  "topics": [
206
287
 
207
288
  ]
208
289
  },
209
290
  {
210
- "difficulty": 1,
291
+ "uuid": "c1113f92-df4d-4d04-865f-20b8b2c56205",
211
292
  "slug": "raindrops",
293
+ "core": false,
294
+ "unlocked_by": null,
295
+ "difficulty": 1,
212
296
  "topics": [
213
297
 
214
298
  ]
215
299
  },
216
300
  {
217
- "difficulty": 1,
301
+ "uuid": "810803c7-4480-4e11-b848-d56477ba9d08",
218
302
  "slug": "allergies",
303
+ "core": false,
304
+ "unlocked_by": null,
305
+ "difficulty": 1,
219
306
  "topics": [
220
307
 
221
308
  ]
222
309
  },
223
310
  {
224
- "difficulty": 1,
311
+ "uuid": "db1a86fb-2f04-4afe-9e45-00b539c86b63",
225
312
  "slug": "octal",
313
+ "core": false,
314
+ "unlocked_by": null,
315
+ "difficulty": 1,
226
316
  "topics": [
227
317
 
228
318
  ]
229
319
  },
230
320
  {
231
- "difficulty": 1,
321
+ "uuid": "ad08dcef-14f7-406d-b3a5-4b5aad37ebf1",
232
322
  "slug": "strain",
323
+ "core": false,
324
+ "unlocked_by": null,
325
+ "difficulty": 1,
233
326
  "topics": [
234
327
 
235
328
  ]
236
329
  },
237
330
  {
238
- "difficulty": 1,
331
+ "uuid": "47266422-622e-4e20-b597-e85ab7bd3046",
239
332
  "slug": "atbash-cipher",
333
+ "core": false,
334
+ "unlocked_by": null,
335
+ "difficulty": 1,
240
336
  "topics": [
241
337
 
242
338
  ]
243
339
  },
244
340
  {
245
- "difficulty": 1,
341
+ "uuid": "e6848f52-a6b5-4669-9b50-beedfd3ebe2f",
246
342
  "slug": "bank-account",
343
+ "core": false,
344
+ "unlocked_by": null,
345
+ "difficulty": 1,
247
346
  "topics": [
248
347
 
249
348
  ]
250
349
  },
251
350
  {
252
- "difficulty": 1,
351
+ "uuid": "8b90d4c5-0d53-4664-afba-c4ed1c865e77",
253
352
  "slug": "crypto-square",
353
+ "core": false,
354
+ "unlocked_by": null,
355
+ "difficulty": 1,
254
356
  "topics": [
255
357
 
256
358
  ]
257
359
  },
258
360
  {
259
- "difficulty": 1,
361
+ "uuid": "9c8c4689-4990-4266-a02e-2dcb9fa32402",
260
362
  "slug": "pascals-triangle",
363
+ "core": false,
364
+ "unlocked_by": null,
365
+ "difficulty": 1,
261
366
  "topics": [
262
367
 
263
368
  ]
264
369
  },
265
370
  {
266
- "difficulty": 1,
371
+ "uuid": "a7e1d0a1-feb5-4a55-93c7-e7f81a39238c",
267
372
  "slug": "sum-of-multiples",
373
+ "core": false,
374
+ "unlocked_by": null,
375
+ "difficulty": 1,
268
376
  "topics": [
269
377
 
270
378
  ]
271
379
  },
272
380
  {
273
- "difficulty": 1,
381
+ "uuid": "910adfb9-be3e-45ef-af4c-facba7825cfd",
274
382
  "slug": "sieve",
383
+ "core": false,
384
+ "unlocked_by": null,
385
+ "difficulty": 1,
275
386
  "topics": [
276
387
 
277
388
  ]
278
389
  },
279
390
  {
280
- "difficulty": 1,
391
+ "uuid": "5f62a862-f65e-4af0-a15d-5aa1fdb4f970",
281
392
  "slug": "luhn",
393
+ "core": false,
394
+ "unlocked_by": null,
395
+ "difficulty": 1,
282
396
  "topics": [
283
397
 
284
398
  ]
285
399
  },
286
400
  {
287
- "difficulty": 1,
401
+ "uuid": "5288c0fb-a90d-4f71-b525-e9a7b687aaf2",
288
402
  "slug": "kindergarten-garden",
403
+ "core": false,
404
+ "unlocked_by": null,
405
+ "difficulty": 1,
289
406
  "topics": [
290
407
 
291
408
  ]
292
409
  },
293
410
  {
294
- "difficulty": 1,
411
+ "uuid": "e4f94fe1-7258-4e55-94c8-756a8080f898",
295
412
  "slug": "robot-simulator",
413
+ "core": false,
414
+ "unlocked_by": null,
415
+ "difficulty": 1,
296
416
  "topics": [
297
417
 
298
418
  ]
299
419
  },
300
420
  {
301
- "difficulty": 1,
421
+ "uuid": "0bc807ef-60b8-49d9-9428-0060bc5517a9",
302
422
  "slug": "queen-attack",
423
+ "core": false,
424
+ "unlocked_by": null,
425
+ "difficulty": 1,
303
426
  "topics": [
304
427
 
305
428
  ]
306
429
  },
307
430
  {
308
- "difficulty": 1,
431
+ "uuid": "73cdbbd8-04a6-42ba-aeea-1f1c8d53af70",
309
432
  "slug": "accumulate",
433
+ "core": false,
434
+ "unlocked_by": null,
435
+ "difficulty": 1,
310
436
  "topics": [
311
437
 
312
438
  ]
313
439
  },
314
440
  {
315
- "difficulty": 1,
441
+ "uuid": "62f3cbcb-2503-472f-9544-50e05e368949",
316
442
  "slug": "binary-search-tree",
443
+ "core": false,
444
+ "unlocked_by": null,
445
+ "difficulty": 1,
317
446
  "topics": [
318
447
 
319
448
  ]
320
449
  },
321
450
  {
322
- "difficulty": 1,
451
+ "uuid": "254199d8-8add-470f-a8fc-8ec9ffc54dd1",
323
452
  "slug": "difference-of-squares",
453
+ "core": false,
454
+ "unlocked_by": null,
455
+ "difficulty": 1,
324
456
  "topics": [
325
457
 
326
458
  ]
327
459
  },
328
460
  {
329
- "difficulty": 1,
461
+ "uuid": "8ede90b5-d1ad-41c3-8474-2ffaea39e7e4",
330
462
  "slug": "hexadecimal",
463
+ "core": false,
464
+ "unlocked_by": null,
465
+ "difficulty": 1,
331
466
  "topics": [
332
467
 
333
468
  ]
334
469
  },
335
470
  {
336
- "difficulty": 1,
471
+ "uuid": "b55eefa5-dce6-46fb-8c0e-4c476cc871ce",
337
472
  "slug": "all-your-base",
473
+ "core": false,
474
+ "unlocked_by": null,
475
+ "difficulty": 1,
338
476
  "topics": [
339
477
 
340
478
  ]
341
479
  },
342
480
  {
343
- "difficulty": 1,
481
+ "uuid": "eec9ea9a-fa32-4ea2-831e-0caccbca208b",
344
482
  "slug": "largest-series-product",
483
+ "core": false,
484
+ "unlocked_by": null,
485
+ "difficulty": 1,
345
486
  "topics": [
346
487
 
347
488
  ]
348
489
  },
349
490
  {
350
- "difficulty": 1,
491
+ "uuid": "ee9b837b-ea2f-4c77-9a3d-3d0007b9ae88",
351
492
  "slug": "pov",
493
+ "core": false,
494
+ "unlocked_by": null,
495
+ "difficulty": 1,
352
496
  "topics": [
353
497
 
354
498
  ]
355
499
  },
356
500
  {
357
- "difficulty": 1,
501
+ "uuid": "c8ebc25b-17b9-44a9-8cbe-df2c2eb6e2d6",
358
502
  "slug": "bracket-push",
503
+ "core": false,
504
+ "unlocked_by": null,
505
+ "difficulty": 1,
359
506
  "topics": [
360
507
 
361
508
  ]
362
509
  },
363
510
  {
364
- "difficulty": 1,
511
+ "uuid": "2d35d9b3-5cff-4e68-a861-1461b32e22ba",
365
512
  "slug": "minesweeper",
513
+ "core": false,
514
+ "unlocked_by": null,
515
+ "difficulty": 1,
366
516
  "topics": [
367
517
 
368
518
  ]
369
519
  },
370
520
  {
371
- "difficulty": 1,
521
+ "uuid": "6fd886e5-94b0-4938-9f48-f4c6850027a0",
372
522
  "slug": "change",
523
+ "core": false,
524
+ "unlocked_by": null,
525
+ "difficulty": 1,
373
526
  "topics": [
374
527
 
375
528
  ]
376
529
  },
377
530
  {
378
- "difficulty": 1,
531
+ "uuid": "398f65f2-2324-4b08-945d-a9fbd62d1a41",
379
532
  "slug": "pangram",
533
+ "core": false,
534
+ "unlocked_by": null,
535
+ "difficulty": 1,
380
536
  "topics": [
381
537
 
382
538
  ]
383
539
  },
384
540
  {
385
- "difficulty": 1,
541
+ "uuid": "4a2033a7-5579-49ac-94d7-8693cee45381",
386
542
  "slug": "wordy",
543
+ "core": false,
544
+ "unlocked_by": null,
545
+ "difficulty": 1,
387
546
  "topics": [
388
547
 
389
548
  ]
390
549
  },
391
550
  {
392
- "difficulty": 1,
551
+ "uuid": "1fc5c2e9-2851-4735-8fde-612a8c054a5a",
393
552
  "slug": "isogram",
553
+ "core": false,
554
+ "unlocked_by": null,
555
+ "difficulty": 1,
394
556
  "topics": [
395
557
 
396
558
  ]
397
559
  },
398
560
  {
399
- "difficulty": 1,
561
+ "uuid": "e14a4261-c84f-417e-841e-29ff6f1f533d",
400
562
  "slug": "acronym",
563
+ "core": false,
564
+ "unlocked_by": null,
565
+ "difficulty": 1,
401
566
  "topics": [
402
567
 
403
568
  ]
404
569
  },
405
570
  {
406
- "difficulty": 1,
571
+ "uuid": "d380de85-4d35-4342-9b88-7402deea2869",
407
572
  "slug": "nth-prime",
573
+ "core": false,
574
+ "unlocked_by": null,
575
+ "difficulty": 1,
408
576
  "topics": [
409
577
 
410
578
  ]
411
579
  },
412
580
  {
413
- "difficulty": 1,
581
+ "uuid": "6768b55e-bab3-4e55-ac71-ddda0bd16298",
414
582
  "slug": "pig-latin",
583
+ "core": false,
584
+ "unlocked_by": null,
585
+ "difficulty": 1,
415
586
  "topics": [
416
587
 
417
588
  ]
418
589
  },
419
590
  {
420
- "difficulty": 1,
591
+ "uuid": "2cc37c2a-7e6c-49ba-8b30-2ff8c9d818c2",
421
592
  "slug": "secret-handshake",
593
+ "core": false,
594
+ "unlocked_by": null,
595
+ "difficulty": 1,
422
596
  "topics": [
423
597
 
424
598
  ]
425
599
  },
426
600
  {
427
- "difficulty": 1,
601
+ "uuid": "622823dc-ee47-42a0-acc6-190de4541625",
428
602
  "slug": "rotational-cipher",
603
+ "core": false,
604
+ "unlocked_by": null,
605
+ "difficulty": 1,
429
606
  "topics": [
430
607
 
431
608
  ]