hyperdivlite 0.1.9__py3-none-any.whl

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.
Files changed (2380) hide show
  1. frontend/public/build/bundle.css +1616 -0
  2. frontend/public/build/bundle.js +6738 -0
  3. frontend/public/build/shoelace/assets/icons/0-circle-fill.svg +4 -0
  4. frontend/public/build/shoelace/assets/icons/0-circle.svg +4 -0
  5. frontend/public/build/shoelace/assets/icons/0-square-fill.svg +4 -0
  6. frontend/public/build/shoelace/assets/icons/0-square.svg +4 -0
  7. frontend/public/build/shoelace/assets/icons/1-circle-fill.svg +3 -0
  8. frontend/public/build/shoelace/assets/icons/1-circle.svg +3 -0
  9. frontend/public/build/shoelace/assets/icons/1-square-fill.svg +3 -0
  10. frontend/public/build/shoelace/assets/icons/1-square.svg +4 -0
  11. frontend/public/build/shoelace/assets/icons/123.svg +3 -0
  12. frontend/public/build/shoelace/assets/icons/2-circle-fill.svg +3 -0
  13. frontend/public/build/shoelace/assets/icons/2-circle.svg +3 -0
  14. frontend/public/build/shoelace/assets/icons/2-square-fill.svg +3 -0
  15. frontend/public/build/shoelace/assets/icons/2-square.svg +4 -0
  16. frontend/public/build/shoelace/assets/icons/3-circle-fill.svg +3 -0
  17. frontend/public/build/shoelace/assets/icons/3-circle.svg +4 -0
  18. frontend/public/build/shoelace/assets/icons/3-square-fill.svg +3 -0
  19. frontend/public/build/shoelace/assets/icons/3-square.svg +4 -0
  20. frontend/public/build/shoelace/assets/icons/4-circle-fill.svg +3 -0
  21. frontend/public/build/shoelace/assets/icons/4-circle.svg +4 -0
  22. frontend/public/build/shoelace/assets/icons/4-square-fill.svg +4 -0
  23. frontend/public/build/shoelace/assets/icons/4-square.svg +4 -0
  24. frontend/public/build/shoelace/assets/icons/5-circle-fill.svg +3 -0
  25. frontend/public/build/shoelace/assets/icons/5-circle.svg +3 -0
  26. frontend/public/build/shoelace/assets/icons/5-square-fill.svg +3 -0
  27. frontend/public/build/shoelace/assets/icons/5-square.svg +4 -0
  28. frontend/public/build/shoelace/assets/icons/6-circle-fill.svg +3 -0
  29. frontend/public/build/shoelace/assets/icons/6-circle.svg +3 -0
  30. frontend/public/build/shoelace/assets/icons/6-square-fill.svg +4 -0
  31. frontend/public/build/shoelace/assets/icons/6-square.svg +4 -0
  32. frontend/public/build/shoelace/assets/icons/7-circle-fill.svg +3 -0
  33. frontend/public/build/shoelace/assets/icons/7-circle.svg +3 -0
  34. frontend/public/build/shoelace/assets/icons/7-square-fill.svg +3 -0
  35. frontend/public/build/shoelace/assets/icons/7-square.svg +4 -0
  36. frontend/public/build/shoelace/assets/icons/8-circle-fill.svg +3 -0
  37. frontend/public/build/shoelace/assets/icons/8-circle.svg +3 -0
  38. frontend/public/build/shoelace/assets/icons/8-square-fill.svg +4 -0
  39. frontend/public/build/shoelace/assets/icons/8-square.svg +4 -0
  40. frontend/public/build/shoelace/assets/icons/9-circle-fill.svg +3 -0
  41. frontend/public/build/shoelace/assets/icons/9-circle.svg +3 -0
  42. frontend/public/build/shoelace/assets/icons/9-square-fill.svg +4 -0
  43. frontend/public/build/shoelace/assets/icons/9-square.svg +4 -0
  44. frontend/public/build/shoelace/assets/icons/LICENSE +21 -0
  45. frontend/public/build/shoelace/assets/icons/activity.svg +3 -0
  46. frontend/public/build/shoelace/assets/icons/airplane-engines-fill.svg +3 -0
  47. frontend/public/build/shoelace/assets/icons/airplane-engines.svg +3 -0
  48. frontend/public/build/shoelace/assets/icons/airplane-fill.svg +3 -0
  49. frontend/public/build/shoelace/assets/icons/airplane.svg +3 -0
  50. frontend/public/build/shoelace/assets/icons/alarm-fill.svg +3 -0
  51. frontend/public/build/shoelace/assets/icons/alarm.svg +4 -0
  52. frontend/public/build/shoelace/assets/icons/alexa.svg +3 -0
  53. frontend/public/build/shoelace/assets/icons/align-bottom.svg +4 -0
  54. frontend/public/build/shoelace/assets/icons/align-center.svg +3 -0
  55. frontend/public/build/shoelace/assets/icons/align-end.svg +4 -0
  56. frontend/public/build/shoelace/assets/icons/align-middle.svg +3 -0
  57. frontend/public/build/shoelace/assets/icons/align-start.svg +4 -0
  58. frontend/public/build/shoelace/assets/icons/align-top.svg +4 -0
  59. frontend/public/build/shoelace/assets/icons/alipay.svg +4 -0
  60. frontend/public/build/shoelace/assets/icons/alphabet-uppercase.svg +3 -0
  61. frontend/public/build/shoelace/assets/icons/alphabet.svg +3 -0
  62. frontend/public/build/shoelace/assets/icons/alt.svg +3 -0
  63. frontend/public/build/shoelace/assets/icons/amazon.svg +4 -0
  64. frontend/public/build/shoelace/assets/icons/amd.svg +3 -0
  65. frontend/public/build/shoelace/assets/icons/android.svg +3 -0
  66. frontend/public/build/shoelace/assets/icons/android2.svg +3 -0
  67. frontend/public/build/shoelace/assets/icons/app-indicator.svg +4 -0
  68. frontend/public/build/shoelace/assets/icons/app.svg +3 -0
  69. frontend/public/build/shoelace/assets/icons/apple.svg +4 -0
  70. frontend/public/build/shoelace/assets/icons/archive-fill.svg +3 -0
  71. frontend/public/build/shoelace/assets/icons/archive.svg +3 -0
  72. frontend/public/build/shoelace/assets/icons/arrow-90deg-down.svg +3 -0
  73. frontend/public/build/shoelace/assets/icons/arrow-90deg-left.svg +3 -0
  74. frontend/public/build/shoelace/assets/icons/arrow-90deg-right.svg +3 -0
  75. frontend/public/build/shoelace/assets/icons/arrow-90deg-up.svg +3 -0
  76. frontend/public/build/shoelace/assets/icons/arrow-bar-down.svg +3 -0
  77. frontend/public/build/shoelace/assets/icons/arrow-bar-left.svg +3 -0
  78. frontend/public/build/shoelace/assets/icons/arrow-bar-right.svg +3 -0
  79. frontend/public/build/shoelace/assets/icons/arrow-bar-up.svg +3 -0
  80. frontend/public/build/shoelace/assets/icons/arrow-clockwise.svg +4 -0
  81. frontend/public/build/shoelace/assets/icons/arrow-counterclockwise.svg +4 -0
  82. frontend/public/build/shoelace/assets/icons/arrow-down-circle-fill.svg +3 -0
  83. frontend/public/build/shoelace/assets/icons/arrow-down-circle.svg +3 -0
  84. frontend/public/build/shoelace/assets/icons/arrow-down-left-circle-fill.svg +3 -0
  85. frontend/public/build/shoelace/assets/icons/arrow-down-left-circle.svg +3 -0
  86. frontend/public/build/shoelace/assets/icons/arrow-down-left-square-fill.svg +3 -0
  87. frontend/public/build/shoelace/assets/icons/arrow-down-left-square.svg +3 -0
  88. frontend/public/build/shoelace/assets/icons/arrow-down-left.svg +3 -0
  89. frontend/public/build/shoelace/assets/icons/arrow-down-right-circle-fill.svg +3 -0
  90. frontend/public/build/shoelace/assets/icons/arrow-down-right-circle.svg +3 -0
  91. frontend/public/build/shoelace/assets/icons/arrow-down-right-square-fill.svg +3 -0
  92. frontend/public/build/shoelace/assets/icons/arrow-down-right-square.svg +3 -0
  93. frontend/public/build/shoelace/assets/icons/arrow-down-right.svg +3 -0
  94. frontend/public/build/shoelace/assets/icons/arrow-down-short.svg +3 -0
  95. frontend/public/build/shoelace/assets/icons/arrow-down-square-fill.svg +3 -0
  96. frontend/public/build/shoelace/assets/icons/arrow-down-square.svg +3 -0
  97. frontend/public/build/shoelace/assets/icons/arrow-down-up.svg +3 -0
  98. frontend/public/build/shoelace/assets/icons/arrow-down.svg +3 -0
  99. frontend/public/build/shoelace/assets/icons/arrow-left-circle-fill.svg +3 -0
  100. frontend/public/build/shoelace/assets/icons/arrow-left-circle.svg +3 -0
  101. frontend/public/build/shoelace/assets/icons/arrow-left-right.svg +3 -0
  102. frontend/public/build/shoelace/assets/icons/arrow-left-short.svg +3 -0
  103. frontend/public/build/shoelace/assets/icons/arrow-left-square-fill.svg +3 -0
  104. frontend/public/build/shoelace/assets/icons/arrow-left-square.svg +3 -0
  105. frontend/public/build/shoelace/assets/icons/arrow-left.svg +3 -0
  106. frontend/public/build/shoelace/assets/icons/arrow-repeat.svg +4 -0
  107. frontend/public/build/shoelace/assets/icons/arrow-return-left.svg +3 -0
  108. frontend/public/build/shoelace/assets/icons/arrow-return-right.svg +3 -0
  109. frontend/public/build/shoelace/assets/icons/arrow-right-circle-fill.svg +3 -0
  110. frontend/public/build/shoelace/assets/icons/arrow-right-circle.svg +3 -0
  111. frontend/public/build/shoelace/assets/icons/arrow-right-short.svg +3 -0
  112. frontend/public/build/shoelace/assets/icons/arrow-right-square-fill.svg +3 -0
  113. frontend/public/build/shoelace/assets/icons/arrow-right-square.svg +3 -0
  114. frontend/public/build/shoelace/assets/icons/arrow-right.svg +3 -0
  115. frontend/public/build/shoelace/assets/icons/arrow-through-heart-fill.svg +3 -0
  116. frontend/public/build/shoelace/assets/icons/arrow-through-heart.svg +3 -0
  117. frontend/public/build/shoelace/assets/icons/arrow-up-circle-fill.svg +3 -0
  118. frontend/public/build/shoelace/assets/icons/arrow-up-circle.svg +3 -0
  119. frontend/public/build/shoelace/assets/icons/arrow-up-left-circle-fill.svg +3 -0
  120. frontend/public/build/shoelace/assets/icons/arrow-up-left-circle.svg +3 -0
  121. frontend/public/build/shoelace/assets/icons/arrow-up-left-square-fill.svg +3 -0
  122. frontend/public/build/shoelace/assets/icons/arrow-up-left-square.svg +3 -0
  123. frontend/public/build/shoelace/assets/icons/arrow-up-left.svg +3 -0
  124. frontend/public/build/shoelace/assets/icons/arrow-up-right-circle-fill.svg +3 -0
  125. frontend/public/build/shoelace/assets/icons/arrow-up-right-circle.svg +3 -0
  126. frontend/public/build/shoelace/assets/icons/arrow-up-right-square-fill.svg +3 -0
  127. frontend/public/build/shoelace/assets/icons/arrow-up-right-square.svg +3 -0
  128. frontend/public/build/shoelace/assets/icons/arrow-up-right.svg +3 -0
  129. frontend/public/build/shoelace/assets/icons/arrow-up-short.svg +3 -0
  130. frontend/public/build/shoelace/assets/icons/arrow-up-square-fill.svg +3 -0
  131. frontend/public/build/shoelace/assets/icons/arrow-up-square.svg +3 -0
  132. frontend/public/build/shoelace/assets/icons/arrow-up.svg +3 -0
  133. frontend/public/build/shoelace/assets/icons/arrows-angle-contract.svg +3 -0
  134. frontend/public/build/shoelace/assets/icons/arrows-angle-expand.svg +3 -0
  135. frontend/public/build/shoelace/assets/icons/arrows-collapse-vertical.svg +3 -0
  136. frontend/public/build/shoelace/assets/icons/arrows-collapse.svg +3 -0
  137. frontend/public/build/shoelace/assets/icons/arrows-expand-vertical.svg +3 -0
  138. frontend/public/build/shoelace/assets/icons/arrows-expand.svg +3 -0
  139. frontend/public/build/shoelace/assets/icons/arrows-fullscreen.svg +3 -0
  140. frontend/public/build/shoelace/assets/icons/arrows-move.svg +3 -0
  141. frontend/public/build/shoelace/assets/icons/arrows-vertical.svg +3 -0
  142. frontend/public/build/shoelace/assets/icons/arrows.svg +3 -0
  143. frontend/public/build/shoelace/assets/icons/aspect-ratio-fill.svg +3 -0
  144. frontend/public/build/shoelace/assets/icons/aspect-ratio.svg +4 -0
  145. frontend/public/build/shoelace/assets/icons/asterisk.svg +3 -0
  146. frontend/public/build/shoelace/assets/icons/at.svg +3 -0
  147. frontend/public/build/shoelace/assets/icons/award-fill.svg +4 -0
  148. frontend/public/build/shoelace/assets/icons/award.svg +4 -0
  149. frontend/public/build/shoelace/assets/icons/back.svg +3 -0
  150. frontend/public/build/shoelace/assets/icons/backpack-fill.svg +4 -0
  151. frontend/public/build/shoelace/assets/icons/backpack.svg +4 -0
  152. frontend/public/build/shoelace/assets/icons/backpack2-fill.svg +4 -0
  153. frontend/public/build/shoelace/assets/icons/backpack2.svg +5 -0
  154. frontend/public/build/shoelace/assets/icons/backpack3-fill.svg +4 -0
  155. frontend/public/build/shoelace/assets/icons/backpack3.svg +4 -0
  156. frontend/public/build/shoelace/assets/icons/backpack4-fill.svg +4 -0
  157. frontend/public/build/shoelace/assets/icons/backpack4.svg +4 -0
  158. frontend/public/build/shoelace/assets/icons/backspace-fill.svg +3 -0
  159. frontend/public/build/shoelace/assets/icons/backspace-reverse-fill.svg +3 -0
  160. frontend/public/build/shoelace/assets/icons/backspace-reverse.svg +4 -0
  161. frontend/public/build/shoelace/assets/icons/backspace.svg +4 -0
  162. frontend/public/build/shoelace/assets/icons/badge-3d-fill.svg +4 -0
  163. frontend/public/build/shoelace/assets/icons/badge-3d.svg +4 -0
  164. frontend/public/build/shoelace/assets/icons/badge-4k-fill.svg +4 -0
  165. frontend/public/build/shoelace/assets/icons/badge-4k.svg +4 -0
  166. frontend/public/build/shoelace/assets/icons/badge-8k-fill.svg +4 -0
  167. frontend/public/build/shoelace/assets/icons/badge-8k.svg +4 -0
  168. frontend/public/build/shoelace/assets/icons/badge-ad-fill.svg +4 -0
  169. frontend/public/build/shoelace/assets/icons/badge-ad.svg +4 -0
  170. frontend/public/build/shoelace/assets/icons/badge-ar-fill.svg +4 -0
  171. frontend/public/build/shoelace/assets/icons/badge-ar.svg +4 -0
  172. frontend/public/build/shoelace/assets/icons/badge-cc-fill.svg +3 -0
  173. frontend/public/build/shoelace/assets/icons/badge-cc.svg +4 -0
  174. frontend/public/build/shoelace/assets/icons/badge-hd-fill.svg +4 -0
  175. frontend/public/build/shoelace/assets/icons/badge-hd.svg +4 -0
  176. frontend/public/build/shoelace/assets/icons/badge-sd-fill.svg +4 -0
  177. frontend/public/build/shoelace/assets/icons/badge-sd.svg +3 -0
  178. frontend/public/build/shoelace/assets/icons/badge-tm-fill.svg +3 -0
  179. frontend/public/build/shoelace/assets/icons/badge-tm.svg +4 -0
  180. frontend/public/build/shoelace/assets/icons/badge-vo-fill.svg +4 -0
  181. frontend/public/build/shoelace/assets/icons/badge-vo.svg +4 -0
  182. frontend/public/build/shoelace/assets/icons/badge-vr-fill.svg +4 -0
  183. frontend/public/build/shoelace/assets/icons/badge-vr.svg +4 -0
  184. frontend/public/build/shoelace/assets/icons/badge-wc-fill.svg +3 -0
  185. frontend/public/build/shoelace/assets/icons/badge-wc.svg +4 -0
  186. frontend/public/build/shoelace/assets/icons/bag-check-fill.svg +3 -0
  187. frontend/public/build/shoelace/assets/icons/bag-check.svg +4 -0
  188. frontend/public/build/shoelace/assets/icons/bag-dash-fill.svg +3 -0
  189. frontend/public/build/shoelace/assets/icons/bag-dash.svg +4 -0
  190. frontend/public/build/shoelace/assets/icons/bag-fill.svg +3 -0
  191. frontend/public/build/shoelace/assets/icons/bag-heart-fill.svg +3 -0
  192. frontend/public/build/shoelace/assets/icons/bag-heart.svg +3 -0
  193. frontend/public/build/shoelace/assets/icons/bag-plus-fill.svg +3 -0
  194. frontend/public/build/shoelace/assets/icons/bag-plus.svg +4 -0
  195. frontend/public/build/shoelace/assets/icons/bag-x-fill.svg +3 -0
  196. frontend/public/build/shoelace/assets/icons/bag-x.svg +4 -0
  197. frontend/public/build/shoelace/assets/icons/bag.svg +3 -0
  198. frontend/public/build/shoelace/assets/icons/balloon-fill.svg +3 -0
  199. frontend/public/build/shoelace/assets/icons/balloon-heart-fill.svg +3 -0
  200. frontend/public/build/shoelace/assets/icons/balloon-heart.svg +3 -0
  201. frontend/public/build/shoelace/assets/icons/balloon.svg +3 -0
  202. frontend/public/build/shoelace/assets/icons/ban-fill.svg +3 -0
  203. frontend/public/build/shoelace/assets/icons/ban.svg +3 -0
  204. frontend/public/build/shoelace/assets/icons/bandaid-fill.svg +3 -0
  205. frontend/public/build/shoelace/assets/icons/bandaid.svg +4 -0
  206. frontend/public/build/shoelace/assets/icons/bank.svg +3 -0
  207. frontend/public/build/shoelace/assets/icons/bank2.svg +3 -0
  208. frontend/public/build/shoelace/assets/icons/bar-chart-fill.svg +3 -0
  209. frontend/public/build/shoelace/assets/icons/bar-chart-line-fill.svg +3 -0
  210. frontend/public/build/shoelace/assets/icons/bar-chart-line.svg +3 -0
  211. frontend/public/build/shoelace/assets/icons/bar-chart-steps.svg +3 -0
  212. frontend/public/build/shoelace/assets/icons/bar-chart.svg +3 -0
  213. frontend/public/build/shoelace/assets/icons/basket-fill.svg +3 -0
  214. frontend/public/build/shoelace/assets/icons/basket.svg +3 -0
  215. frontend/public/build/shoelace/assets/icons/basket2-fill.svg +3 -0
  216. frontend/public/build/shoelace/assets/icons/basket2.svg +4 -0
  217. frontend/public/build/shoelace/assets/icons/basket3-fill.svg +3 -0
  218. frontend/public/build/shoelace/assets/icons/basket3.svg +3 -0
  219. frontend/public/build/shoelace/assets/icons/battery-charging.svg +6 -0
  220. frontend/public/build/shoelace/assets/icons/battery-full.svg +4 -0
  221. frontend/public/build/shoelace/assets/icons/battery-half.svg +4 -0
  222. frontend/public/build/shoelace/assets/icons/battery.svg +3 -0
  223. frontend/public/build/shoelace/assets/icons/behance.svg +3 -0
  224. frontend/public/build/shoelace/assets/icons/bell-fill.svg +3 -0
  225. frontend/public/build/shoelace/assets/icons/bell-slash-fill.svg +3 -0
  226. frontend/public/build/shoelace/assets/icons/bell-slash.svg +3 -0
  227. frontend/public/build/shoelace/assets/icons/bell.svg +3 -0
  228. frontend/public/build/shoelace/assets/icons/bezier.svg +4 -0
  229. frontend/public/build/shoelace/assets/icons/bezier2.svg +3 -0
  230. frontend/public/build/shoelace/assets/icons/bicycle.svg +3 -0
  231. frontend/public/build/shoelace/assets/icons/bing.svg +5 -0
  232. frontend/public/build/shoelace/assets/icons/binoculars-fill.svg +3 -0
  233. frontend/public/build/shoelace/assets/icons/binoculars.svg +3 -0
  234. frontend/public/build/shoelace/assets/icons/blockquote-left.svg +3 -0
  235. frontend/public/build/shoelace/assets/icons/blockquote-right.svg +3 -0
  236. frontend/public/build/shoelace/assets/icons/bluetooth.svg +3 -0
  237. frontend/public/build/shoelace/assets/icons/body-text.svg +3 -0
  238. frontend/public/build/shoelace/assets/icons/book-fill.svg +3 -0
  239. frontend/public/build/shoelace/assets/icons/book-half.svg +3 -0
  240. frontend/public/build/shoelace/assets/icons/book.svg +3 -0
  241. frontend/public/build/shoelace/assets/icons/bookmark-check-fill.svg +3 -0
  242. frontend/public/build/shoelace/assets/icons/bookmark-check.svg +4 -0
  243. frontend/public/build/shoelace/assets/icons/bookmark-dash-fill.svg +3 -0
  244. frontend/public/build/shoelace/assets/icons/bookmark-dash.svg +4 -0
  245. frontend/public/build/shoelace/assets/icons/bookmark-fill.svg +3 -0
  246. frontend/public/build/shoelace/assets/icons/bookmark-heart-fill.svg +3 -0
  247. frontend/public/build/shoelace/assets/icons/bookmark-heart.svg +4 -0
  248. frontend/public/build/shoelace/assets/icons/bookmark-plus-fill.svg +3 -0
  249. frontend/public/build/shoelace/assets/icons/bookmark-plus.svg +4 -0
  250. frontend/public/build/shoelace/assets/icons/bookmark-star-fill.svg +3 -0
  251. frontend/public/build/shoelace/assets/icons/bookmark-star.svg +4 -0
  252. frontend/public/build/shoelace/assets/icons/bookmark-x-fill.svg +3 -0
  253. frontend/public/build/shoelace/assets/icons/bookmark-x.svg +4 -0
  254. frontend/public/build/shoelace/assets/icons/bookmark.svg +3 -0
  255. frontend/public/build/shoelace/assets/icons/bookmarks-fill.svg +4 -0
  256. frontend/public/build/shoelace/assets/icons/bookmarks.svg +4 -0
  257. frontend/public/build/shoelace/assets/icons/bookshelf.svg +3 -0
  258. frontend/public/build/shoelace/assets/icons/boombox-fill.svg +4 -0
  259. frontend/public/build/shoelace/assets/icons/boombox.svg +6 -0
  260. frontend/public/build/shoelace/assets/icons/bootstrap-fill.svg +4 -0
  261. frontend/public/build/shoelace/assets/icons/bootstrap-reboot.svg +4 -0
  262. frontend/public/build/shoelace/assets/icons/bootstrap.svg +4 -0
  263. frontend/public/build/shoelace/assets/icons/border-all.svg +3 -0
  264. frontend/public/build/shoelace/assets/icons/border-bottom.svg +3 -0
  265. frontend/public/build/shoelace/assets/icons/border-center.svg +3 -0
  266. frontend/public/build/shoelace/assets/icons/border-inner.svg +5 -0
  267. frontend/public/build/shoelace/assets/icons/border-left.svg +3 -0
  268. frontend/public/build/shoelace/assets/icons/border-middle.svg +3 -0
  269. frontend/public/build/shoelace/assets/icons/border-outer.svg +4 -0
  270. frontend/public/build/shoelace/assets/icons/border-right.svg +3 -0
  271. frontend/public/build/shoelace/assets/icons/border-style.svg +3 -0
  272. frontend/public/build/shoelace/assets/icons/border-top.svg +3 -0
  273. frontend/public/build/shoelace/assets/icons/border-width.svg +3 -0
  274. frontend/public/build/shoelace/assets/icons/border.svg +3 -0
  275. frontend/public/build/shoelace/assets/icons/bounding-box-circles.svg +3 -0
  276. frontend/public/build/shoelace/assets/icons/bounding-box.svg +3 -0
  277. frontend/public/build/shoelace/assets/icons/box-arrow-down-left.svg +4 -0
  278. frontend/public/build/shoelace/assets/icons/box-arrow-down-right.svg +4 -0
  279. frontend/public/build/shoelace/assets/icons/box-arrow-down.svg +4 -0
  280. frontend/public/build/shoelace/assets/icons/box-arrow-in-down-left.svg +4 -0
  281. frontend/public/build/shoelace/assets/icons/box-arrow-in-down-right.svg +4 -0
  282. frontend/public/build/shoelace/assets/icons/box-arrow-in-down.svg +4 -0
  283. frontend/public/build/shoelace/assets/icons/box-arrow-in-left.svg +4 -0
  284. frontend/public/build/shoelace/assets/icons/box-arrow-in-right.svg +4 -0
  285. frontend/public/build/shoelace/assets/icons/box-arrow-in-up-left.svg +4 -0
  286. frontend/public/build/shoelace/assets/icons/box-arrow-in-up-right.svg +4 -0
  287. frontend/public/build/shoelace/assets/icons/box-arrow-in-up.svg +4 -0
  288. frontend/public/build/shoelace/assets/icons/box-arrow-left.svg +4 -0
  289. frontend/public/build/shoelace/assets/icons/box-arrow-right.svg +4 -0
  290. frontend/public/build/shoelace/assets/icons/box-arrow-up-left.svg +4 -0
  291. frontend/public/build/shoelace/assets/icons/box-arrow-up-right.svg +4 -0
  292. frontend/public/build/shoelace/assets/icons/box-arrow-up.svg +4 -0
  293. frontend/public/build/shoelace/assets/icons/box-fill.svg +3 -0
  294. frontend/public/build/shoelace/assets/icons/box-seam-fill.svg +3 -0
  295. frontend/public/build/shoelace/assets/icons/box-seam.svg +3 -0
  296. frontend/public/build/shoelace/assets/icons/box.svg +3 -0
  297. frontend/public/build/shoelace/assets/icons/box2-fill.svg +3 -0
  298. frontend/public/build/shoelace/assets/icons/box2-heart-fill.svg +3 -0
  299. frontend/public/build/shoelace/assets/icons/box2-heart.svg +4 -0
  300. frontend/public/build/shoelace/assets/icons/box2.svg +3 -0
  301. frontend/public/build/shoelace/assets/icons/boxes.svg +3 -0
  302. frontend/public/build/shoelace/assets/icons/braces-asterisk.svg +3 -0
  303. frontend/public/build/shoelace/assets/icons/braces.svg +3 -0
  304. frontend/public/build/shoelace/assets/icons/bricks.svg +3 -0
  305. frontend/public/build/shoelace/assets/icons/briefcase-fill.svg +4 -0
  306. frontend/public/build/shoelace/assets/icons/briefcase.svg +3 -0
  307. frontend/public/build/shoelace/assets/icons/brightness-alt-high-fill.svg +3 -0
  308. frontend/public/build/shoelace/assets/icons/brightness-alt-high.svg +3 -0
  309. frontend/public/build/shoelace/assets/icons/brightness-alt-low-fill.svg +3 -0
  310. frontend/public/build/shoelace/assets/icons/brightness-alt-low.svg +3 -0
  311. frontend/public/build/shoelace/assets/icons/brightness-high-fill.svg +3 -0
  312. frontend/public/build/shoelace/assets/icons/brightness-high.svg +3 -0
  313. frontend/public/build/shoelace/assets/icons/brightness-low-fill.svg +3 -0
  314. frontend/public/build/shoelace/assets/icons/brightness-low.svg +3 -0
  315. frontend/public/build/shoelace/assets/icons/brilliance.svg +3 -0
  316. frontend/public/build/shoelace/assets/icons/broadcast-pin.svg +3 -0
  317. frontend/public/build/shoelace/assets/icons/broadcast.svg +3 -0
  318. frontend/public/build/shoelace/assets/icons/browser-chrome.svg +3 -0
  319. frontend/public/build/shoelace/assets/icons/browser-edge.svg +5 -0
  320. frontend/public/build/shoelace/assets/icons/browser-firefox.svg +3 -0
  321. frontend/public/build/shoelace/assets/icons/browser-safari.svg +3 -0
  322. frontend/public/build/shoelace/assets/icons/brush-fill.svg +3 -0
  323. frontend/public/build/shoelace/assets/icons/brush.svg +3 -0
  324. frontend/public/build/shoelace/assets/icons/bucket-fill.svg +3 -0
  325. frontend/public/build/shoelace/assets/icons/bucket.svg +3 -0
  326. frontend/public/build/shoelace/assets/icons/bug-fill.svg +4 -0
  327. frontend/public/build/shoelace/assets/icons/bug.svg +3 -0
  328. frontend/public/build/shoelace/assets/icons/building-add.svg +5 -0
  329. frontend/public/build/shoelace/assets/icons/building-check.svg +5 -0
  330. frontend/public/build/shoelace/assets/icons/building-dash.svg +5 -0
  331. frontend/public/build/shoelace/assets/icons/building-down.svg +5 -0
  332. frontend/public/build/shoelace/assets/icons/building-exclamation.svg +4 -0
  333. frontend/public/build/shoelace/assets/icons/building-fill-add.svg +4 -0
  334. frontend/public/build/shoelace/assets/icons/building-fill-check.svg +4 -0
  335. frontend/public/build/shoelace/assets/icons/building-fill-dash.svg +4 -0
  336. frontend/public/build/shoelace/assets/icons/building-fill-down.svg +4 -0
  337. frontend/public/build/shoelace/assets/icons/building-fill-exclamation.svg +4 -0
  338. frontend/public/build/shoelace/assets/icons/building-fill-gear.svg +4 -0
  339. frontend/public/build/shoelace/assets/icons/building-fill-lock.svg +4 -0
  340. frontend/public/build/shoelace/assets/icons/building-fill-slash.svg +4 -0
  341. frontend/public/build/shoelace/assets/icons/building-fill-up.svg +4 -0
  342. frontend/public/build/shoelace/assets/icons/building-fill-x.svg +4 -0
  343. frontend/public/build/shoelace/assets/icons/building-fill.svg +3 -0
  344. frontend/public/build/shoelace/assets/icons/building-gear.svg +4 -0
  345. frontend/public/build/shoelace/assets/icons/building-lock.svg +4 -0
  346. frontend/public/build/shoelace/assets/icons/building-slash.svg +5 -0
  347. frontend/public/build/shoelace/assets/icons/building-up.svg +5 -0
  348. frontend/public/build/shoelace/assets/icons/building-x.svg +4 -0
  349. frontend/public/build/shoelace/assets/icons/building.svg +4 -0
  350. frontend/public/build/shoelace/assets/icons/buildings-fill.svg +3 -0
  351. frontend/public/build/shoelace/assets/icons/buildings.svg +4 -0
  352. frontend/public/build/shoelace/assets/icons/bullseye.svg +6 -0
  353. frontend/public/build/shoelace/assets/icons/bus-front-fill.svg +3 -0
  354. frontend/public/build/shoelace/assets/icons/bus-front.svg +4 -0
  355. frontend/public/build/shoelace/assets/icons/c-circle-fill.svg +3 -0
  356. frontend/public/build/shoelace/assets/icons/c-circle.svg +3 -0
  357. frontend/public/build/shoelace/assets/icons/c-square-fill.svg +3 -0
  358. frontend/public/build/shoelace/assets/icons/c-square.svg +4 -0
  359. frontend/public/build/shoelace/assets/icons/cake-fill.svg +3 -0
  360. frontend/public/build/shoelace/assets/icons/cake.svg +3 -0
  361. frontend/public/build/shoelace/assets/icons/cake2-fill.svg +4 -0
  362. frontend/public/build/shoelace/assets/icons/cake2.svg +3 -0
  363. frontend/public/build/shoelace/assets/icons/calculator-fill.svg +3 -0
  364. frontend/public/build/shoelace/assets/icons/calculator.svg +4 -0
  365. frontend/public/build/shoelace/assets/icons/calendar-check-fill.svg +3 -0
  366. frontend/public/build/shoelace/assets/icons/calendar-check.svg +4 -0
  367. frontend/public/build/shoelace/assets/icons/calendar-date-fill.svg +4 -0
  368. frontend/public/build/shoelace/assets/icons/calendar-date.svg +4 -0
  369. frontend/public/build/shoelace/assets/icons/calendar-day-fill.svg +3 -0
  370. frontend/public/build/shoelace/assets/icons/calendar-day.svg +4 -0
  371. frontend/public/build/shoelace/assets/icons/calendar-event-fill.svg +3 -0
  372. frontend/public/build/shoelace/assets/icons/calendar-event.svg +4 -0
  373. frontend/public/build/shoelace/assets/icons/calendar-fill.svg +3 -0
  374. frontend/public/build/shoelace/assets/icons/calendar-heart-fill.svg +3 -0
  375. frontend/public/build/shoelace/assets/icons/calendar-heart.svg +3 -0
  376. frontend/public/build/shoelace/assets/icons/calendar-minus-fill.svg +3 -0
  377. frontend/public/build/shoelace/assets/icons/calendar-minus.svg +4 -0
  378. frontend/public/build/shoelace/assets/icons/calendar-month-fill.svg +4 -0
  379. frontend/public/build/shoelace/assets/icons/calendar-month.svg +4 -0
  380. frontend/public/build/shoelace/assets/icons/calendar-plus-fill.svg +3 -0
  381. frontend/public/build/shoelace/assets/icons/calendar-plus.svg +4 -0
  382. frontend/public/build/shoelace/assets/icons/calendar-range-fill.svg +3 -0
  383. frontend/public/build/shoelace/assets/icons/calendar-range.svg +4 -0
  384. frontend/public/build/shoelace/assets/icons/calendar-week-fill.svg +3 -0
  385. frontend/public/build/shoelace/assets/icons/calendar-week.svg +4 -0
  386. frontend/public/build/shoelace/assets/icons/calendar-x-fill.svg +3 -0
  387. frontend/public/build/shoelace/assets/icons/calendar-x.svg +4 -0
  388. frontend/public/build/shoelace/assets/icons/calendar.svg +3 -0
  389. frontend/public/build/shoelace/assets/icons/calendar2-check-fill.svg +3 -0
  390. frontend/public/build/shoelace/assets/icons/calendar2-check.svg +5 -0
  391. frontend/public/build/shoelace/assets/icons/calendar2-date-fill.svg +4 -0
  392. frontend/public/build/shoelace/assets/icons/calendar2-date.svg +5 -0
  393. frontend/public/build/shoelace/assets/icons/calendar2-day-fill.svg +3 -0
  394. frontend/public/build/shoelace/assets/icons/calendar2-day.svg +5 -0
  395. frontend/public/build/shoelace/assets/icons/calendar2-event-fill.svg +3 -0
  396. frontend/public/build/shoelace/assets/icons/calendar2-event.svg +5 -0
  397. frontend/public/build/shoelace/assets/icons/calendar2-fill.svg +3 -0
  398. frontend/public/build/shoelace/assets/icons/calendar2-heart-fill.svg +3 -0
  399. frontend/public/build/shoelace/assets/icons/calendar2-heart.svg +3 -0
  400. frontend/public/build/shoelace/assets/icons/calendar2-minus-fill.svg +3 -0
  401. frontend/public/build/shoelace/assets/icons/calendar2-minus.svg +5 -0
  402. frontend/public/build/shoelace/assets/icons/calendar2-month-fill.svg +4 -0
  403. frontend/public/build/shoelace/assets/icons/calendar2-month.svg +5 -0
  404. frontend/public/build/shoelace/assets/icons/calendar2-plus-fill.svg +3 -0
  405. frontend/public/build/shoelace/assets/icons/calendar2-plus.svg +4 -0
  406. frontend/public/build/shoelace/assets/icons/calendar2-range-fill.svg +3 -0
  407. frontend/public/build/shoelace/assets/icons/calendar2-range.svg +4 -0
  408. frontend/public/build/shoelace/assets/icons/calendar2-week-fill.svg +3 -0
  409. frontend/public/build/shoelace/assets/icons/calendar2-week.svg +4 -0
  410. frontend/public/build/shoelace/assets/icons/calendar2-x-fill.svg +3 -0
  411. frontend/public/build/shoelace/assets/icons/calendar2-x.svg +5 -0
  412. frontend/public/build/shoelace/assets/icons/calendar2.svg +4 -0
  413. frontend/public/build/shoelace/assets/icons/calendar3-event-fill.svg +3 -0
  414. frontend/public/build/shoelace/assets/icons/calendar3-event.svg +4 -0
  415. frontend/public/build/shoelace/assets/icons/calendar3-fill.svg +3 -0
  416. frontend/public/build/shoelace/assets/icons/calendar3-range-fill.svg +3 -0
  417. frontend/public/build/shoelace/assets/icons/calendar3-range.svg +4 -0
  418. frontend/public/build/shoelace/assets/icons/calendar3-week-fill.svg +3 -0
  419. frontend/public/build/shoelace/assets/icons/calendar3-week.svg +4 -0
  420. frontend/public/build/shoelace/assets/icons/calendar3.svg +4 -0
  421. frontend/public/build/shoelace/assets/icons/calendar4-event.svg +4 -0
  422. frontend/public/build/shoelace/assets/icons/calendar4-range.svg +4 -0
  423. frontend/public/build/shoelace/assets/icons/calendar4-week.svg +4 -0
  424. frontend/public/build/shoelace/assets/icons/calendar4.svg +3 -0
  425. frontend/public/build/shoelace/assets/icons/camera-fill.svg +4 -0
  426. frontend/public/build/shoelace/assets/icons/camera-reels-fill.svg +5 -0
  427. frontend/public/build/shoelace/assets/icons/camera-reels.svg +5 -0
  428. frontend/public/build/shoelace/assets/icons/camera-video-fill.svg +3 -0
  429. frontend/public/build/shoelace/assets/icons/camera-video-off-fill.svg +3 -0
  430. frontend/public/build/shoelace/assets/icons/camera-video-off.svg +3 -0
  431. frontend/public/build/shoelace/assets/icons/camera-video.svg +3 -0
  432. frontend/public/build/shoelace/assets/icons/camera.svg +4 -0
  433. frontend/public/build/shoelace/assets/icons/camera2.svg +4 -0
  434. frontend/public/build/shoelace/assets/icons/capslock-fill.svg +3 -0
  435. frontend/public/build/shoelace/assets/icons/capslock.svg +3 -0
  436. frontend/public/build/shoelace/assets/icons/capsule-pill.svg +3 -0
  437. frontend/public/build/shoelace/assets/icons/capsule.svg +3 -0
  438. frontend/public/build/shoelace/assets/icons/car-front-fill.svg +3 -0
  439. frontend/public/build/shoelace/assets/icons/car-front.svg +4 -0
  440. frontend/public/build/shoelace/assets/icons/card-checklist.svg +4 -0
  441. frontend/public/build/shoelace/assets/icons/card-heading.svg +4 -0
  442. frontend/public/build/shoelace/assets/icons/card-image.svg +4 -0
  443. frontend/public/build/shoelace/assets/icons/card-list.svg +4 -0
  444. frontend/public/build/shoelace/assets/icons/card-text.svg +4 -0
  445. frontend/public/build/shoelace/assets/icons/caret-down-fill.svg +3 -0
  446. frontend/public/build/shoelace/assets/icons/caret-down-square-fill.svg +3 -0
  447. frontend/public/build/shoelace/assets/icons/caret-down-square.svg +4 -0
  448. frontend/public/build/shoelace/assets/icons/caret-down.svg +3 -0
  449. frontend/public/build/shoelace/assets/icons/caret-left-fill.svg +3 -0
  450. frontend/public/build/shoelace/assets/icons/caret-left-square-fill.svg +3 -0
  451. frontend/public/build/shoelace/assets/icons/caret-left-square.svg +4 -0
  452. frontend/public/build/shoelace/assets/icons/caret-left.svg +3 -0
  453. frontend/public/build/shoelace/assets/icons/caret-right-fill.svg +3 -0
  454. frontend/public/build/shoelace/assets/icons/caret-right-square-fill.svg +3 -0
  455. frontend/public/build/shoelace/assets/icons/caret-right-square.svg +4 -0
  456. frontend/public/build/shoelace/assets/icons/caret-right.svg +3 -0
  457. frontend/public/build/shoelace/assets/icons/caret-up-fill.svg +3 -0
  458. frontend/public/build/shoelace/assets/icons/caret-up-square-fill.svg +3 -0
  459. frontend/public/build/shoelace/assets/icons/caret-up-square.svg +4 -0
  460. frontend/public/build/shoelace/assets/icons/caret-up.svg +3 -0
  461. frontend/public/build/shoelace/assets/icons/cart-check-fill.svg +3 -0
  462. frontend/public/build/shoelace/assets/icons/cart-check.svg +4 -0
  463. frontend/public/build/shoelace/assets/icons/cart-dash-fill.svg +3 -0
  464. frontend/public/build/shoelace/assets/icons/cart-dash.svg +4 -0
  465. frontend/public/build/shoelace/assets/icons/cart-fill.svg +3 -0
  466. frontend/public/build/shoelace/assets/icons/cart-plus-fill.svg +3 -0
  467. frontend/public/build/shoelace/assets/icons/cart-plus.svg +4 -0
  468. frontend/public/build/shoelace/assets/icons/cart-x-fill.svg +3 -0
  469. frontend/public/build/shoelace/assets/icons/cart-x.svg +4 -0
  470. frontend/public/build/shoelace/assets/icons/cart.svg +3 -0
  471. frontend/public/build/shoelace/assets/icons/cart2.svg +3 -0
  472. frontend/public/build/shoelace/assets/icons/cart3.svg +3 -0
  473. frontend/public/build/shoelace/assets/icons/cart4.svg +3 -0
  474. frontend/public/build/shoelace/assets/icons/cash-coin.svg +6 -0
  475. frontend/public/build/shoelace/assets/icons/cash-stack.svg +4 -0
  476. frontend/public/build/shoelace/assets/icons/cash.svg +4 -0
  477. frontend/public/build/shoelace/assets/icons/cassette-fill.svg +4 -0
  478. frontend/public/build/shoelace/assets/icons/cassette.svg +4 -0
  479. frontend/public/build/shoelace/assets/icons/cast.svg +4 -0
  480. frontend/public/build/shoelace/assets/icons/cc-circle-fill.svg +3 -0
  481. frontend/public/build/shoelace/assets/icons/cc-circle.svg +3 -0
  482. frontend/public/build/shoelace/assets/icons/cc-square-fill.svg +3 -0
  483. frontend/public/build/shoelace/assets/icons/cc-square.svg +4 -0
  484. frontend/public/build/shoelace/assets/icons/chat-dots-fill.svg +3 -0
  485. frontend/public/build/shoelace/assets/icons/chat-dots.svg +4 -0
  486. frontend/public/build/shoelace/assets/icons/chat-fill.svg +3 -0
  487. frontend/public/build/shoelace/assets/icons/chat-heart-fill.svg +3 -0
  488. frontend/public/build/shoelace/assets/icons/chat-heart.svg +3 -0
  489. frontend/public/build/shoelace/assets/icons/chat-left-dots-fill.svg +3 -0
  490. frontend/public/build/shoelace/assets/icons/chat-left-dots.svg +4 -0
  491. frontend/public/build/shoelace/assets/icons/chat-left-fill.svg +3 -0
  492. frontend/public/build/shoelace/assets/icons/chat-left-heart-fill.svg +3 -0
  493. frontend/public/build/shoelace/assets/icons/chat-left-heart.svg +4 -0
  494. frontend/public/build/shoelace/assets/icons/chat-left-quote-fill.svg +3 -0
  495. frontend/public/build/shoelace/assets/icons/chat-left-quote.svg +4 -0
  496. frontend/public/build/shoelace/assets/icons/chat-left-text-fill.svg +3 -0
  497. frontend/public/build/shoelace/assets/icons/chat-left-text.svg +4 -0
  498. frontend/public/build/shoelace/assets/icons/chat-left.svg +3 -0
  499. frontend/public/build/shoelace/assets/icons/chat-quote-fill.svg +3 -0
  500. frontend/public/build/shoelace/assets/icons/chat-quote.svg +4 -0
  501. frontend/public/build/shoelace/assets/icons/chat-right-dots-fill.svg +3 -0
  502. frontend/public/build/shoelace/assets/icons/chat-right-dots.svg +4 -0
  503. frontend/public/build/shoelace/assets/icons/chat-right-fill.svg +3 -0
  504. frontend/public/build/shoelace/assets/icons/chat-right-heart-fill.svg +3 -0
  505. frontend/public/build/shoelace/assets/icons/chat-right-heart.svg +4 -0
  506. frontend/public/build/shoelace/assets/icons/chat-right-quote-fill.svg +3 -0
  507. frontend/public/build/shoelace/assets/icons/chat-right-quote.svg +4 -0
  508. frontend/public/build/shoelace/assets/icons/chat-right-text-fill.svg +3 -0
  509. frontend/public/build/shoelace/assets/icons/chat-right-text.svg +4 -0
  510. frontend/public/build/shoelace/assets/icons/chat-right.svg +3 -0
  511. frontend/public/build/shoelace/assets/icons/chat-square-dots-fill.svg +3 -0
  512. frontend/public/build/shoelace/assets/icons/chat-square-dots.svg +4 -0
  513. frontend/public/build/shoelace/assets/icons/chat-square-fill.svg +3 -0
  514. frontend/public/build/shoelace/assets/icons/chat-square-heart-fill.svg +3 -0
  515. frontend/public/build/shoelace/assets/icons/chat-square-heart.svg +4 -0
  516. frontend/public/build/shoelace/assets/icons/chat-square-quote-fill.svg +3 -0
  517. frontend/public/build/shoelace/assets/icons/chat-square-quote.svg +4 -0
  518. frontend/public/build/shoelace/assets/icons/chat-square-text-fill.svg +3 -0
  519. frontend/public/build/shoelace/assets/icons/chat-square-text.svg +4 -0
  520. frontend/public/build/shoelace/assets/icons/chat-square.svg +3 -0
  521. frontend/public/build/shoelace/assets/icons/chat-text-fill.svg +3 -0
  522. frontend/public/build/shoelace/assets/icons/chat-text.svg +4 -0
  523. frontend/public/build/shoelace/assets/icons/chat.svg +3 -0
  524. frontend/public/build/shoelace/assets/icons/check-all.svg +3 -0
  525. frontend/public/build/shoelace/assets/icons/check-circle-fill.svg +3 -0
  526. frontend/public/build/shoelace/assets/icons/check-circle.svg +4 -0
  527. frontend/public/build/shoelace/assets/icons/check-lg.svg +3 -0
  528. frontend/public/build/shoelace/assets/icons/check-square-fill.svg +3 -0
  529. frontend/public/build/shoelace/assets/icons/check-square.svg +4 -0
  530. frontend/public/build/shoelace/assets/icons/check.svg +3 -0
  531. frontend/public/build/shoelace/assets/icons/check2-all.svg +4 -0
  532. frontend/public/build/shoelace/assets/icons/check2-circle.svg +4 -0
  533. frontend/public/build/shoelace/assets/icons/check2-square.svg +4 -0
  534. frontend/public/build/shoelace/assets/icons/check2.svg +3 -0
  535. frontend/public/build/shoelace/assets/icons/chevron-bar-contract.svg +3 -0
  536. frontend/public/build/shoelace/assets/icons/chevron-bar-down.svg +3 -0
  537. frontend/public/build/shoelace/assets/icons/chevron-bar-expand.svg +3 -0
  538. frontend/public/build/shoelace/assets/icons/chevron-bar-left.svg +3 -0
  539. frontend/public/build/shoelace/assets/icons/chevron-bar-right.svg +3 -0
  540. frontend/public/build/shoelace/assets/icons/chevron-bar-up.svg +3 -0
  541. frontend/public/build/shoelace/assets/icons/chevron-compact-down.svg +3 -0
  542. frontend/public/build/shoelace/assets/icons/chevron-compact-left.svg +3 -0
  543. frontend/public/build/shoelace/assets/icons/chevron-compact-right.svg +3 -0
  544. frontend/public/build/shoelace/assets/icons/chevron-compact-up.svg +3 -0
  545. frontend/public/build/shoelace/assets/icons/chevron-contract.svg +3 -0
  546. frontend/public/build/shoelace/assets/icons/chevron-double-down.svg +4 -0
  547. frontend/public/build/shoelace/assets/icons/chevron-double-left.svg +4 -0
  548. frontend/public/build/shoelace/assets/icons/chevron-double-right.svg +4 -0
  549. frontend/public/build/shoelace/assets/icons/chevron-double-up.svg +4 -0
  550. frontend/public/build/shoelace/assets/icons/chevron-down.svg +3 -0
  551. frontend/public/build/shoelace/assets/icons/chevron-expand.svg +3 -0
  552. frontend/public/build/shoelace/assets/icons/chevron-left.svg +3 -0
  553. frontend/public/build/shoelace/assets/icons/chevron-right.svg +3 -0
  554. frontend/public/build/shoelace/assets/icons/chevron-up.svg +3 -0
  555. frontend/public/build/shoelace/assets/icons/circle-fill.svg +3 -0
  556. frontend/public/build/shoelace/assets/icons/circle-half.svg +3 -0
  557. frontend/public/build/shoelace/assets/icons/circle-square.svg +4 -0
  558. frontend/public/build/shoelace/assets/icons/circle.svg +3 -0
  559. frontend/public/build/shoelace/assets/icons/clipboard-check-fill.svg +4 -0
  560. frontend/public/build/shoelace/assets/icons/clipboard-check.svg +5 -0
  561. frontend/public/build/shoelace/assets/icons/clipboard-data-fill.svg +4 -0
  562. frontend/public/build/shoelace/assets/icons/clipboard-data.svg +5 -0
  563. frontend/public/build/shoelace/assets/icons/clipboard-fill.svg +3 -0
  564. frontend/public/build/shoelace/assets/icons/clipboard-heart-fill.svg +4 -0
  565. frontend/public/build/shoelace/assets/icons/clipboard-heart.svg +5 -0
  566. frontend/public/build/shoelace/assets/icons/clipboard-minus-fill.svg +4 -0
  567. frontend/public/build/shoelace/assets/icons/clipboard-minus.svg +5 -0
  568. frontend/public/build/shoelace/assets/icons/clipboard-plus-fill.svg +4 -0
  569. frontend/public/build/shoelace/assets/icons/clipboard-plus.svg +5 -0
  570. frontend/public/build/shoelace/assets/icons/clipboard-pulse.svg +3 -0
  571. frontend/public/build/shoelace/assets/icons/clipboard-x-fill.svg +4 -0
  572. frontend/public/build/shoelace/assets/icons/clipboard-x.svg +5 -0
  573. frontend/public/build/shoelace/assets/icons/clipboard.svg +4 -0
  574. frontend/public/build/shoelace/assets/icons/clipboard2-check-fill.svg +4 -0
  575. frontend/public/build/shoelace/assets/icons/clipboard2-check.svg +5 -0
  576. frontend/public/build/shoelace/assets/icons/clipboard2-data-fill.svg +4 -0
  577. frontend/public/build/shoelace/assets/icons/clipboard2-data.svg +5 -0
  578. frontend/public/build/shoelace/assets/icons/clipboard2-fill.svg +4 -0
  579. frontend/public/build/shoelace/assets/icons/clipboard2-heart-fill.svg +4 -0
  580. frontend/public/build/shoelace/assets/icons/clipboard2-heart.svg +5 -0
  581. frontend/public/build/shoelace/assets/icons/clipboard2-minus-fill.svg +4 -0
  582. frontend/public/build/shoelace/assets/icons/clipboard2-minus.svg +5 -0
  583. frontend/public/build/shoelace/assets/icons/clipboard2-plus-fill.svg +4 -0
  584. frontend/public/build/shoelace/assets/icons/clipboard2-plus.svg +5 -0
  585. frontend/public/build/shoelace/assets/icons/clipboard2-pulse-fill.svg +4 -0
  586. frontend/public/build/shoelace/assets/icons/clipboard2-pulse.svg +5 -0
  587. frontend/public/build/shoelace/assets/icons/clipboard2-x-fill.svg +4 -0
  588. frontend/public/build/shoelace/assets/icons/clipboard2-x.svg +5 -0
  589. frontend/public/build/shoelace/assets/icons/clipboard2.svg +4 -0
  590. frontend/public/build/shoelace/assets/icons/clock-fill.svg +3 -0
  591. frontend/public/build/shoelace/assets/icons/clock-history.svg +5 -0
  592. frontend/public/build/shoelace/assets/icons/clock.svg +4 -0
  593. frontend/public/build/shoelace/assets/icons/cloud-arrow-down-fill.svg +3 -0
  594. frontend/public/build/shoelace/assets/icons/cloud-arrow-down.svg +4 -0
  595. frontend/public/build/shoelace/assets/icons/cloud-arrow-up-fill.svg +3 -0
  596. frontend/public/build/shoelace/assets/icons/cloud-arrow-up.svg +4 -0
  597. frontend/public/build/shoelace/assets/icons/cloud-check-fill.svg +3 -0
  598. frontend/public/build/shoelace/assets/icons/cloud-check.svg +4 -0
  599. frontend/public/build/shoelace/assets/icons/cloud-download-fill.svg +3 -0
  600. frontend/public/build/shoelace/assets/icons/cloud-download.svg +4 -0
  601. frontend/public/build/shoelace/assets/icons/cloud-drizzle-fill.svg +3 -0
  602. frontend/public/build/shoelace/assets/icons/cloud-drizzle.svg +3 -0
  603. frontend/public/build/shoelace/assets/icons/cloud-fill.svg +3 -0
  604. frontend/public/build/shoelace/assets/icons/cloud-fog-fill.svg +3 -0
  605. frontend/public/build/shoelace/assets/icons/cloud-fog.svg +3 -0
  606. frontend/public/build/shoelace/assets/icons/cloud-fog2-fill.svg +3 -0
  607. frontend/public/build/shoelace/assets/icons/cloud-fog2.svg +3 -0
  608. frontend/public/build/shoelace/assets/icons/cloud-hail-fill.svg +3 -0
  609. frontend/public/build/shoelace/assets/icons/cloud-hail.svg +3 -0
  610. frontend/public/build/shoelace/assets/icons/cloud-haze-fill.svg +3 -0
  611. frontend/public/build/shoelace/assets/icons/cloud-haze.svg +3 -0
  612. frontend/public/build/shoelace/assets/icons/cloud-haze2-fill.svg +3 -0
  613. frontend/public/build/shoelace/assets/icons/cloud-haze2.svg +3 -0
  614. frontend/public/build/shoelace/assets/icons/cloud-lightning-fill.svg +3 -0
  615. frontend/public/build/shoelace/assets/icons/cloud-lightning-rain-fill.svg +3 -0
  616. frontend/public/build/shoelace/assets/icons/cloud-lightning-rain.svg +3 -0
  617. frontend/public/build/shoelace/assets/icons/cloud-lightning.svg +3 -0
  618. frontend/public/build/shoelace/assets/icons/cloud-minus-fill.svg +3 -0
  619. frontend/public/build/shoelace/assets/icons/cloud-minus.svg +4 -0
  620. frontend/public/build/shoelace/assets/icons/cloud-moon-fill.svg +4 -0
  621. frontend/public/build/shoelace/assets/icons/cloud-moon.svg +4 -0
  622. frontend/public/build/shoelace/assets/icons/cloud-plus-fill.svg +3 -0
  623. frontend/public/build/shoelace/assets/icons/cloud-plus.svg +4 -0
  624. frontend/public/build/shoelace/assets/icons/cloud-rain-fill.svg +3 -0
  625. frontend/public/build/shoelace/assets/icons/cloud-rain-heavy-fill.svg +3 -0
  626. frontend/public/build/shoelace/assets/icons/cloud-rain-heavy.svg +3 -0
  627. frontend/public/build/shoelace/assets/icons/cloud-rain.svg +3 -0
  628. frontend/public/build/shoelace/assets/icons/cloud-slash-fill.svg +3 -0
  629. frontend/public/build/shoelace/assets/icons/cloud-slash.svg +4 -0
  630. frontend/public/build/shoelace/assets/icons/cloud-sleet-fill.svg +3 -0
  631. frontend/public/build/shoelace/assets/icons/cloud-sleet.svg +3 -0
  632. frontend/public/build/shoelace/assets/icons/cloud-snow-fill.svg +3 -0
  633. frontend/public/build/shoelace/assets/icons/cloud-snow.svg +3 -0
  634. frontend/public/build/shoelace/assets/icons/cloud-sun-fill.svg +4 -0
  635. frontend/public/build/shoelace/assets/icons/cloud-sun.svg +4 -0
  636. frontend/public/build/shoelace/assets/icons/cloud-upload-fill.svg +3 -0
  637. frontend/public/build/shoelace/assets/icons/cloud-upload.svg +4 -0
  638. frontend/public/build/shoelace/assets/icons/cloud.svg +3 -0
  639. frontend/public/build/shoelace/assets/icons/clouds-fill.svg +4 -0
  640. frontend/public/build/shoelace/assets/icons/clouds.svg +4 -0
  641. frontend/public/build/shoelace/assets/icons/cloudy-fill.svg +3 -0
  642. frontend/public/build/shoelace/assets/icons/cloudy.svg +3 -0
  643. frontend/public/build/shoelace/assets/icons/code-slash.svg +3 -0
  644. frontend/public/build/shoelace/assets/icons/code-square.svg +4 -0
  645. frontend/public/build/shoelace/assets/icons/code.svg +3 -0
  646. frontend/public/build/shoelace/assets/icons/coin.svg +5 -0
  647. frontend/public/build/shoelace/assets/icons/collection-fill.svg +3 -0
  648. frontend/public/build/shoelace/assets/icons/collection-play-fill.svg +3 -0
  649. frontend/public/build/shoelace/assets/icons/collection-play.svg +4 -0
  650. frontend/public/build/shoelace/assets/icons/collection.svg +3 -0
  651. frontend/public/build/shoelace/assets/icons/columns-gap.svg +3 -0
  652. frontend/public/build/shoelace/assets/icons/columns.svg +3 -0
  653. frontend/public/build/shoelace/assets/icons/command.svg +3 -0
  654. frontend/public/build/shoelace/assets/icons/compass-fill.svg +3 -0
  655. frontend/public/build/shoelace/assets/icons/compass.svg +4 -0
  656. frontend/public/build/shoelace/assets/icons/cone-striped.svg +3 -0
  657. frontend/public/build/shoelace/assets/icons/cone.svg +3 -0
  658. frontend/public/build/shoelace/assets/icons/controller.svg +4 -0
  659. frontend/public/build/shoelace/assets/icons/cookie.svg +4 -0
  660. frontend/public/build/shoelace/assets/icons/copy.svg +3 -0
  661. frontend/public/build/shoelace/assets/icons/cpu-fill.svg +4 -0
  662. frontend/public/build/shoelace/assets/icons/cpu.svg +3 -0
  663. frontend/public/build/shoelace/assets/icons/credit-card-2-back-fill.svg +3 -0
  664. frontend/public/build/shoelace/assets/icons/credit-card-2-back.svg +4 -0
  665. frontend/public/build/shoelace/assets/icons/credit-card-2-front-fill.svg +3 -0
  666. frontend/public/build/shoelace/assets/icons/credit-card-2-front.svg +4 -0
  667. frontend/public/build/shoelace/assets/icons/credit-card-fill.svg +3 -0
  668. frontend/public/build/shoelace/assets/icons/credit-card.svg +4 -0
  669. frontend/public/build/shoelace/assets/icons/crop.svg +3 -0
  670. frontend/public/build/shoelace/assets/icons/crosshair.svg +3 -0
  671. frontend/public/build/shoelace/assets/icons/crosshair2.svg +3 -0
  672. frontend/public/build/shoelace/assets/icons/cup-fill.svg +3 -0
  673. frontend/public/build/shoelace/assets/icons/cup-hot-fill.svg +4 -0
  674. frontend/public/build/shoelace/assets/icons/cup-hot.svg +4 -0
  675. frontend/public/build/shoelace/assets/icons/cup-straw.svg +3 -0
  676. frontend/public/build/shoelace/assets/icons/cup.svg +3 -0
  677. frontend/public/build/shoelace/assets/icons/currency-bitcoin.svg +3 -0
  678. frontend/public/build/shoelace/assets/icons/currency-dollar.svg +3 -0
  679. frontend/public/build/shoelace/assets/icons/currency-euro.svg +3 -0
  680. frontend/public/build/shoelace/assets/icons/currency-exchange.svg +3 -0
  681. frontend/public/build/shoelace/assets/icons/currency-pound.svg +3 -0
  682. frontend/public/build/shoelace/assets/icons/currency-rupee.svg +3 -0
  683. frontend/public/build/shoelace/assets/icons/currency-yen.svg +3 -0
  684. frontend/public/build/shoelace/assets/icons/cursor-fill.svg +3 -0
  685. frontend/public/build/shoelace/assets/icons/cursor-text.svg +3 -0
  686. frontend/public/build/shoelace/assets/icons/cursor.svg +3 -0
  687. frontend/public/build/shoelace/assets/icons/dash-circle-dotted.svg +3 -0
  688. frontend/public/build/shoelace/assets/icons/dash-circle-fill.svg +3 -0
  689. frontend/public/build/shoelace/assets/icons/dash-circle.svg +4 -0
  690. frontend/public/build/shoelace/assets/icons/dash-lg.svg +3 -0
  691. frontend/public/build/shoelace/assets/icons/dash-square-dotted.svg +3 -0
  692. frontend/public/build/shoelace/assets/icons/dash-square-fill.svg +3 -0
  693. frontend/public/build/shoelace/assets/icons/dash-square.svg +4 -0
  694. frontend/public/build/shoelace/assets/icons/dash.svg +3 -0
  695. frontend/public/build/shoelace/assets/icons/database-add.svg +4 -0
  696. frontend/public/build/shoelace/assets/icons/database-check.svg +4 -0
  697. frontend/public/build/shoelace/assets/icons/database-dash.svg +4 -0
  698. frontend/public/build/shoelace/assets/icons/database-down.svg +4 -0
  699. frontend/public/build/shoelace/assets/icons/database-exclamation.svg +4 -0
  700. frontend/public/build/shoelace/assets/icons/database-fill-add.svg +4 -0
  701. frontend/public/build/shoelace/assets/icons/database-fill-check.svg +4 -0
  702. frontend/public/build/shoelace/assets/icons/database-fill-dash.svg +4 -0
  703. frontend/public/build/shoelace/assets/icons/database-fill-down.svg +4 -0
  704. frontend/public/build/shoelace/assets/icons/database-fill-exclamation.svg +5 -0
  705. frontend/public/build/shoelace/assets/icons/database-fill-gear.svg +4 -0
  706. frontend/public/build/shoelace/assets/icons/database-fill-lock.svg +5 -0
  707. frontend/public/build/shoelace/assets/icons/database-fill-slash.svg +4 -0
  708. frontend/public/build/shoelace/assets/icons/database-fill-up.svg +4 -0
  709. frontend/public/build/shoelace/assets/icons/database-fill-x.svg +5 -0
  710. frontend/public/build/shoelace/assets/icons/database-fill.svg +6 -0
  711. frontend/public/build/shoelace/assets/icons/database-gear.svg +4 -0
  712. frontend/public/build/shoelace/assets/icons/database-lock.svg +4 -0
  713. frontend/public/build/shoelace/assets/icons/database-slash.svg +4 -0
  714. frontend/public/build/shoelace/assets/icons/database-up.svg +4 -0
  715. frontend/public/build/shoelace/assets/icons/database-x.svg +4 -0
  716. frontend/public/build/shoelace/assets/icons/database.svg +3 -0
  717. frontend/public/build/shoelace/assets/icons/device-hdd-fill.svg +4 -0
  718. frontend/public/build/shoelace/assets/icons/device-hdd.svg +5 -0
  719. frontend/public/build/shoelace/assets/icons/device-ssd-fill.svg +4 -0
  720. frontend/public/build/shoelace/assets/icons/device-ssd.svg +4 -0
  721. frontend/public/build/shoelace/assets/icons/diagram-2-fill.svg +3 -0
  722. frontend/public/build/shoelace/assets/icons/diagram-2.svg +3 -0
  723. frontend/public/build/shoelace/assets/icons/diagram-3-fill.svg +3 -0
  724. frontend/public/build/shoelace/assets/icons/diagram-3.svg +3 -0
  725. frontend/public/build/shoelace/assets/icons/diamond-fill.svg +3 -0
  726. frontend/public/build/shoelace/assets/icons/diamond-half.svg +3 -0
  727. frontend/public/build/shoelace/assets/icons/diamond.svg +3 -0
  728. frontend/public/build/shoelace/assets/icons/dice-1-fill.svg +3 -0
  729. frontend/public/build/shoelace/assets/icons/dice-1.svg +4 -0
  730. frontend/public/build/shoelace/assets/icons/dice-2-fill.svg +3 -0
  731. frontend/public/build/shoelace/assets/icons/dice-2.svg +4 -0
  732. frontend/public/build/shoelace/assets/icons/dice-3-fill.svg +3 -0
  733. frontend/public/build/shoelace/assets/icons/dice-3.svg +4 -0
  734. frontend/public/build/shoelace/assets/icons/dice-4-fill.svg +3 -0
  735. frontend/public/build/shoelace/assets/icons/dice-4.svg +4 -0
  736. frontend/public/build/shoelace/assets/icons/dice-5-fill.svg +3 -0
  737. frontend/public/build/shoelace/assets/icons/dice-5.svg +4 -0
  738. frontend/public/build/shoelace/assets/icons/dice-6-fill.svg +3 -0
  739. frontend/public/build/shoelace/assets/icons/dice-6.svg +4 -0
  740. frontend/public/build/shoelace/assets/icons/disc-fill.svg +3 -0
  741. frontend/public/build/shoelace/assets/icons/disc.svg +4 -0
  742. frontend/public/build/shoelace/assets/icons/discord.svg +3 -0
  743. frontend/public/build/shoelace/assets/icons/display-fill.svg +3 -0
  744. frontend/public/build/shoelace/assets/icons/display.svg +3 -0
  745. frontend/public/build/shoelace/assets/icons/displayport-fill.svg +3 -0
  746. frontend/public/build/shoelace/assets/icons/displayport.svg +4 -0
  747. frontend/public/build/shoelace/assets/icons/distribute-horizontal.svg +4 -0
  748. frontend/public/build/shoelace/assets/icons/distribute-vertical.svg +4 -0
  749. frontend/public/build/shoelace/assets/icons/door-closed-fill.svg +3 -0
  750. frontend/public/build/shoelace/assets/icons/door-closed.svg +4 -0
  751. frontend/public/build/shoelace/assets/icons/door-open-fill.svg +3 -0
  752. frontend/public/build/shoelace/assets/icons/door-open.svg +4 -0
  753. frontend/public/build/shoelace/assets/icons/dot.svg +3 -0
  754. frontend/public/build/shoelace/assets/icons/download.svg +4 -0
  755. frontend/public/build/shoelace/assets/icons/dpad-fill.svg +3 -0
  756. frontend/public/build/shoelace/assets/icons/dpad.svg +4 -0
  757. frontend/public/build/shoelace/assets/icons/dribbble.svg +3 -0
  758. frontend/public/build/shoelace/assets/icons/dropbox.svg +3 -0
  759. frontend/public/build/shoelace/assets/icons/droplet-fill.svg +3 -0
  760. frontend/public/build/shoelace/assets/icons/droplet-half.svg +4 -0
  761. frontend/public/build/shoelace/assets/icons/droplet.svg +4 -0
  762. frontend/public/build/shoelace/assets/icons/duffle-fill.svg +3 -0
  763. frontend/public/build/shoelace/assets/icons/duffle.svg +4 -0
  764. frontend/public/build/shoelace/assets/icons/ear-fill.svg +3 -0
  765. frontend/public/build/shoelace/assets/icons/ear.svg +3 -0
  766. frontend/public/build/shoelace/assets/icons/earbuds.svg +3 -0
  767. frontend/public/build/shoelace/assets/icons/easel-fill.svg +3 -0
  768. frontend/public/build/shoelace/assets/icons/easel.svg +3 -0
  769. frontend/public/build/shoelace/assets/icons/easel2-fill.svg +4 -0
  770. frontend/public/build/shoelace/assets/icons/easel2.svg +3 -0
  771. frontend/public/build/shoelace/assets/icons/easel3-fill.svg +3 -0
  772. frontend/public/build/shoelace/assets/icons/easel3.svg +3 -0
  773. frontend/public/build/shoelace/assets/icons/egg-fill.svg +3 -0
  774. frontend/public/build/shoelace/assets/icons/egg-fried.svg +4 -0
  775. frontend/public/build/shoelace/assets/icons/egg.svg +3 -0
  776. frontend/public/build/shoelace/assets/icons/eject-fill.svg +3 -0
  777. frontend/public/build/shoelace/assets/icons/eject.svg +3 -0
  778. frontend/public/build/shoelace/assets/icons/emoji-angry-fill.svg +3 -0
  779. frontend/public/build/shoelace/assets/icons/emoji-angry.svg +4 -0
  780. frontend/public/build/shoelace/assets/icons/emoji-astonished-fill.svg +3 -0
  781. frontend/public/build/shoelace/assets/icons/emoji-astonished.svg +4 -0
  782. frontend/public/build/shoelace/assets/icons/emoji-dizzy-fill.svg +3 -0
  783. frontend/public/build/shoelace/assets/icons/emoji-dizzy.svg +4 -0
  784. frontend/public/build/shoelace/assets/icons/emoji-expressionless-fill.svg +3 -0
  785. frontend/public/build/shoelace/assets/icons/emoji-expressionless.svg +4 -0
  786. frontend/public/build/shoelace/assets/icons/emoji-frown-fill.svg +3 -0
  787. frontend/public/build/shoelace/assets/icons/emoji-frown.svg +4 -0
  788. frontend/public/build/shoelace/assets/icons/emoji-grimace-fill.svg +3 -0
  789. frontend/public/build/shoelace/assets/icons/emoji-grimace.svg +4 -0
  790. frontend/public/build/shoelace/assets/icons/emoji-grin-fill.svg +3 -0
  791. frontend/public/build/shoelace/assets/icons/emoji-grin.svg +4 -0
  792. frontend/public/build/shoelace/assets/icons/emoji-heart-eyes-fill.svg +3 -0
  793. frontend/public/build/shoelace/assets/icons/emoji-heart-eyes.svg +4 -0
  794. frontend/public/build/shoelace/assets/icons/emoji-kiss-fill.svg +3 -0
  795. frontend/public/build/shoelace/assets/icons/emoji-kiss.svg +3 -0
  796. frontend/public/build/shoelace/assets/icons/emoji-laughing-fill.svg +3 -0
  797. frontend/public/build/shoelace/assets/icons/emoji-laughing.svg +4 -0
  798. frontend/public/build/shoelace/assets/icons/emoji-neutral-fill.svg +3 -0
  799. frontend/public/build/shoelace/assets/icons/emoji-neutral.svg +4 -0
  800. frontend/public/build/shoelace/assets/icons/emoji-smile-fill.svg +3 -0
  801. frontend/public/build/shoelace/assets/icons/emoji-smile-upside-down-fill.svg +3 -0
  802. frontend/public/build/shoelace/assets/icons/emoji-smile-upside-down.svg +4 -0
  803. frontend/public/build/shoelace/assets/icons/emoji-smile.svg +4 -0
  804. frontend/public/build/shoelace/assets/icons/emoji-sunglasses-fill.svg +3 -0
  805. frontend/public/build/shoelace/assets/icons/emoji-sunglasses.svg +4 -0
  806. frontend/public/build/shoelace/assets/icons/emoji-surprise-fill.svg +3 -0
  807. frontend/public/build/shoelace/assets/icons/emoji-surprise.svg +4 -0
  808. frontend/public/build/shoelace/assets/icons/emoji-tear-fill.svg +3 -0
  809. frontend/public/build/shoelace/assets/icons/emoji-tear.svg +4 -0
  810. frontend/public/build/shoelace/assets/icons/emoji-wink-fill.svg +3 -0
  811. frontend/public/build/shoelace/assets/icons/emoji-wink.svg +4 -0
  812. frontend/public/build/shoelace/assets/icons/envelope-arrow-down-fill.svg +4 -0
  813. frontend/public/build/shoelace/assets/icons/envelope-arrow-down.svg +4 -0
  814. frontend/public/build/shoelace/assets/icons/envelope-arrow-up-fill.svg +4 -0
  815. frontend/public/build/shoelace/assets/icons/envelope-arrow-up.svg +4 -0
  816. frontend/public/build/shoelace/assets/icons/envelope-at-fill.svg +4 -0
  817. frontend/public/build/shoelace/assets/icons/envelope-at.svg +4 -0
  818. frontend/public/build/shoelace/assets/icons/envelope-check-fill.svg +4 -0
  819. frontend/public/build/shoelace/assets/icons/envelope-check.svg +4 -0
  820. frontend/public/build/shoelace/assets/icons/envelope-dash-fill.svg +4 -0
  821. frontend/public/build/shoelace/assets/icons/envelope-dash.svg +4 -0
  822. frontend/public/build/shoelace/assets/icons/envelope-exclamation-fill.svg +4 -0
  823. frontend/public/build/shoelace/assets/icons/envelope-exclamation.svg +4 -0
  824. frontend/public/build/shoelace/assets/icons/envelope-fill.svg +3 -0
  825. frontend/public/build/shoelace/assets/icons/envelope-heart-fill.svg +4 -0
  826. frontend/public/build/shoelace/assets/icons/envelope-heart.svg +3 -0
  827. frontend/public/build/shoelace/assets/icons/envelope-open-fill.svg +3 -0
  828. frontend/public/build/shoelace/assets/icons/envelope-open-heart-fill.svg +4 -0
  829. frontend/public/build/shoelace/assets/icons/envelope-open-heart.svg +3 -0
  830. frontend/public/build/shoelace/assets/icons/envelope-open.svg +3 -0
  831. frontend/public/build/shoelace/assets/icons/envelope-paper-fill.svg +3 -0
  832. frontend/public/build/shoelace/assets/icons/envelope-paper-heart-fill.svg +3 -0
  833. frontend/public/build/shoelace/assets/icons/envelope-paper-heart.svg +3 -0
  834. frontend/public/build/shoelace/assets/icons/envelope-paper.svg +3 -0
  835. frontend/public/build/shoelace/assets/icons/envelope-plus-fill.svg +4 -0
  836. frontend/public/build/shoelace/assets/icons/envelope-plus.svg +4 -0
  837. frontend/public/build/shoelace/assets/icons/envelope-slash-fill.svg +4 -0
  838. frontend/public/build/shoelace/assets/icons/envelope-slash.svg +4 -0
  839. frontend/public/build/shoelace/assets/icons/envelope-x-fill.svg +4 -0
  840. frontend/public/build/shoelace/assets/icons/envelope-x.svg +4 -0
  841. frontend/public/build/shoelace/assets/icons/envelope.svg +3 -0
  842. frontend/public/build/shoelace/assets/icons/eraser-fill.svg +3 -0
  843. frontend/public/build/shoelace/assets/icons/eraser.svg +3 -0
  844. frontend/public/build/shoelace/assets/icons/escape.svg +4 -0
  845. frontend/public/build/shoelace/assets/icons/ethernet.svg +4 -0
  846. frontend/public/build/shoelace/assets/icons/ev-front-fill.svg +3 -0
  847. frontend/public/build/shoelace/assets/icons/ev-front.svg +4 -0
  848. frontend/public/build/shoelace/assets/icons/ev-station-fill.svg +3 -0
  849. frontend/public/build/shoelace/assets/icons/ev-station.svg +4 -0
  850. frontend/public/build/shoelace/assets/icons/exclamation-circle-fill.svg +3 -0
  851. frontend/public/build/shoelace/assets/icons/exclamation-circle.svg +4 -0
  852. frontend/public/build/shoelace/assets/icons/exclamation-diamond-fill.svg +3 -0
  853. frontend/public/build/shoelace/assets/icons/exclamation-diamond.svg +4 -0
  854. frontend/public/build/shoelace/assets/icons/exclamation-lg.svg +3 -0
  855. frontend/public/build/shoelace/assets/icons/exclamation-octagon-fill.svg +3 -0
  856. frontend/public/build/shoelace/assets/icons/exclamation-octagon.svg +4 -0
  857. frontend/public/build/shoelace/assets/icons/exclamation-square-fill.svg +3 -0
  858. frontend/public/build/shoelace/assets/icons/exclamation-square.svg +4 -0
  859. frontend/public/build/shoelace/assets/icons/exclamation-triangle-fill.svg +3 -0
  860. frontend/public/build/shoelace/assets/icons/exclamation-triangle.svg +4 -0
  861. frontend/public/build/shoelace/assets/icons/exclamation.svg +3 -0
  862. frontend/public/build/shoelace/assets/icons/exclude.svg +3 -0
  863. frontend/public/build/shoelace/assets/icons/explicit-fill.svg +3 -0
  864. frontend/public/build/shoelace/assets/icons/explicit.svg +4 -0
  865. frontend/public/build/shoelace/assets/icons/exposure.svg +4 -0
  866. frontend/public/build/shoelace/assets/icons/eye-fill.svg +4 -0
  867. frontend/public/build/shoelace/assets/icons/eye-slash-fill.svg +4 -0
  868. frontend/public/build/shoelace/assets/icons/eye-slash.svg +5 -0
  869. frontend/public/build/shoelace/assets/icons/eye.svg +4 -0
  870. frontend/public/build/shoelace/assets/icons/eyedropper.svg +3 -0
  871. frontend/public/build/shoelace/assets/icons/eyeglasses.svg +3 -0
  872. frontend/public/build/shoelace/assets/icons/facebook.svg +3 -0
  873. frontend/public/build/shoelace/assets/icons/fan.svg +4 -0
  874. frontend/public/build/shoelace/assets/icons/fast-forward-btn-fill.svg +3 -0
  875. frontend/public/build/shoelace/assets/icons/fast-forward-btn.svg +4 -0
  876. frontend/public/build/shoelace/assets/icons/fast-forward-circle-fill.svg +3 -0
  877. frontend/public/build/shoelace/assets/icons/fast-forward-circle.svg +4 -0
  878. frontend/public/build/shoelace/assets/icons/fast-forward-fill.svg +4 -0
  879. frontend/public/build/shoelace/assets/icons/fast-forward.svg +4 -0
  880. frontend/public/build/shoelace/assets/icons/feather.svg +3 -0
  881. frontend/public/build/shoelace/assets/icons/feather2.svg +3 -0
  882. frontend/public/build/shoelace/assets/icons/file-arrow-down-fill.svg +3 -0
  883. frontend/public/build/shoelace/assets/icons/file-arrow-down.svg +4 -0
  884. frontend/public/build/shoelace/assets/icons/file-arrow-up-fill.svg +3 -0
  885. frontend/public/build/shoelace/assets/icons/file-arrow-up.svg +4 -0
  886. frontend/public/build/shoelace/assets/icons/file-bar-graph-fill.svg +3 -0
  887. frontend/public/build/shoelace/assets/icons/file-bar-graph.svg +4 -0
  888. frontend/public/build/shoelace/assets/icons/file-binary-fill.svg +4 -0
  889. frontend/public/build/shoelace/assets/icons/file-binary.svg +4 -0
  890. frontend/public/build/shoelace/assets/icons/file-break-fill.svg +3 -0
  891. frontend/public/build/shoelace/assets/icons/file-break.svg +3 -0
  892. frontend/public/build/shoelace/assets/icons/file-check-fill.svg +3 -0
  893. frontend/public/build/shoelace/assets/icons/file-check.svg +4 -0
  894. frontend/public/build/shoelace/assets/icons/file-code-fill.svg +3 -0
  895. frontend/public/build/shoelace/assets/icons/file-code.svg +4 -0
  896. frontend/public/build/shoelace/assets/icons/file-diff-fill.svg +3 -0
  897. frontend/public/build/shoelace/assets/icons/file-diff.svg +4 -0
  898. frontend/public/build/shoelace/assets/icons/file-earmark-arrow-down-fill.svg +3 -0
  899. frontend/public/build/shoelace/assets/icons/file-earmark-arrow-down.svg +4 -0
  900. frontend/public/build/shoelace/assets/icons/file-earmark-arrow-up-fill.svg +3 -0
  901. frontend/public/build/shoelace/assets/icons/file-earmark-arrow-up.svg +4 -0
  902. frontend/public/build/shoelace/assets/icons/file-earmark-bar-graph-fill.svg +3 -0
  903. frontend/public/build/shoelace/assets/icons/file-earmark-bar-graph.svg +4 -0
  904. frontend/public/build/shoelace/assets/icons/file-earmark-binary-fill.svg +4 -0
  905. frontend/public/build/shoelace/assets/icons/file-earmark-binary.svg +4 -0
  906. frontend/public/build/shoelace/assets/icons/file-earmark-break-fill.svg +3 -0
  907. frontend/public/build/shoelace/assets/icons/file-earmark-break.svg +3 -0
  908. frontend/public/build/shoelace/assets/icons/file-earmark-check-fill.svg +3 -0
  909. frontend/public/build/shoelace/assets/icons/file-earmark-check.svg +4 -0
  910. frontend/public/build/shoelace/assets/icons/file-earmark-code-fill.svg +3 -0
  911. frontend/public/build/shoelace/assets/icons/file-earmark-code.svg +4 -0
  912. frontend/public/build/shoelace/assets/icons/file-earmark-diff-fill.svg +3 -0
  913. frontend/public/build/shoelace/assets/icons/file-earmark-diff.svg +4 -0
  914. frontend/public/build/shoelace/assets/icons/file-earmark-easel-fill.svg +4 -0
  915. frontend/public/build/shoelace/assets/icons/file-earmark-easel.svg +4 -0
  916. frontend/public/build/shoelace/assets/icons/file-earmark-excel-fill.svg +3 -0
  917. frontend/public/build/shoelace/assets/icons/file-earmark-excel.svg +4 -0
  918. frontend/public/build/shoelace/assets/icons/file-earmark-fill.svg +3 -0
  919. frontend/public/build/shoelace/assets/icons/file-earmark-font-fill.svg +3 -0
  920. frontend/public/build/shoelace/assets/icons/file-earmark-font.svg +4 -0
  921. frontend/public/build/shoelace/assets/icons/file-earmark-image-fill.svg +4 -0
  922. frontend/public/build/shoelace/assets/icons/file-earmark-image.svg +4 -0
  923. frontend/public/build/shoelace/assets/icons/file-earmark-lock-fill.svg +4 -0
  924. frontend/public/build/shoelace/assets/icons/file-earmark-lock.svg +4 -0
  925. frontend/public/build/shoelace/assets/icons/file-earmark-lock2-fill.svg +4 -0
  926. frontend/public/build/shoelace/assets/icons/file-earmark-lock2.svg +4 -0
  927. frontend/public/build/shoelace/assets/icons/file-earmark-medical-fill.svg +3 -0
  928. frontend/public/build/shoelace/assets/icons/file-earmark-medical.svg +4 -0
  929. frontend/public/build/shoelace/assets/icons/file-earmark-minus-fill.svg +3 -0
  930. frontend/public/build/shoelace/assets/icons/file-earmark-minus.svg +4 -0
  931. frontend/public/build/shoelace/assets/icons/file-earmark-music-fill.svg +3 -0
  932. frontend/public/build/shoelace/assets/icons/file-earmark-music.svg +4 -0
  933. frontend/public/build/shoelace/assets/icons/file-earmark-pdf-fill.svg +4 -0
  934. frontend/public/build/shoelace/assets/icons/file-earmark-pdf.svg +4 -0
  935. frontend/public/build/shoelace/assets/icons/file-earmark-person-fill.svg +3 -0
  936. frontend/public/build/shoelace/assets/icons/file-earmark-person.svg +4 -0
  937. frontend/public/build/shoelace/assets/icons/file-earmark-play-fill.svg +3 -0
  938. frontend/public/build/shoelace/assets/icons/file-earmark-play.svg +4 -0
  939. frontend/public/build/shoelace/assets/icons/file-earmark-plus-fill.svg +3 -0
  940. frontend/public/build/shoelace/assets/icons/file-earmark-plus.svg +4 -0
  941. frontend/public/build/shoelace/assets/icons/file-earmark-post-fill.svg +3 -0
  942. frontend/public/build/shoelace/assets/icons/file-earmark-post.svg +4 -0
  943. frontend/public/build/shoelace/assets/icons/file-earmark-ppt-fill.svg +4 -0
  944. frontend/public/build/shoelace/assets/icons/file-earmark-ppt.svg +4 -0
  945. frontend/public/build/shoelace/assets/icons/file-earmark-richtext-fill.svg +3 -0
  946. frontend/public/build/shoelace/assets/icons/file-earmark-richtext.svg +4 -0
  947. frontend/public/build/shoelace/assets/icons/file-earmark-ruled-fill.svg +3 -0
  948. frontend/public/build/shoelace/assets/icons/file-earmark-ruled.svg +3 -0
  949. frontend/public/build/shoelace/assets/icons/file-earmark-slides-fill.svg +4 -0
  950. frontend/public/build/shoelace/assets/icons/file-earmark-slides.svg +4 -0
  951. frontend/public/build/shoelace/assets/icons/file-earmark-spreadsheet-fill.svg +4 -0
  952. frontend/public/build/shoelace/assets/icons/file-earmark-spreadsheet.svg +3 -0
  953. frontend/public/build/shoelace/assets/icons/file-earmark-text-fill.svg +3 -0
  954. frontend/public/build/shoelace/assets/icons/file-earmark-text.svg +4 -0
  955. frontend/public/build/shoelace/assets/icons/file-earmark-word-fill.svg +3 -0
  956. frontend/public/build/shoelace/assets/icons/file-earmark-word.svg +4 -0
  957. frontend/public/build/shoelace/assets/icons/file-earmark-x-fill.svg +3 -0
  958. frontend/public/build/shoelace/assets/icons/file-earmark-x.svg +4 -0
  959. frontend/public/build/shoelace/assets/icons/file-earmark-zip-fill.svg +4 -0
  960. frontend/public/build/shoelace/assets/icons/file-earmark-zip.svg +4 -0
  961. frontend/public/build/shoelace/assets/icons/file-earmark.svg +3 -0
  962. frontend/public/build/shoelace/assets/icons/file-easel-fill.svg +4 -0
  963. frontend/public/build/shoelace/assets/icons/file-easel.svg +4 -0
  964. frontend/public/build/shoelace/assets/icons/file-excel-fill.svg +3 -0
  965. frontend/public/build/shoelace/assets/icons/file-excel.svg +4 -0
  966. frontend/public/build/shoelace/assets/icons/file-fill.svg +3 -0
  967. frontend/public/build/shoelace/assets/icons/file-font-fill.svg +3 -0
  968. frontend/public/build/shoelace/assets/icons/file-font.svg +4 -0
  969. frontend/public/build/shoelace/assets/icons/file-image-fill.svg +4 -0
  970. frontend/public/build/shoelace/assets/icons/file-image.svg +4 -0
  971. frontend/public/build/shoelace/assets/icons/file-lock-fill.svg +4 -0
  972. frontend/public/build/shoelace/assets/icons/file-lock.svg +4 -0
  973. frontend/public/build/shoelace/assets/icons/file-lock2-fill.svg +4 -0
  974. frontend/public/build/shoelace/assets/icons/file-lock2.svg +4 -0
  975. frontend/public/build/shoelace/assets/icons/file-medical-fill.svg +3 -0
  976. frontend/public/build/shoelace/assets/icons/file-medical.svg +4 -0
  977. frontend/public/build/shoelace/assets/icons/file-minus-fill.svg +3 -0
  978. frontend/public/build/shoelace/assets/icons/file-minus.svg +4 -0
  979. frontend/public/build/shoelace/assets/icons/file-music-fill.svg +3 -0
  980. frontend/public/build/shoelace/assets/icons/file-music.svg +4 -0
  981. frontend/public/build/shoelace/assets/icons/file-pdf-fill.svg +4 -0
  982. frontend/public/build/shoelace/assets/icons/file-pdf.svg +4 -0
  983. frontend/public/build/shoelace/assets/icons/file-person-fill.svg +3 -0
  984. frontend/public/build/shoelace/assets/icons/file-person.svg +4 -0
  985. frontend/public/build/shoelace/assets/icons/file-play-fill.svg +3 -0
  986. frontend/public/build/shoelace/assets/icons/file-play.svg +4 -0
  987. frontend/public/build/shoelace/assets/icons/file-plus-fill.svg +3 -0
  988. frontend/public/build/shoelace/assets/icons/file-plus.svg +4 -0
  989. frontend/public/build/shoelace/assets/icons/file-post-fill.svg +3 -0
  990. frontend/public/build/shoelace/assets/icons/file-post.svg +4 -0
  991. frontend/public/build/shoelace/assets/icons/file-ppt-fill.svg +4 -0
  992. frontend/public/build/shoelace/assets/icons/file-ppt.svg +4 -0
  993. frontend/public/build/shoelace/assets/icons/file-richtext-fill.svg +3 -0
  994. frontend/public/build/shoelace/assets/icons/file-richtext.svg +4 -0
  995. frontend/public/build/shoelace/assets/icons/file-ruled-fill.svg +3 -0
  996. frontend/public/build/shoelace/assets/icons/file-ruled.svg +3 -0
  997. frontend/public/build/shoelace/assets/icons/file-slides-fill.svg +4 -0
  998. frontend/public/build/shoelace/assets/icons/file-slides.svg +4 -0
  999. frontend/public/build/shoelace/assets/icons/file-spreadsheet-fill.svg +3 -0
  1000. frontend/public/build/shoelace/assets/icons/file-spreadsheet.svg +3 -0
  1001. frontend/public/build/shoelace/assets/icons/file-text-fill.svg +3 -0
  1002. frontend/public/build/shoelace/assets/icons/file-text.svg +4 -0
  1003. frontend/public/build/shoelace/assets/icons/file-word-fill.svg +3 -0
  1004. frontend/public/build/shoelace/assets/icons/file-word.svg +4 -0
  1005. frontend/public/build/shoelace/assets/icons/file-x-fill.svg +3 -0
  1006. frontend/public/build/shoelace/assets/icons/file-x.svg +4 -0
  1007. frontend/public/build/shoelace/assets/icons/file-zip-fill.svg +4 -0
  1008. frontend/public/build/shoelace/assets/icons/file-zip.svg +4 -0
  1009. frontend/public/build/shoelace/assets/icons/file.svg +3 -0
  1010. frontend/public/build/shoelace/assets/icons/files-alt.svg +3 -0
  1011. frontend/public/build/shoelace/assets/icons/files.svg +3 -0
  1012. frontend/public/build/shoelace/assets/icons/filetype-aac.svg +3 -0
  1013. frontend/public/build/shoelace/assets/icons/filetype-ai.svg +3 -0
  1014. frontend/public/build/shoelace/assets/icons/filetype-bmp.svg +3 -0
  1015. frontend/public/build/shoelace/assets/icons/filetype-cs.svg +3 -0
  1016. frontend/public/build/shoelace/assets/icons/filetype-css.svg +3 -0
  1017. frontend/public/build/shoelace/assets/icons/filetype-csv.svg +3 -0
  1018. frontend/public/build/shoelace/assets/icons/filetype-doc.svg +3 -0
  1019. frontend/public/build/shoelace/assets/icons/filetype-docx.svg +3 -0
  1020. frontend/public/build/shoelace/assets/icons/filetype-exe.svg +3 -0
  1021. frontend/public/build/shoelace/assets/icons/filetype-gif.svg +3 -0
  1022. frontend/public/build/shoelace/assets/icons/filetype-heic.svg +3 -0
  1023. frontend/public/build/shoelace/assets/icons/filetype-html.svg +3 -0
  1024. frontend/public/build/shoelace/assets/icons/filetype-java.svg +3 -0
  1025. frontend/public/build/shoelace/assets/icons/filetype-jpg.svg +3 -0
  1026. frontend/public/build/shoelace/assets/icons/filetype-js.svg +3 -0
  1027. frontend/public/build/shoelace/assets/icons/filetype-json.svg +3 -0
  1028. frontend/public/build/shoelace/assets/icons/filetype-jsx.svg +3 -0
  1029. frontend/public/build/shoelace/assets/icons/filetype-key.svg +3 -0
  1030. frontend/public/build/shoelace/assets/icons/filetype-m4p.svg +3 -0
  1031. frontend/public/build/shoelace/assets/icons/filetype-md.svg +3 -0
  1032. frontend/public/build/shoelace/assets/icons/filetype-mdx.svg +3 -0
  1033. frontend/public/build/shoelace/assets/icons/filetype-mov.svg +3 -0
  1034. frontend/public/build/shoelace/assets/icons/filetype-mp3.svg +3 -0
  1035. frontend/public/build/shoelace/assets/icons/filetype-mp4.svg +3 -0
  1036. frontend/public/build/shoelace/assets/icons/filetype-otf.svg +3 -0
  1037. frontend/public/build/shoelace/assets/icons/filetype-pdf.svg +3 -0
  1038. frontend/public/build/shoelace/assets/icons/filetype-php.svg +3 -0
  1039. frontend/public/build/shoelace/assets/icons/filetype-png.svg +3 -0
  1040. frontend/public/build/shoelace/assets/icons/filetype-ppt.svg +3 -0
  1041. frontend/public/build/shoelace/assets/icons/filetype-pptx.svg +3 -0
  1042. frontend/public/build/shoelace/assets/icons/filetype-psd.svg +3 -0
  1043. frontend/public/build/shoelace/assets/icons/filetype-py.svg +3 -0
  1044. frontend/public/build/shoelace/assets/icons/filetype-raw.svg +3 -0
  1045. frontend/public/build/shoelace/assets/icons/filetype-rb.svg +3 -0
  1046. frontend/public/build/shoelace/assets/icons/filetype-sass.svg +3 -0
  1047. frontend/public/build/shoelace/assets/icons/filetype-scss.svg +3 -0
  1048. frontend/public/build/shoelace/assets/icons/filetype-sh.svg +3 -0
  1049. frontend/public/build/shoelace/assets/icons/filetype-sql.svg +3 -0
  1050. frontend/public/build/shoelace/assets/icons/filetype-svg.svg +3 -0
  1051. frontend/public/build/shoelace/assets/icons/filetype-tiff.svg +3 -0
  1052. frontend/public/build/shoelace/assets/icons/filetype-tsx.svg +3 -0
  1053. frontend/public/build/shoelace/assets/icons/filetype-ttf.svg +3 -0
  1054. frontend/public/build/shoelace/assets/icons/filetype-txt.svg +3 -0
  1055. frontend/public/build/shoelace/assets/icons/filetype-wav.svg +3 -0
  1056. frontend/public/build/shoelace/assets/icons/filetype-woff.svg +3 -0
  1057. frontend/public/build/shoelace/assets/icons/filetype-xls.svg +3 -0
  1058. frontend/public/build/shoelace/assets/icons/filetype-xlsx.svg +3 -0
  1059. frontend/public/build/shoelace/assets/icons/filetype-xml.svg +3 -0
  1060. frontend/public/build/shoelace/assets/icons/filetype-yml.svg +3 -0
  1061. frontend/public/build/shoelace/assets/icons/film.svg +3 -0
  1062. frontend/public/build/shoelace/assets/icons/filter-circle-fill.svg +3 -0
  1063. frontend/public/build/shoelace/assets/icons/filter-circle.svg +4 -0
  1064. frontend/public/build/shoelace/assets/icons/filter-left.svg +3 -0
  1065. frontend/public/build/shoelace/assets/icons/filter-right.svg +3 -0
  1066. frontend/public/build/shoelace/assets/icons/filter-square-fill.svg +3 -0
  1067. frontend/public/build/shoelace/assets/icons/filter-square.svg +4 -0
  1068. frontend/public/build/shoelace/assets/icons/filter.svg +3 -0
  1069. frontend/public/build/shoelace/assets/icons/fingerprint.svg +7 -0
  1070. frontend/public/build/shoelace/assets/icons/fire.svg +3 -0
  1071. frontend/public/build/shoelace/assets/icons/flag-fill.svg +3 -0
  1072. frontend/public/build/shoelace/assets/icons/flag.svg +3 -0
  1073. frontend/public/build/shoelace/assets/icons/floppy-fill.svg +4 -0
  1074. frontend/public/build/shoelace/assets/icons/floppy.svg +4 -0
  1075. frontend/public/build/shoelace/assets/icons/floppy2-fill.svg +4 -0
  1076. frontend/public/build/shoelace/assets/icons/floppy2.svg +3 -0
  1077. frontend/public/build/shoelace/assets/icons/flower1.svg +3 -0
  1078. frontend/public/build/shoelace/assets/icons/flower2.svg +3 -0
  1079. frontend/public/build/shoelace/assets/icons/flower3.svg +3 -0
  1080. frontend/public/build/shoelace/assets/icons/folder-check.svg +4 -0
  1081. frontend/public/build/shoelace/assets/icons/folder-fill.svg +3 -0
  1082. frontend/public/build/shoelace/assets/icons/folder-minus.svg +4 -0
  1083. frontend/public/build/shoelace/assets/icons/folder-plus.svg +4 -0
  1084. frontend/public/build/shoelace/assets/icons/folder-symlink-fill.svg +3 -0
  1085. frontend/public/build/shoelace/assets/icons/folder-symlink.svg +4 -0
  1086. frontend/public/build/shoelace/assets/icons/folder-x.svg +4 -0
  1087. frontend/public/build/shoelace/assets/icons/folder.svg +3 -0
  1088. frontend/public/build/shoelace/assets/icons/folder2-open.svg +3 -0
  1089. frontend/public/build/shoelace/assets/icons/folder2.svg +3 -0
  1090. frontend/public/build/shoelace/assets/icons/fonts.svg +3 -0
  1091. frontend/public/build/shoelace/assets/icons/forward-fill.svg +3 -0
  1092. frontend/public/build/shoelace/assets/icons/forward.svg +3 -0
  1093. frontend/public/build/shoelace/assets/icons/front.svg +3 -0
  1094. frontend/public/build/shoelace/assets/icons/fuel-pump-diesel-fill.svg +4 -0
  1095. frontend/public/build/shoelace/assets/icons/fuel-pump-diesel.svg +4 -0
  1096. frontend/public/build/shoelace/assets/icons/fuel-pump-fill.svg +3 -0
  1097. frontend/public/build/shoelace/assets/icons/fuel-pump.svg +4 -0
  1098. frontend/public/build/shoelace/assets/icons/fullscreen-exit.svg +3 -0
  1099. frontend/public/build/shoelace/assets/icons/fullscreen.svg +3 -0
  1100. frontend/public/build/shoelace/assets/icons/funnel-fill.svg +3 -0
  1101. frontend/public/build/shoelace/assets/icons/funnel.svg +3 -0
  1102. frontend/public/build/shoelace/assets/icons/gear-fill.svg +3 -0
  1103. frontend/public/build/shoelace/assets/icons/gear-wide-connected.svg +3 -0
  1104. frontend/public/build/shoelace/assets/icons/gear-wide.svg +3 -0
  1105. frontend/public/build/shoelace/assets/icons/gear.svg +4 -0
  1106. frontend/public/build/shoelace/assets/icons/gem.svg +3 -0
  1107. frontend/public/build/shoelace/assets/icons/gender-ambiguous.svg +3 -0
  1108. frontend/public/build/shoelace/assets/icons/gender-female.svg +3 -0
  1109. frontend/public/build/shoelace/assets/icons/gender-male.svg +3 -0
  1110. frontend/public/build/shoelace/assets/icons/gender-neuter.svg +3 -0
  1111. frontend/public/build/shoelace/assets/icons/gender-trans.svg +3 -0
  1112. frontend/public/build/shoelace/assets/icons/geo-alt-fill.svg +3 -0
  1113. frontend/public/build/shoelace/assets/icons/geo-alt.svg +4 -0
  1114. frontend/public/build/shoelace/assets/icons/geo-fill.svg +3 -0
  1115. frontend/public/build/shoelace/assets/icons/geo.svg +3 -0
  1116. frontend/public/build/shoelace/assets/icons/gift-fill.svg +3 -0
  1117. frontend/public/build/shoelace/assets/icons/gift.svg +3 -0
  1118. frontend/public/build/shoelace/assets/icons/git.svg +3 -0
  1119. frontend/public/build/shoelace/assets/icons/github.svg +3 -0
  1120. frontend/public/build/shoelace/assets/icons/gitlab.svg +3 -0
  1121. frontend/public/build/shoelace/assets/icons/globe-americas.svg +3 -0
  1122. frontend/public/build/shoelace/assets/icons/globe-asia-australia.svg +4 -0
  1123. frontend/public/build/shoelace/assets/icons/globe-central-south-asia.svg +3 -0
  1124. frontend/public/build/shoelace/assets/icons/globe-europe-africa.svg +3 -0
  1125. frontend/public/build/shoelace/assets/icons/globe.svg +3 -0
  1126. frontend/public/build/shoelace/assets/icons/globe2.svg +3 -0
  1127. frontend/public/build/shoelace/assets/icons/google-play.svg +3 -0
  1128. frontend/public/build/shoelace/assets/icons/google.svg +3 -0
  1129. frontend/public/build/shoelace/assets/icons/gpu-card.svg +5 -0
  1130. frontend/public/build/shoelace/assets/icons/graph-down-arrow.svg +3 -0
  1131. frontend/public/build/shoelace/assets/icons/graph-down.svg +3 -0
  1132. frontend/public/build/shoelace/assets/icons/graph-up-arrow.svg +3 -0
  1133. frontend/public/build/shoelace/assets/icons/graph-up.svg +3 -0
  1134. frontend/public/build/shoelace/assets/icons/grid-1x2-fill.svg +3 -0
  1135. frontend/public/build/shoelace/assets/icons/grid-1x2.svg +3 -0
  1136. frontend/public/build/shoelace/assets/icons/grid-3x2-gap-fill.svg +3 -0
  1137. frontend/public/build/shoelace/assets/icons/grid-3x2-gap.svg +3 -0
  1138. frontend/public/build/shoelace/assets/icons/grid-3x2.svg +3 -0
  1139. frontend/public/build/shoelace/assets/icons/grid-3x3-gap-fill.svg +3 -0
  1140. frontend/public/build/shoelace/assets/icons/grid-3x3-gap.svg +3 -0
  1141. frontend/public/build/shoelace/assets/icons/grid-3x3.svg +3 -0
  1142. frontend/public/build/shoelace/assets/icons/grid-fill.svg +3 -0
  1143. frontend/public/build/shoelace/assets/icons/grid.svg +3 -0
  1144. frontend/public/build/shoelace/assets/icons/grip-horizontal.svg +3 -0
  1145. frontend/public/build/shoelace/assets/icons/grip-vertical.svg +3 -0
  1146. frontend/public/build/shoelace/assets/icons/h-circle-fill.svg +3 -0
  1147. frontend/public/build/shoelace/assets/icons/h-circle.svg +3 -0
  1148. frontend/public/build/shoelace/assets/icons/h-square-fill.svg +3 -0
  1149. frontend/public/build/shoelace/assets/icons/h-square.svg +4 -0
  1150. frontend/public/build/shoelace/assets/icons/hammer.svg +3 -0
  1151. frontend/public/build/shoelace/assets/icons/hand-index-fill.svg +3 -0
  1152. frontend/public/build/shoelace/assets/icons/hand-index-thumb-fill.svg +3 -0
  1153. frontend/public/build/shoelace/assets/icons/hand-index-thumb.svg +3 -0
  1154. frontend/public/build/shoelace/assets/icons/hand-index.svg +3 -0
  1155. frontend/public/build/shoelace/assets/icons/hand-thumbs-down-fill.svg +3 -0
  1156. frontend/public/build/shoelace/assets/icons/hand-thumbs-down.svg +3 -0
  1157. frontend/public/build/shoelace/assets/icons/hand-thumbs-up-fill.svg +3 -0
  1158. frontend/public/build/shoelace/assets/icons/hand-thumbs-up.svg +3 -0
  1159. frontend/public/build/shoelace/assets/icons/handbag-fill.svg +3 -0
  1160. frontend/public/build/shoelace/assets/icons/handbag.svg +3 -0
  1161. frontend/public/build/shoelace/assets/icons/hash.svg +3 -0
  1162. frontend/public/build/shoelace/assets/icons/hdd-fill.svg +3 -0
  1163. frontend/public/build/shoelace/assets/icons/hdd-network-fill.svg +3 -0
  1164. frontend/public/build/shoelace/assets/icons/hdd-network.svg +4 -0
  1165. frontend/public/build/shoelace/assets/icons/hdd-rack-fill.svg +3 -0
  1166. frontend/public/build/shoelace/assets/icons/hdd-rack.svg +4 -0
  1167. frontend/public/build/shoelace/assets/icons/hdd-stack-fill.svg +3 -0
  1168. frontend/public/build/shoelace/assets/icons/hdd-stack.svg +5 -0
  1169. frontend/public/build/shoelace/assets/icons/hdd.svg +4 -0
  1170. frontend/public/build/shoelace/assets/icons/hdmi-fill.svg +3 -0
  1171. frontend/public/build/shoelace/assets/icons/hdmi.svg +4 -0
  1172. frontend/public/build/shoelace/assets/icons/headphones.svg +3 -0
  1173. frontend/public/build/shoelace/assets/icons/headset-vr.svg +4 -0
  1174. frontend/public/build/shoelace/assets/icons/headset.svg +3 -0
  1175. frontend/public/build/shoelace/assets/icons/heart-arrow.svg +3 -0
  1176. frontend/public/build/shoelace/assets/icons/heart-fill.svg +3 -0
  1177. frontend/public/build/shoelace/assets/icons/heart-half.svg +3 -0
  1178. frontend/public/build/shoelace/assets/icons/heart-pulse-fill.svg +4 -0
  1179. frontend/public/build/shoelace/assets/icons/heart-pulse.svg +4 -0
  1180. frontend/public/build/shoelace/assets/icons/heart.svg +3 -0
  1181. frontend/public/build/shoelace/assets/icons/heartbreak-fill.svg +3 -0
  1182. frontend/public/build/shoelace/assets/icons/heartbreak.svg +3 -0
  1183. frontend/public/build/shoelace/assets/icons/hearts.svg +3 -0
  1184. frontend/public/build/shoelace/assets/icons/heptagon-fill.svg +3 -0
  1185. frontend/public/build/shoelace/assets/icons/heptagon-half.svg +3 -0
  1186. frontend/public/build/shoelace/assets/icons/heptagon.svg +3 -0
  1187. frontend/public/build/shoelace/assets/icons/hexagon-fill.svg +3 -0
  1188. frontend/public/build/shoelace/assets/icons/hexagon-half.svg +3 -0
  1189. frontend/public/build/shoelace/assets/icons/hexagon.svg +3 -0
  1190. frontend/public/build/shoelace/assets/icons/highlighter.svg +3 -0
  1191. frontend/public/build/shoelace/assets/icons/highlights.svg +3 -0
  1192. frontend/public/build/shoelace/assets/icons/hospital-fill.svg +3 -0
  1193. frontend/public/build/shoelace/assets/icons/hospital.svg +4 -0
  1194. frontend/public/build/shoelace/assets/icons/hourglass-bottom.svg +3 -0
  1195. frontend/public/build/shoelace/assets/icons/hourglass-split.svg +3 -0
  1196. frontend/public/build/shoelace/assets/icons/hourglass-top.svg +3 -0
  1197. frontend/public/build/shoelace/assets/icons/hourglass.svg +3 -0
  1198. frontend/public/build/shoelace/assets/icons/house-add-fill.svg +5 -0
  1199. frontend/public/build/shoelace/assets/icons/house-add.svg +4 -0
  1200. frontend/public/build/shoelace/assets/icons/house-check-fill.svg +5 -0
  1201. frontend/public/build/shoelace/assets/icons/house-check.svg +4 -0
  1202. frontend/public/build/shoelace/assets/icons/house-dash-fill.svg +5 -0
  1203. frontend/public/build/shoelace/assets/icons/house-dash.svg +4 -0
  1204. frontend/public/build/shoelace/assets/icons/house-door-fill.svg +3 -0
  1205. frontend/public/build/shoelace/assets/icons/house-door.svg +3 -0
  1206. frontend/public/build/shoelace/assets/icons/house-down-fill.svg +5 -0
  1207. frontend/public/build/shoelace/assets/icons/house-down.svg +4 -0
  1208. frontend/public/build/shoelace/assets/icons/house-exclamation-fill.svg +5 -0
  1209. frontend/public/build/shoelace/assets/icons/house-exclamation.svg +4 -0
  1210. frontend/public/build/shoelace/assets/icons/house-fill.svg +4 -0
  1211. frontend/public/build/shoelace/assets/icons/house-gear-fill.svg +5 -0
  1212. frontend/public/build/shoelace/assets/icons/house-gear.svg +4 -0
  1213. frontend/public/build/shoelace/assets/icons/house-heart-fill.svg +4 -0
  1214. frontend/public/build/shoelace/assets/icons/house-heart.svg +4 -0
  1215. frontend/public/build/shoelace/assets/icons/house-lock-fill.svg +5 -0
  1216. frontend/public/build/shoelace/assets/icons/house-lock.svg +4 -0
  1217. frontend/public/build/shoelace/assets/icons/house-slash-fill.svg +5 -0
  1218. frontend/public/build/shoelace/assets/icons/house-slash.svg +4 -0
  1219. frontend/public/build/shoelace/assets/icons/house-up-fill.svg +5 -0
  1220. frontend/public/build/shoelace/assets/icons/house-up.svg +4 -0
  1221. frontend/public/build/shoelace/assets/icons/house-x-fill.svg +5 -0
  1222. frontend/public/build/shoelace/assets/icons/house-x.svg +4 -0
  1223. frontend/public/build/shoelace/assets/icons/house.svg +3 -0
  1224. frontend/public/build/shoelace/assets/icons/houses-fill.svg +4 -0
  1225. frontend/public/build/shoelace/assets/icons/houses.svg +3 -0
  1226. frontend/public/build/shoelace/assets/icons/hr.svg +3 -0
  1227. frontend/public/build/shoelace/assets/icons/hurricane.svg +3 -0
  1228. frontend/public/build/shoelace/assets/icons/hypnotize.svg +4 -0
  1229. frontend/public/build/shoelace/assets/icons/icons.json +24701 -0
  1230. frontend/public/build/shoelace/assets/icons/image-alt.svg +3 -0
  1231. frontend/public/build/shoelace/assets/icons/image-fill.svg +3 -0
  1232. frontend/public/build/shoelace/assets/icons/image.svg +4 -0
  1233. frontend/public/build/shoelace/assets/icons/images.svg +4 -0
  1234. frontend/public/build/shoelace/assets/icons/inbox-fill.svg +3 -0
  1235. frontend/public/build/shoelace/assets/icons/inbox.svg +3 -0
  1236. frontend/public/build/shoelace/assets/icons/inboxes-fill.svg +3 -0
  1237. frontend/public/build/shoelace/assets/icons/inboxes.svg +3 -0
  1238. frontend/public/build/shoelace/assets/icons/incognito.svg +3 -0
  1239. frontend/public/build/shoelace/assets/icons/indent.svg +4 -0
  1240. frontend/public/build/shoelace/assets/icons/infinity.svg +3 -0
  1241. frontend/public/build/shoelace/assets/icons/info-circle-fill.svg +3 -0
  1242. frontend/public/build/shoelace/assets/icons/info-circle.svg +4 -0
  1243. frontend/public/build/shoelace/assets/icons/info-lg.svg +3 -0
  1244. frontend/public/build/shoelace/assets/icons/info-square-fill.svg +3 -0
  1245. frontend/public/build/shoelace/assets/icons/info-square.svg +4 -0
  1246. frontend/public/build/shoelace/assets/icons/info.svg +3 -0
  1247. frontend/public/build/shoelace/assets/icons/input-cursor-text.svg +4 -0
  1248. frontend/public/build/shoelace/assets/icons/input-cursor.svg +4 -0
  1249. frontend/public/build/shoelace/assets/icons/instagram.svg +3 -0
  1250. frontend/public/build/shoelace/assets/icons/intersect.svg +3 -0
  1251. frontend/public/build/shoelace/assets/icons/journal-album.svg +5 -0
  1252. frontend/public/build/shoelace/assets/icons/journal-arrow-down.svg +5 -0
  1253. frontend/public/build/shoelace/assets/icons/journal-arrow-up.svg +5 -0
  1254. frontend/public/build/shoelace/assets/icons/journal-bookmark-fill.svg +5 -0
  1255. frontend/public/build/shoelace/assets/icons/journal-bookmark.svg +5 -0
  1256. frontend/public/build/shoelace/assets/icons/journal-check.svg +5 -0
  1257. frontend/public/build/shoelace/assets/icons/journal-code.svg +5 -0
  1258. frontend/public/build/shoelace/assets/icons/journal-medical.svg +5 -0
  1259. frontend/public/build/shoelace/assets/icons/journal-minus.svg +5 -0
  1260. frontend/public/build/shoelace/assets/icons/journal-plus.svg +5 -0
  1261. frontend/public/build/shoelace/assets/icons/journal-richtext.svg +5 -0
  1262. frontend/public/build/shoelace/assets/icons/journal-text.svg +5 -0
  1263. frontend/public/build/shoelace/assets/icons/journal-x.svg +5 -0
  1264. frontend/public/build/shoelace/assets/icons/journal.svg +4 -0
  1265. frontend/public/build/shoelace/assets/icons/journals.svg +4 -0
  1266. frontend/public/build/shoelace/assets/icons/joystick.svg +4 -0
  1267. frontend/public/build/shoelace/assets/icons/justify-left.svg +3 -0
  1268. frontend/public/build/shoelace/assets/icons/justify-right.svg +3 -0
  1269. frontend/public/build/shoelace/assets/icons/justify.svg +3 -0
  1270. frontend/public/build/shoelace/assets/icons/kanban-fill.svg +3 -0
  1271. frontend/public/build/shoelace/assets/icons/kanban.svg +4 -0
  1272. frontend/public/build/shoelace/assets/icons/key-fill.svg +3 -0
  1273. frontend/public/build/shoelace/assets/icons/key.svg +4 -0
  1274. frontend/public/build/shoelace/assets/icons/keyboard-fill.svg +3 -0
  1275. frontend/public/build/shoelace/assets/icons/keyboard.svg +4 -0
  1276. frontend/public/build/shoelace/assets/icons/ladder.svg +3 -0
  1277. frontend/public/build/shoelace/assets/icons/lamp-fill.svg +4 -0
  1278. frontend/public/build/shoelace/assets/icons/lamp.svg +4 -0
  1279. frontend/public/build/shoelace/assets/icons/laptop-fill.svg +3 -0
  1280. frontend/public/build/shoelace/assets/icons/laptop.svg +3 -0
  1281. frontend/public/build/shoelace/assets/icons/layer-backward.svg +4 -0
  1282. frontend/public/build/shoelace/assets/icons/layer-forward.svg +4 -0
  1283. frontend/public/build/shoelace/assets/icons/layers-fill.svg +4 -0
  1284. frontend/public/build/shoelace/assets/icons/layers-half.svg +3 -0
  1285. frontend/public/build/shoelace/assets/icons/layers.svg +3 -0
  1286. frontend/public/build/shoelace/assets/icons/layout-sidebar-inset-reverse.svg +4 -0
  1287. frontend/public/build/shoelace/assets/icons/layout-sidebar-inset.svg +4 -0
  1288. frontend/public/build/shoelace/assets/icons/layout-sidebar-reverse.svg +3 -0
  1289. frontend/public/build/shoelace/assets/icons/layout-sidebar.svg +3 -0
  1290. frontend/public/build/shoelace/assets/icons/layout-split.svg +3 -0
  1291. frontend/public/build/shoelace/assets/icons/layout-text-sidebar-reverse.svg +4 -0
  1292. frontend/public/build/shoelace/assets/icons/layout-text-sidebar.svg +4 -0
  1293. frontend/public/build/shoelace/assets/icons/layout-text-window-reverse.svg +4 -0
  1294. frontend/public/build/shoelace/assets/icons/layout-text-window.svg +4 -0
  1295. frontend/public/build/shoelace/assets/icons/layout-three-columns.svg +3 -0
  1296. frontend/public/build/shoelace/assets/icons/layout-wtf.svg +3 -0
  1297. frontend/public/build/shoelace/assets/icons/life-preserver.svg +3 -0
  1298. frontend/public/build/shoelace/assets/icons/lightbulb-fill.svg +3 -0
  1299. frontend/public/build/shoelace/assets/icons/lightbulb-off-fill.svg +3 -0
  1300. frontend/public/build/shoelace/assets/icons/lightbulb-off.svg +3 -0
  1301. frontend/public/build/shoelace/assets/icons/lightbulb.svg +3 -0
  1302. frontend/public/build/shoelace/assets/icons/lightning-charge-fill.svg +3 -0
  1303. frontend/public/build/shoelace/assets/icons/lightning-charge.svg +3 -0
  1304. frontend/public/build/shoelace/assets/icons/lightning-fill.svg +3 -0
  1305. frontend/public/build/shoelace/assets/icons/lightning.svg +3 -0
  1306. frontend/public/build/shoelace/assets/icons/line.svg +3 -0
  1307. frontend/public/build/shoelace/assets/icons/link-45deg.svg +4 -0
  1308. frontend/public/build/shoelace/assets/icons/link.svg +4 -0
  1309. frontend/public/build/shoelace/assets/icons/linkedin.svg +3 -0
  1310. frontend/public/build/shoelace/assets/icons/list-check.svg +3 -0
  1311. frontend/public/build/shoelace/assets/icons/list-columns-reverse.svg +3 -0
  1312. frontend/public/build/shoelace/assets/icons/list-columns.svg +3 -0
  1313. frontend/public/build/shoelace/assets/icons/list-nested.svg +3 -0
  1314. frontend/public/build/shoelace/assets/icons/list-ol.svg +4 -0
  1315. frontend/public/build/shoelace/assets/icons/list-stars.svg +4 -0
  1316. frontend/public/build/shoelace/assets/icons/list-task.svg +5 -0
  1317. frontend/public/build/shoelace/assets/icons/list-ul.svg +3 -0
  1318. frontend/public/build/shoelace/assets/icons/list.svg +3 -0
  1319. frontend/public/build/shoelace/assets/icons/lock-fill.svg +3 -0
  1320. frontend/public/build/shoelace/assets/icons/lock.svg +3 -0
  1321. frontend/public/build/shoelace/assets/icons/luggage-fill.svg +4 -0
  1322. frontend/public/build/shoelace/assets/icons/luggage.svg +4 -0
  1323. frontend/public/build/shoelace/assets/icons/lungs-fill.svg +3 -0
  1324. frontend/public/build/shoelace/assets/icons/lungs.svg +3 -0
  1325. frontend/public/build/shoelace/assets/icons/magic.svg +3 -0
  1326. frontend/public/build/shoelace/assets/icons/magnet-fill.svg +3 -0
  1327. frontend/public/build/shoelace/assets/icons/magnet.svg +3 -0
  1328. frontend/public/build/shoelace/assets/icons/mailbox-flag.svg +4 -0
  1329. frontend/public/build/shoelace/assets/icons/mailbox.svg +4 -0
  1330. frontend/public/build/shoelace/assets/icons/mailbox2-flag.svg +4 -0
  1331. frontend/public/build/shoelace/assets/icons/mailbox2.svg +4 -0
  1332. frontend/public/build/shoelace/assets/icons/map-fill.svg +3 -0
  1333. frontend/public/build/shoelace/assets/icons/map.svg +3 -0
  1334. frontend/public/build/shoelace/assets/icons/markdown-fill.svg +3 -0
  1335. frontend/public/build/shoelace/assets/icons/markdown.svg +6 -0
  1336. frontend/public/build/shoelace/assets/icons/marker-tip.svg +3 -0
  1337. frontend/public/build/shoelace/assets/icons/mask.svg +3 -0
  1338. frontend/public/build/shoelace/assets/icons/mastodon.svg +3 -0
  1339. frontend/public/build/shoelace/assets/icons/medium.svg +3 -0
  1340. frontend/public/build/shoelace/assets/icons/megaphone-fill.svg +3 -0
  1341. frontend/public/build/shoelace/assets/icons/megaphone.svg +3 -0
  1342. frontend/public/build/shoelace/assets/icons/memory.svg +3 -0
  1343. frontend/public/build/shoelace/assets/icons/menu-app-fill.svg +3 -0
  1344. frontend/public/build/shoelace/assets/icons/menu-app.svg +3 -0
  1345. frontend/public/build/shoelace/assets/icons/menu-button-fill.svg +3 -0
  1346. frontend/public/build/shoelace/assets/icons/menu-button-wide-fill.svg +3 -0
  1347. frontend/public/build/shoelace/assets/icons/menu-button-wide.svg +4 -0
  1348. frontend/public/build/shoelace/assets/icons/menu-button.svg +4 -0
  1349. frontend/public/build/shoelace/assets/icons/menu-down.svg +3 -0
  1350. frontend/public/build/shoelace/assets/icons/menu-up.svg +3 -0
  1351. frontend/public/build/shoelace/assets/icons/messenger.svg +3 -0
  1352. frontend/public/build/shoelace/assets/icons/meta.svg +3 -0
  1353. frontend/public/build/shoelace/assets/icons/mic-fill.svg +4 -0
  1354. frontend/public/build/shoelace/assets/icons/mic-mute-fill.svg +4 -0
  1355. frontend/public/build/shoelace/assets/icons/mic-mute.svg +4 -0
  1356. frontend/public/build/shoelace/assets/icons/mic.svg +4 -0
  1357. frontend/public/build/shoelace/assets/icons/microsoft-teams.svg +4 -0
  1358. frontend/public/build/shoelace/assets/icons/microsoft.svg +3 -0
  1359. frontend/public/build/shoelace/assets/icons/minecart-loaded.svg +4 -0
  1360. frontend/public/build/shoelace/assets/icons/minecart.svg +3 -0
  1361. frontend/public/build/shoelace/assets/icons/modem-fill.svg +3 -0
  1362. frontend/public/build/shoelace/assets/icons/modem.svg +4 -0
  1363. frontend/public/build/shoelace/assets/icons/moisture.svg +3 -0
  1364. frontend/public/build/shoelace/assets/icons/moon-fill.svg +3 -0
  1365. frontend/public/build/shoelace/assets/icons/moon-stars-fill.svg +4 -0
  1366. frontend/public/build/shoelace/assets/icons/moon-stars.svg +4 -0
  1367. frontend/public/build/shoelace/assets/icons/moon.svg +3 -0
  1368. frontend/public/build/shoelace/assets/icons/mortarboard-fill.svg +4 -0
  1369. frontend/public/build/shoelace/assets/icons/mortarboard.svg +4 -0
  1370. frontend/public/build/shoelace/assets/icons/motherboard-fill.svg +4 -0
  1371. frontend/public/build/shoelace/assets/icons/motherboard.svg +4 -0
  1372. frontend/public/build/shoelace/assets/icons/mouse-fill.svg +3 -0
  1373. frontend/public/build/shoelace/assets/icons/mouse.svg +3 -0
  1374. frontend/public/build/shoelace/assets/icons/mouse2-fill.svg +3 -0
  1375. frontend/public/build/shoelace/assets/icons/mouse2.svg +3 -0
  1376. frontend/public/build/shoelace/assets/icons/mouse3-fill.svg +3 -0
  1377. frontend/public/build/shoelace/assets/icons/mouse3.svg +3 -0
  1378. frontend/public/build/shoelace/assets/icons/music-note-beamed.svg +5 -0
  1379. frontend/public/build/shoelace/assets/icons/music-note-list.svg +6 -0
  1380. frontend/public/build/shoelace/assets/icons/music-note.svg +5 -0
  1381. frontend/public/build/shoelace/assets/icons/music-player-fill.svg +4 -0
  1382. frontend/public/build/shoelace/assets/icons/music-player.svg +5 -0
  1383. frontend/public/build/shoelace/assets/icons/newspaper.svg +4 -0
  1384. frontend/public/build/shoelace/assets/icons/nintendo-switch.svg +4 -0
  1385. frontend/public/build/shoelace/assets/icons/node-minus-fill.svg +3 -0
  1386. frontend/public/build/shoelace/assets/icons/node-minus.svg +3 -0
  1387. frontend/public/build/shoelace/assets/icons/node-plus-fill.svg +3 -0
  1388. frontend/public/build/shoelace/assets/icons/node-plus.svg +3 -0
  1389. frontend/public/build/shoelace/assets/icons/noise-reduction.svg +4 -0
  1390. frontend/public/build/shoelace/assets/icons/nut-fill.svg +3 -0
  1391. frontend/public/build/shoelace/assets/icons/nut.svg +4 -0
  1392. frontend/public/build/shoelace/assets/icons/nvidia.svg +3 -0
  1393. frontend/public/build/shoelace/assets/icons/nvme-fill.svg +4 -0
  1394. frontend/public/build/shoelace/assets/icons/nvme.svg +4 -0
  1395. frontend/public/build/shoelace/assets/icons/octagon-fill.svg +3 -0
  1396. frontend/public/build/shoelace/assets/icons/octagon-half.svg +3 -0
  1397. frontend/public/build/shoelace/assets/icons/octagon.svg +3 -0
  1398. frontend/public/build/shoelace/assets/icons/opencollective.svg +4 -0
  1399. frontend/public/build/shoelace/assets/icons/optical-audio-fill.svg +4 -0
  1400. frontend/public/build/shoelace/assets/icons/optical-audio.svg +5 -0
  1401. frontend/public/build/shoelace/assets/icons/option.svg +3 -0
  1402. frontend/public/build/shoelace/assets/icons/outlet.svg +4 -0
  1403. frontend/public/build/shoelace/assets/icons/p-circle-fill.svg +3 -0
  1404. frontend/public/build/shoelace/assets/icons/p-circle.svg +3 -0
  1405. frontend/public/build/shoelace/assets/icons/p-square-fill.svg +4 -0
  1406. frontend/public/build/shoelace/assets/icons/p-square.svg +4 -0
  1407. frontend/public/build/shoelace/assets/icons/paint-bucket.svg +3 -0
  1408. frontend/public/build/shoelace/assets/icons/palette-fill.svg +3 -0
  1409. frontend/public/build/shoelace/assets/icons/palette.svg +4 -0
  1410. frontend/public/build/shoelace/assets/icons/palette2.svg +3 -0
  1411. frontend/public/build/shoelace/assets/icons/paperclip.svg +3 -0
  1412. frontend/public/build/shoelace/assets/icons/paragraph.svg +3 -0
  1413. frontend/public/build/shoelace/assets/icons/pass-fill.svg +3 -0
  1414. frontend/public/build/shoelace/assets/icons/pass.svg +4 -0
  1415. frontend/public/build/shoelace/assets/icons/passport-fill.svg +4 -0
  1416. frontend/public/build/shoelace/assets/icons/passport.svg +4 -0
  1417. frontend/public/build/shoelace/assets/icons/patch-check-fill.svg +3 -0
  1418. frontend/public/build/shoelace/assets/icons/patch-check.svg +4 -0
  1419. frontend/public/build/shoelace/assets/icons/patch-exclamation-fill.svg +3 -0
  1420. frontend/public/build/shoelace/assets/icons/patch-exclamation.svg +4 -0
  1421. frontend/public/build/shoelace/assets/icons/patch-minus-fill.svg +3 -0
  1422. frontend/public/build/shoelace/assets/icons/patch-minus.svg +4 -0
  1423. frontend/public/build/shoelace/assets/icons/patch-plus-fill.svg +3 -0
  1424. frontend/public/build/shoelace/assets/icons/patch-plus.svg +4 -0
  1425. frontend/public/build/shoelace/assets/icons/patch-question-fill.svg +3 -0
  1426. frontend/public/build/shoelace/assets/icons/patch-question.svg +5 -0
  1427. frontend/public/build/shoelace/assets/icons/pause-btn-fill.svg +3 -0
  1428. frontend/public/build/shoelace/assets/icons/pause-btn.svg +4 -0
  1429. frontend/public/build/shoelace/assets/icons/pause-circle-fill.svg +3 -0
  1430. frontend/public/build/shoelace/assets/icons/pause-circle.svg +4 -0
  1431. frontend/public/build/shoelace/assets/icons/pause-fill.svg +3 -0
  1432. frontend/public/build/shoelace/assets/icons/pause.svg +3 -0
  1433. frontend/public/build/shoelace/assets/icons/paypal.svg +3 -0
  1434. frontend/public/build/shoelace/assets/icons/pc-display-horizontal.svg +3 -0
  1435. frontend/public/build/shoelace/assets/icons/pc-display.svg +3 -0
  1436. frontend/public/build/shoelace/assets/icons/pc-horizontal.svg +3 -0
  1437. frontend/public/build/shoelace/assets/icons/pc.svg +3 -0
  1438. frontend/public/build/shoelace/assets/icons/pci-card-network.svg +5 -0
  1439. frontend/public/build/shoelace/assets/icons/pci-card-sound.svg +5 -0
  1440. frontend/public/build/shoelace/assets/icons/pci-card.svg +4 -0
  1441. frontend/public/build/shoelace/assets/icons/peace-fill.svg +3 -0
  1442. frontend/public/build/shoelace/assets/icons/peace.svg +3 -0
  1443. frontend/public/build/shoelace/assets/icons/pen-fill.svg +3 -0
  1444. frontend/public/build/shoelace/assets/icons/pen.svg +3 -0
  1445. frontend/public/build/shoelace/assets/icons/pencil-fill.svg +3 -0
  1446. frontend/public/build/shoelace/assets/icons/pencil-square.svg +4 -0
  1447. frontend/public/build/shoelace/assets/icons/pencil.svg +3 -0
  1448. frontend/public/build/shoelace/assets/icons/pentagon-fill.svg +3 -0
  1449. frontend/public/build/shoelace/assets/icons/pentagon-half.svg +3 -0
  1450. frontend/public/build/shoelace/assets/icons/pentagon.svg +3 -0
  1451. frontend/public/build/shoelace/assets/icons/people-fill.svg +3 -0
  1452. frontend/public/build/shoelace/assets/icons/people.svg +3 -0
  1453. frontend/public/build/shoelace/assets/icons/percent.svg +3 -0
  1454. frontend/public/build/shoelace/assets/icons/person-add.svg +4 -0
  1455. frontend/public/build/shoelace/assets/icons/person-arms-up.svg +4 -0
  1456. frontend/public/build/shoelace/assets/icons/person-badge-fill.svg +3 -0
  1457. frontend/public/build/shoelace/assets/icons/person-badge.svg +4 -0
  1458. frontend/public/build/shoelace/assets/icons/person-bounding-box.svg +4 -0
  1459. frontend/public/build/shoelace/assets/icons/person-check-fill.svg +4 -0
  1460. frontend/public/build/shoelace/assets/icons/person-check.svg +4 -0
  1461. frontend/public/build/shoelace/assets/icons/person-circle.svg +4 -0
  1462. frontend/public/build/shoelace/assets/icons/person-dash-fill.svg +4 -0
  1463. frontend/public/build/shoelace/assets/icons/person-dash.svg +4 -0
  1464. frontend/public/build/shoelace/assets/icons/person-down.svg +4 -0
  1465. frontend/public/build/shoelace/assets/icons/person-exclamation.svg +4 -0
  1466. frontend/public/build/shoelace/assets/icons/person-fill-add.svg +4 -0
  1467. frontend/public/build/shoelace/assets/icons/person-fill-check.svg +4 -0
  1468. frontend/public/build/shoelace/assets/icons/person-fill-dash.svg +4 -0
  1469. frontend/public/build/shoelace/assets/icons/person-fill-down.svg +4 -0
  1470. frontend/public/build/shoelace/assets/icons/person-fill-exclamation.svg +4 -0
  1471. frontend/public/build/shoelace/assets/icons/person-fill-gear.svg +3 -0
  1472. frontend/public/build/shoelace/assets/icons/person-fill-lock.svg +3 -0
  1473. frontend/public/build/shoelace/assets/icons/person-fill-slash.svg +3 -0
  1474. frontend/public/build/shoelace/assets/icons/person-fill-up.svg +4 -0
  1475. frontend/public/build/shoelace/assets/icons/person-fill-x.svg +4 -0
  1476. frontend/public/build/shoelace/assets/icons/person-fill.svg +3 -0
  1477. frontend/public/build/shoelace/assets/icons/person-gear.svg +3 -0
  1478. frontend/public/build/shoelace/assets/icons/person-heart.svg +3 -0
  1479. frontend/public/build/shoelace/assets/icons/person-hearts.svg +3 -0
  1480. frontend/public/build/shoelace/assets/icons/person-lines-fill.svg +3 -0
  1481. frontend/public/build/shoelace/assets/icons/person-lock.svg +3 -0
  1482. frontend/public/build/shoelace/assets/icons/person-plus-fill.svg +4 -0
  1483. frontend/public/build/shoelace/assets/icons/person-plus.svg +4 -0
  1484. frontend/public/build/shoelace/assets/icons/person-raised-hand.svg +4 -0
  1485. frontend/public/build/shoelace/assets/icons/person-rolodex.svg +4 -0
  1486. frontend/public/build/shoelace/assets/icons/person-slash.svg +3 -0
  1487. frontend/public/build/shoelace/assets/icons/person-square.svg +4 -0
  1488. frontend/public/build/shoelace/assets/icons/person-standing-dress.svg +3 -0
  1489. frontend/public/build/shoelace/assets/icons/person-standing.svg +3 -0
  1490. frontend/public/build/shoelace/assets/icons/person-up.svg +4 -0
  1491. frontend/public/build/shoelace/assets/icons/person-vcard-fill.svg +3 -0
  1492. frontend/public/build/shoelace/assets/icons/person-vcard.svg +4 -0
  1493. frontend/public/build/shoelace/assets/icons/person-video.svg +4 -0
  1494. frontend/public/build/shoelace/assets/icons/person-video2.svg +4 -0
  1495. frontend/public/build/shoelace/assets/icons/person-video3.svg +4 -0
  1496. frontend/public/build/shoelace/assets/icons/person-walking.svg +4 -0
  1497. frontend/public/build/shoelace/assets/icons/person-wheelchair.svg +3 -0
  1498. frontend/public/build/shoelace/assets/icons/person-workspace.svg +4 -0
  1499. frontend/public/build/shoelace/assets/icons/person-x-fill.svg +3 -0
  1500. frontend/public/build/shoelace/assets/icons/person-x.svg +4 -0
  1501. frontend/public/build/shoelace/assets/icons/person.svg +3 -0
  1502. frontend/public/build/shoelace/assets/icons/phone-fill.svg +3 -0
  1503. frontend/public/build/shoelace/assets/icons/phone-flip.svg +3 -0
  1504. frontend/public/build/shoelace/assets/icons/phone-landscape-fill.svg +3 -0
  1505. frontend/public/build/shoelace/assets/icons/phone-landscape.svg +4 -0
  1506. frontend/public/build/shoelace/assets/icons/phone-vibrate-fill.svg +3 -0
  1507. frontend/public/build/shoelace/assets/icons/phone-vibrate.svg +4 -0
  1508. frontend/public/build/shoelace/assets/icons/phone.svg +4 -0
  1509. frontend/public/build/shoelace/assets/icons/pie-chart-fill.svg +3 -0
  1510. frontend/public/build/shoelace/assets/icons/pie-chart.svg +3 -0
  1511. frontend/public/build/shoelace/assets/icons/piggy-bank-fill.svg +3 -0
  1512. frontend/public/build/shoelace/assets/icons/piggy-bank.svg +4 -0
  1513. frontend/public/build/shoelace/assets/icons/pin-angle-fill.svg +3 -0
  1514. frontend/public/build/shoelace/assets/icons/pin-angle.svg +3 -0
  1515. frontend/public/build/shoelace/assets/icons/pin-fill.svg +3 -0
  1516. frontend/public/build/shoelace/assets/icons/pin-map-fill.svg +4 -0
  1517. frontend/public/build/shoelace/assets/icons/pin-map.svg +4 -0
  1518. frontend/public/build/shoelace/assets/icons/pin.svg +3 -0
  1519. frontend/public/build/shoelace/assets/icons/pinterest.svg +3 -0
  1520. frontend/public/build/shoelace/assets/icons/pip-fill.svg +3 -0
  1521. frontend/public/build/shoelace/assets/icons/pip.svg +4 -0
  1522. frontend/public/build/shoelace/assets/icons/play-btn-fill.svg +3 -0
  1523. frontend/public/build/shoelace/assets/icons/play-btn.svg +4 -0
  1524. frontend/public/build/shoelace/assets/icons/play-circle-fill.svg +3 -0
  1525. frontend/public/build/shoelace/assets/icons/play-circle.svg +4 -0
  1526. frontend/public/build/shoelace/assets/icons/play-fill.svg +3 -0
  1527. frontend/public/build/shoelace/assets/icons/play.svg +3 -0
  1528. frontend/public/build/shoelace/assets/icons/playstation.svg +3 -0
  1529. frontend/public/build/shoelace/assets/icons/plug-fill.svg +3 -0
  1530. frontend/public/build/shoelace/assets/icons/plug.svg +3 -0
  1531. frontend/public/build/shoelace/assets/icons/plugin.svg +3 -0
  1532. frontend/public/build/shoelace/assets/icons/plus-circle-dotted.svg +3 -0
  1533. frontend/public/build/shoelace/assets/icons/plus-circle-fill.svg +3 -0
  1534. frontend/public/build/shoelace/assets/icons/plus-circle.svg +4 -0
  1535. frontend/public/build/shoelace/assets/icons/plus-lg.svg +3 -0
  1536. frontend/public/build/shoelace/assets/icons/plus-slash-minus.svg +3 -0
  1537. frontend/public/build/shoelace/assets/icons/plus-square-dotted.svg +3 -0
  1538. frontend/public/build/shoelace/assets/icons/plus-square-fill.svg +3 -0
  1539. frontend/public/build/shoelace/assets/icons/plus-square.svg +4 -0
  1540. frontend/public/build/shoelace/assets/icons/plus.svg +3 -0
  1541. frontend/public/build/shoelace/assets/icons/postage-fill.svg +4 -0
  1542. frontend/public/build/shoelace/assets/icons/postage-heart-fill.svg +4 -0
  1543. frontend/public/build/shoelace/assets/icons/postage-heart.svg +4 -0
  1544. frontend/public/build/shoelace/assets/icons/postage.svg +4 -0
  1545. frontend/public/build/shoelace/assets/icons/postcard-fill.svg +4 -0
  1546. frontend/public/build/shoelace/assets/icons/postcard-heart-fill.svg +3 -0
  1547. frontend/public/build/shoelace/assets/icons/postcard-heart.svg +4 -0
  1548. frontend/public/build/shoelace/assets/icons/postcard.svg +3 -0
  1549. frontend/public/build/shoelace/assets/icons/power.svg +4 -0
  1550. frontend/public/build/shoelace/assets/icons/prescription.svg +4 -0
  1551. frontend/public/build/shoelace/assets/icons/prescription2.svg +4 -0
  1552. frontend/public/build/shoelace/assets/icons/printer-fill.svg +4 -0
  1553. frontend/public/build/shoelace/assets/icons/printer.svg +4 -0
  1554. frontend/public/build/shoelace/assets/icons/projector-fill.svg +3 -0
  1555. frontend/public/build/shoelace/assets/icons/projector.svg +4 -0
  1556. frontend/public/build/shoelace/assets/icons/puzzle-fill.svg +3 -0
  1557. frontend/public/build/shoelace/assets/icons/puzzle.svg +3 -0
  1558. frontend/public/build/shoelace/assets/icons/qr-code-scan.svg +7 -0
  1559. frontend/public/build/shoelace/assets/icons/qr-code.svg +7 -0
  1560. frontend/public/build/shoelace/assets/icons/question-circle-fill.svg +3 -0
  1561. frontend/public/build/shoelace/assets/icons/question-circle.svg +4 -0
  1562. frontend/public/build/shoelace/assets/icons/question-diamond-fill.svg +3 -0
  1563. frontend/public/build/shoelace/assets/icons/question-diamond.svg +4 -0
  1564. frontend/public/build/shoelace/assets/icons/question-lg.svg +3 -0
  1565. frontend/public/build/shoelace/assets/icons/question-octagon-fill.svg +3 -0
  1566. frontend/public/build/shoelace/assets/icons/question-octagon.svg +4 -0
  1567. frontend/public/build/shoelace/assets/icons/question-square-fill.svg +3 -0
  1568. frontend/public/build/shoelace/assets/icons/question-square.svg +4 -0
  1569. frontend/public/build/shoelace/assets/icons/question.svg +3 -0
  1570. frontend/public/build/shoelace/assets/icons/quora.svg +3 -0
  1571. frontend/public/build/shoelace/assets/icons/quote.svg +3 -0
  1572. frontend/public/build/shoelace/assets/icons/r-circle-fill.svg +3 -0
  1573. frontend/public/build/shoelace/assets/icons/r-circle.svg +3 -0
  1574. frontend/public/build/shoelace/assets/icons/r-square-fill.svg +4 -0
  1575. frontend/public/build/shoelace/assets/icons/r-square.svg +4 -0
  1576. frontend/public/build/shoelace/assets/icons/radar.svg +3 -0
  1577. frontend/public/build/shoelace/assets/icons/radioactive.svg +4 -0
  1578. frontend/public/build/shoelace/assets/icons/rainbow.svg +3 -0
  1579. frontend/public/build/shoelace/assets/icons/receipt-cutoff.svg +4 -0
  1580. frontend/public/build/shoelace/assets/icons/receipt.svg +4 -0
  1581. frontend/public/build/shoelace/assets/icons/reception-0.svg +3 -0
  1582. frontend/public/build/shoelace/assets/icons/reception-1.svg +3 -0
  1583. frontend/public/build/shoelace/assets/icons/reception-2.svg +3 -0
  1584. frontend/public/build/shoelace/assets/icons/reception-3.svg +3 -0
  1585. frontend/public/build/shoelace/assets/icons/reception-4.svg +3 -0
  1586. frontend/public/build/shoelace/assets/icons/record-btn-fill.svg +3 -0
  1587. frontend/public/build/shoelace/assets/icons/record-btn.svg +4 -0
  1588. frontend/public/build/shoelace/assets/icons/record-circle-fill.svg +3 -0
  1589. frontend/public/build/shoelace/assets/icons/record-circle.svg +4 -0
  1590. frontend/public/build/shoelace/assets/icons/record-fill.svg +3 -0
  1591. frontend/public/build/shoelace/assets/icons/record.svg +3 -0
  1592. frontend/public/build/shoelace/assets/icons/record2-fill.svg +4 -0
  1593. frontend/public/build/shoelace/assets/icons/record2.svg +4 -0
  1594. frontend/public/build/shoelace/assets/icons/recycle.svg +3 -0
  1595. frontend/public/build/shoelace/assets/icons/reddit.svg +4 -0
  1596. frontend/public/build/shoelace/assets/icons/regex.svg +3 -0
  1597. frontend/public/build/shoelace/assets/icons/repeat-1.svg +4 -0
  1598. frontend/public/build/shoelace/assets/icons/repeat.svg +3 -0
  1599. frontend/public/build/shoelace/assets/icons/reply-all-fill.svg +4 -0
  1600. frontend/public/build/shoelace/assets/icons/reply-all.svg +4 -0
  1601. frontend/public/build/shoelace/assets/icons/reply-fill.svg +3 -0
  1602. frontend/public/build/shoelace/assets/icons/reply.svg +3 -0
  1603. frontend/public/build/shoelace/assets/icons/rewind-btn-fill.svg +3 -0
  1604. frontend/public/build/shoelace/assets/icons/rewind-btn.svg +4 -0
  1605. frontend/public/build/shoelace/assets/icons/rewind-circle-fill.svg +3 -0
  1606. frontend/public/build/shoelace/assets/icons/rewind-circle.svg +4 -0
  1607. frontend/public/build/shoelace/assets/icons/rewind-fill.svg +4 -0
  1608. frontend/public/build/shoelace/assets/icons/rewind.svg +4 -0
  1609. frontend/public/build/shoelace/assets/icons/robot.svg +4 -0
  1610. frontend/public/build/shoelace/assets/icons/rocket-fill.svg +4 -0
  1611. frontend/public/build/shoelace/assets/icons/rocket-takeoff-fill.svg +4 -0
  1612. frontend/public/build/shoelace/assets/icons/rocket-takeoff.svg +5 -0
  1613. frontend/public/build/shoelace/assets/icons/rocket.svg +5 -0
  1614. frontend/public/build/shoelace/assets/icons/router-fill.svg +6 -0
  1615. frontend/public/build/shoelace/assets/icons/router.svg +6 -0
  1616. frontend/public/build/shoelace/assets/icons/rss-fill.svg +3 -0
  1617. frontend/public/build/shoelace/assets/icons/rss.svg +4 -0
  1618. frontend/public/build/shoelace/assets/icons/rulers.svg +3 -0
  1619. frontend/public/build/shoelace/assets/icons/safe-fill.svg +4 -0
  1620. frontend/public/build/shoelace/assets/icons/safe.svg +4 -0
  1621. frontend/public/build/shoelace/assets/icons/safe2-fill.svg +4 -0
  1622. frontend/public/build/shoelace/assets/icons/safe2.svg +4 -0
  1623. frontend/public/build/shoelace/assets/icons/save-fill.svg +3 -0
  1624. frontend/public/build/shoelace/assets/icons/save.svg +3 -0
  1625. frontend/public/build/shoelace/assets/icons/save2-fill.svg +3 -0
  1626. frontend/public/build/shoelace/assets/icons/save2.svg +3 -0
  1627. frontend/public/build/shoelace/assets/icons/scissors.svg +3 -0
  1628. frontend/public/build/shoelace/assets/icons/scooter.svg +3 -0
  1629. frontend/public/build/shoelace/assets/icons/screwdriver.svg +3 -0
  1630. frontend/public/build/shoelace/assets/icons/sd-card-fill.svg +3 -0
  1631. frontend/public/build/shoelace/assets/icons/sd-card.svg +4 -0
  1632. frontend/public/build/shoelace/assets/icons/search-heart-fill.svg +3 -0
  1633. frontend/public/build/shoelace/assets/icons/search-heart.svg +4 -0
  1634. frontend/public/build/shoelace/assets/icons/search.svg +3 -0
  1635. frontend/public/build/shoelace/assets/icons/segmented-nav.svg +3 -0
  1636. frontend/public/build/shoelace/assets/icons/send-arrow-down-fill.svg +4 -0
  1637. frontend/public/build/shoelace/assets/icons/send-arrow-down.svg +4 -0
  1638. frontend/public/build/shoelace/assets/icons/send-arrow-up-fill.svg +4 -0
  1639. frontend/public/build/shoelace/assets/icons/send-arrow-up.svg +4 -0
  1640. frontend/public/build/shoelace/assets/icons/send-check-fill.svg +4 -0
  1641. frontend/public/build/shoelace/assets/icons/send-check.svg +4 -0
  1642. frontend/public/build/shoelace/assets/icons/send-dash-fill.svg +4 -0
  1643. frontend/public/build/shoelace/assets/icons/send-dash.svg +4 -0
  1644. frontend/public/build/shoelace/assets/icons/send-exclamation-fill.svg +4 -0
  1645. frontend/public/build/shoelace/assets/icons/send-exclamation.svg +4 -0
  1646. frontend/public/build/shoelace/assets/icons/send-fill.svg +3 -0
  1647. frontend/public/build/shoelace/assets/icons/send-plus-fill.svg +4 -0
  1648. frontend/public/build/shoelace/assets/icons/send-plus.svg +4 -0
  1649. frontend/public/build/shoelace/assets/icons/send-slash-fill.svg +4 -0
  1650. frontend/public/build/shoelace/assets/icons/send-slash.svg +4 -0
  1651. frontend/public/build/shoelace/assets/icons/send-x-fill.svg +4 -0
  1652. frontend/public/build/shoelace/assets/icons/send-x.svg +4 -0
  1653. frontend/public/build/shoelace/assets/icons/send.svg +3 -0
  1654. frontend/public/build/shoelace/assets/icons/server.svg +5 -0
  1655. frontend/public/build/shoelace/assets/icons/shadows.svg +3 -0
  1656. frontend/public/build/shoelace/assets/icons/share-fill.svg +3 -0
  1657. frontend/public/build/shoelace/assets/icons/share.svg +3 -0
  1658. frontend/public/build/shoelace/assets/icons/shield-check.svg +4 -0
  1659. frontend/public/build/shoelace/assets/icons/shield-exclamation.svg +4 -0
  1660. frontend/public/build/shoelace/assets/icons/shield-fill-check.svg +3 -0
  1661. frontend/public/build/shoelace/assets/icons/shield-fill-exclamation.svg +3 -0
  1662. frontend/public/build/shoelace/assets/icons/shield-fill-minus.svg +3 -0
  1663. frontend/public/build/shoelace/assets/icons/shield-fill-plus.svg +3 -0
  1664. frontend/public/build/shoelace/assets/icons/shield-fill-x.svg +3 -0
  1665. frontend/public/build/shoelace/assets/icons/shield-fill.svg +3 -0
  1666. frontend/public/build/shoelace/assets/icons/shield-lock-fill.svg +3 -0
  1667. frontend/public/build/shoelace/assets/icons/shield-lock.svg +4 -0
  1668. frontend/public/build/shoelace/assets/icons/shield-minus.svg +4 -0
  1669. frontend/public/build/shoelace/assets/icons/shield-plus.svg +4 -0
  1670. frontend/public/build/shoelace/assets/icons/shield-shaded.svg +3 -0
  1671. frontend/public/build/shoelace/assets/icons/shield-slash-fill.svg +3 -0
  1672. frontend/public/build/shoelace/assets/icons/shield-slash.svg +3 -0
  1673. frontend/public/build/shoelace/assets/icons/shield-x.svg +4 -0
  1674. frontend/public/build/shoelace/assets/icons/shield.svg +3 -0
  1675. frontend/public/build/shoelace/assets/icons/shift-fill.svg +3 -0
  1676. frontend/public/build/shoelace/assets/icons/shift.svg +3 -0
  1677. frontend/public/build/shoelace/assets/icons/shop-window.svg +3 -0
  1678. frontend/public/build/shoelace/assets/icons/shop.svg +3 -0
  1679. frontend/public/build/shoelace/assets/icons/shuffle.svg +4 -0
  1680. frontend/public/build/shoelace/assets/icons/sign-dead-end-fill.svg +4 -0
  1681. frontend/public/build/shoelace/assets/icons/sign-dead-end.svg +4 -0
  1682. frontend/public/build/shoelace/assets/icons/sign-do-not-enter-fill.svg +4 -0
  1683. frontend/public/build/shoelace/assets/icons/sign-do-not-enter.svg +4 -0
  1684. frontend/public/build/shoelace/assets/icons/sign-intersection-fill.svg +3 -0
  1685. frontend/public/build/shoelace/assets/icons/sign-intersection-side-fill.svg +3 -0
  1686. frontend/public/build/shoelace/assets/icons/sign-intersection-side.svg +4 -0
  1687. frontend/public/build/shoelace/assets/icons/sign-intersection-t-fill.svg +3 -0
  1688. frontend/public/build/shoelace/assets/icons/sign-intersection-t.svg +4 -0
  1689. frontend/public/build/shoelace/assets/icons/sign-intersection-y-fill.svg +3 -0
  1690. frontend/public/build/shoelace/assets/icons/sign-intersection-y.svg +4 -0
  1691. frontend/public/build/shoelace/assets/icons/sign-intersection.svg +4 -0
  1692. frontend/public/build/shoelace/assets/icons/sign-merge-left-fill.svg +3 -0
  1693. frontend/public/build/shoelace/assets/icons/sign-merge-left.svg +4 -0
  1694. frontend/public/build/shoelace/assets/icons/sign-merge-right-fill.svg +3 -0
  1695. frontend/public/build/shoelace/assets/icons/sign-merge-right.svg +4 -0
  1696. frontend/public/build/shoelace/assets/icons/sign-no-left-turn-fill.svg +4 -0
  1697. frontend/public/build/shoelace/assets/icons/sign-no-left-turn.svg +3 -0
  1698. frontend/public/build/shoelace/assets/icons/sign-no-parking-fill.svg +4 -0
  1699. frontend/public/build/shoelace/assets/icons/sign-no-parking.svg +3 -0
  1700. frontend/public/build/shoelace/assets/icons/sign-no-right-turn-fill.svg +4 -0
  1701. frontend/public/build/shoelace/assets/icons/sign-no-right-turn.svg +3 -0
  1702. frontend/public/build/shoelace/assets/icons/sign-railroad-fill.svg +5 -0
  1703. frontend/public/build/shoelace/assets/icons/sign-railroad.svg +4 -0
  1704. frontend/public/build/shoelace/assets/icons/sign-stop-fill.svg +4 -0
  1705. frontend/public/build/shoelace/assets/icons/sign-stop-lights-fill.svg +4 -0
  1706. frontend/public/build/shoelace/assets/icons/sign-stop-lights.svg +4 -0
  1707. frontend/public/build/shoelace/assets/icons/sign-stop.svg +5 -0
  1708. frontend/public/build/shoelace/assets/icons/sign-turn-left-fill.svg +3 -0
  1709. frontend/public/build/shoelace/assets/icons/sign-turn-left.svg +4 -0
  1710. frontend/public/build/shoelace/assets/icons/sign-turn-right-fill.svg +3 -0
  1711. frontend/public/build/shoelace/assets/icons/sign-turn-right.svg +4 -0
  1712. frontend/public/build/shoelace/assets/icons/sign-turn-slight-left-fill.svg +3 -0
  1713. frontend/public/build/shoelace/assets/icons/sign-turn-slight-left.svg +4 -0
  1714. frontend/public/build/shoelace/assets/icons/sign-turn-slight-right-fill.svg +3 -0
  1715. frontend/public/build/shoelace/assets/icons/sign-turn-slight-right.svg +4 -0
  1716. frontend/public/build/shoelace/assets/icons/sign-yield-fill.svg +4 -0
  1717. frontend/public/build/shoelace/assets/icons/sign-yield.svg +5 -0
  1718. frontend/public/build/shoelace/assets/icons/signal.svg +3 -0
  1719. frontend/public/build/shoelace/assets/icons/signpost-2-fill.svg +3 -0
  1720. frontend/public/build/shoelace/assets/icons/signpost-2.svg +3 -0
  1721. frontend/public/build/shoelace/assets/icons/signpost-fill.svg +3 -0
  1722. frontend/public/build/shoelace/assets/icons/signpost-split-fill.svg +3 -0
  1723. frontend/public/build/shoelace/assets/icons/signpost-split.svg +3 -0
  1724. frontend/public/build/shoelace/assets/icons/signpost.svg +3 -0
  1725. frontend/public/build/shoelace/assets/icons/sim-fill.svg +4 -0
  1726. frontend/public/build/shoelace/assets/icons/sim-slash-fill.svg +3 -0
  1727. frontend/public/build/shoelace/assets/icons/sim-slash.svg +3 -0
  1728. frontend/public/build/shoelace/assets/icons/sim.svg +4 -0
  1729. frontend/public/build/shoelace/assets/icons/sina-weibo.svg +4 -0
  1730. frontend/public/build/shoelace/assets/icons/skip-backward-btn-fill.svg +3 -0
  1731. frontend/public/build/shoelace/assets/icons/skip-backward-btn.svg +4 -0
  1732. frontend/public/build/shoelace/assets/icons/skip-backward-circle-fill.svg +3 -0
  1733. frontend/public/build/shoelace/assets/icons/skip-backward-circle.svg +4 -0
  1734. frontend/public/build/shoelace/assets/icons/skip-backward-fill.svg +3 -0
  1735. frontend/public/build/shoelace/assets/icons/skip-backward.svg +3 -0
  1736. frontend/public/build/shoelace/assets/icons/skip-end-btn-fill.svg +3 -0
  1737. frontend/public/build/shoelace/assets/icons/skip-end-btn.svg +4 -0
  1738. frontend/public/build/shoelace/assets/icons/skip-end-circle-fill.svg +3 -0
  1739. frontend/public/build/shoelace/assets/icons/skip-end-circle.svg +4 -0
  1740. frontend/public/build/shoelace/assets/icons/skip-end-fill.svg +3 -0
  1741. frontend/public/build/shoelace/assets/icons/skip-end.svg +3 -0
  1742. frontend/public/build/shoelace/assets/icons/skip-forward-btn-fill.svg +3 -0
  1743. frontend/public/build/shoelace/assets/icons/skip-forward-btn.svg +4 -0
  1744. frontend/public/build/shoelace/assets/icons/skip-forward-circle-fill.svg +3 -0
  1745. frontend/public/build/shoelace/assets/icons/skip-forward-circle.svg +4 -0
  1746. frontend/public/build/shoelace/assets/icons/skip-forward-fill.svg +3 -0
  1747. frontend/public/build/shoelace/assets/icons/skip-forward.svg +3 -0
  1748. frontend/public/build/shoelace/assets/icons/skip-start-btn-fill.svg +3 -0
  1749. frontend/public/build/shoelace/assets/icons/skip-start-btn.svg +4 -0
  1750. frontend/public/build/shoelace/assets/icons/skip-start-circle-fill.svg +3 -0
  1751. frontend/public/build/shoelace/assets/icons/skip-start-circle.svg +4 -0
  1752. frontend/public/build/shoelace/assets/icons/skip-start-fill.svg +3 -0
  1753. frontend/public/build/shoelace/assets/icons/skip-start.svg +3 -0
  1754. frontend/public/build/shoelace/assets/icons/skype.svg +3 -0
  1755. frontend/public/build/shoelace/assets/icons/slack.svg +3 -0
  1756. frontend/public/build/shoelace/assets/icons/slash-circle-fill.svg +3 -0
  1757. frontend/public/build/shoelace/assets/icons/slash-circle.svg +4 -0
  1758. frontend/public/build/shoelace/assets/icons/slash-lg.svg +3 -0
  1759. frontend/public/build/shoelace/assets/icons/slash-square-fill.svg +3 -0
  1760. frontend/public/build/shoelace/assets/icons/slash-square.svg +4 -0
  1761. frontend/public/build/shoelace/assets/icons/slash.svg +3 -0
  1762. frontend/public/build/shoelace/assets/icons/sliders.svg +3 -0
  1763. frontend/public/build/shoelace/assets/icons/sliders2-vertical.svg +3 -0
  1764. frontend/public/build/shoelace/assets/icons/sliders2.svg +3 -0
  1765. frontend/public/build/shoelace/assets/icons/smartwatch.svg +4 -0
  1766. frontend/public/build/shoelace/assets/icons/snapchat.svg +3 -0
  1767. frontend/public/build/shoelace/assets/icons/snow.svg +3 -0
  1768. frontend/public/build/shoelace/assets/icons/snow2.svg +3 -0
  1769. frontend/public/build/shoelace/assets/icons/snow3.svg +4 -0
  1770. frontend/public/build/shoelace/assets/icons/sort-alpha-down-alt.svg +5 -0
  1771. frontend/public/build/shoelace/assets/icons/sort-alpha-down.svg +4 -0
  1772. frontend/public/build/shoelace/assets/icons/sort-alpha-up-alt.svg +5 -0
  1773. frontend/public/build/shoelace/assets/icons/sort-alpha-up.svg +4 -0
  1774. frontend/public/build/shoelace/assets/icons/sort-down-alt.svg +3 -0
  1775. frontend/public/build/shoelace/assets/icons/sort-down.svg +3 -0
  1776. frontend/public/build/shoelace/assets/icons/sort-numeric-down-alt.svg +4 -0
  1777. frontend/public/build/shoelace/assets/icons/sort-numeric-down.svg +5 -0
  1778. frontend/public/build/shoelace/assets/icons/sort-numeric-up-alt.svg +4 -0
  1779. frontend/public/build/shoelace/assets/icons/sort-numeric-up.svg +5 -0
  1780. frontend/public/build/shoelace/assets/icons/sort-up-alt.svg +3 -0
  1781. frontend/public/build/shoelace/assets/icons/sort-up.svg +3 -0
  1782. frontend/public/build/shoelace/assets/icons/soundwave.svg +3 -0
  1783. frontend/public/build/shoelace/assets/icons/sourceforge.svg +4 -0
  1784. frontend/public/build/shoelace/assets/icons/speaker-fill.svg +4 -0
  1785. frontend/public/build/shoelace/assets/icons/speaker.svg +4 -0
  1786. frontend/public/build/shoelace/assets/icons/speedometer.svg +4 -0
  1787. frontend/public/build/shoelace/assets/icons/speedometer2.svg +4 -0
  1788. frontend/public/build/shoelace/assets/icons/spellcheck.svg +4 -0
  1789. frontend/public/build/shoelace/assets/icons/spotify.svg +3 -0
  1790. frontend/public/build/shoelace/assets/icons/square-fill.svg +3 -0
  1791. frontend/public/build/shoelace/assets/icons/square-half.svg +3 -0
  1792. frontend/public/build/shoelace/assets/icons/square.svg +3 -0
  1793. frontend/public/build/shoelace/assets/icons/stack-overflow.svg +4 -0
  1794. frontend/public/build/shoelace/assets/icons/stack.svg +4 -0
  1795. frontend/public/build/shoelace/assets/icons/star-fill.svg +3 -0
  1796. frontend/public/build/shoelace/assets/icons/star-half.svg +3 -0
  1797. frontend/public/build/shoelace/assets/icons/star.svg +3 -0
  1798. frontend/public/build/shoelace/assets/icons/stars.svg +3 -0
  1799. frontend/public/build/shoelace/assets/icons/steam.svg +4 -0
  1800. frontend/public/build/shoelace/assets/icons/stickies-fill.svg +4 -0
  1801. frontend/public/build/shoelace/assets/icons/stickies.svg +4 -0
  1802. frontend/public/build/shoelace/assets/icons/sticky-fill.svg +3 -0
  1803. frontend/public/build/shoelace/assets/icons/sticky.svg +3 -0
  1804. frontend/public/build/shoelace/assets/icons/stop-btn-fill.svg +3 -0
  1805. frontend/public/build/shoelace/assets/icons/stop-btn.svg +4 -0
  1806. frontend/public/build/shoelace/assets/icons/stop-circle-fill.svg +3 -0
  1807. frontend/public/build/shoelace/assets/icons/stop-circle.svg +4 -0
  1808. frontend/public/build/shoelace/assets/icons/stop-fill.svg +3 -0
  1809. frontend/public/build/shoelace/assets/icons/stop.svg +3 -0
  1810. frontend/public/build/shoelace/assets/icons/stoplights-fill.svg +3 -0
  1811. frontend/public/build/shoelace/assets/icons/stoplights.svg +4 -0
  1812. frontend/public/build/shoelace/assets/icons/stopwatch-fill.svg +3 -0
  1813. frontend/public/build/shoelace/assets/icons/stopwatch.svg +4 -0
  1814. frontend/public/build/shoelace/assets/icons/strava.svg +3 -0
  1815. frontend/public/build/shoelace/assets/icons/stripe.svg +3 -0
  1816. frontend/public/build/shoelace/assets/icons/subscript.svg +3 -0
  1817. frontend/public/build/shoelace/assets/icons/substack.svg +3 -0
  1818. frontend/public/build/shoelace/assets/icons/subtract.svg +3 -0
  1819. frontend/public/build/shoelace/assets/icons/suit-club-fill.svg +3 -0
  1820. frontend/public/build/shoelace/assets/icons/suit-club.svg +3 -0
  1821. frontend/public/build/shoelace/assets/icons/suit-diamond-fill.svg +3 -0
  1822. frontend/public/build/shoelace/assets/icons/suit-diamond.svg +3 -0
  1823. frontend/public/build/shoelace/assets/icons/suit-heart-fill.svg +3 -0
  1824. frontend/public/build/shoelace/assets/icons/suit-heart.svg +3 -0
  1825. frontend/public/build/shoelace/assets/icons/suit-spade-fill.svg +3 -0
  1826. frontend/public/build/shoelace/assets/icons/suit-spade.svg +3 -0
  1827. frontend/public/build/shoelace/assets/icons/suitcase-fill.svg +3 -0
  1828. frontend/public/build/shoelace/assets/icons/suitcase-lg-fill.svg +3 -0
  1829. frontend/public/build/shoelace/assets/icons/suitcase-lg.svg +3 -0
  1830. frontend/public/build/shoelace/assets/icons/suitcase.svg +4 -0
  1831. frontend/public/build/shoelace/assets/icons/suitcase2-fill.svg +3 -0
  1832. frontend/public/build/shoelace/assets/icons/suitcase2.svg +3 -0
  1833. frontend/public/build/shoelace/assets/icons/sun-fill.svg +3 -0
  1834. frontend/public/build/shoelace/assets/icons/sun.svg +3 -0
  1835. frontend/public/build/shoelace/assets/icons/sunglasses.svg +3 -0
  1836. frontend/public/build/shoelace/assets/icons/sunrise-fill.svg +3 -0
  1837. frontend/public/build/shoelace/assets/icons/sunrise.svg +3 -0
  1838. frontend/public/build/shoelace/assets/icons/sunset-fill.svg +3 -0
  1839. frontend/public/build/shoelace/assets/icons/sunset.svg +3 -0
  1840. frontend/public/build/shoelace/assets/icons/superscript.svg +3 -0
  1841. frontend/public/build/shoelace/assets/icons/symmetry-horizontal.svg +3 -0
  1842. frontend/public/build/shoelace/assets/icons/symmetry-vertical.svg +3 -0
  1843. frontend/public/build/shoelace/assets/icons/table.svg +3 -0
  1844. frontend/public/build/shoelace/assets/icons/tablet-fill.svg +3 -0
  1845. frontend/public/build/shoelace/assets/icons/tablet-landscape-fill.svg +3 -0
  1846. frontend/public/build/shoelace/assets/icons/tablet-landscape.svg +4 -0
  1847. frontend/public/build/shoelace/assets/icons/tablet.svg +4 -0
  1848. frontend/public/build/shoelace/assets/icons/tag-fill.svg +3 -0
  1849. frontend/public/build/shoelace/assets/icons/tag.svg +4 -0
  1850. frontend/public/build/shoelace/assets/icons/tags-fill.svg +4 -0
  1851. frontend/public/build/shoelace/assets/icons/tags.svg +4 -0
  1852. frontend/public/build/shoelace/assets/icons/taxi-front-fill.svg +3 -0
  1853. frontend/public/build/shoelace/assets/icons/taxi-front.svg +4 -0
  1854. frontend/public/build/shoelace/assets/icons/telegram.svg +3 -0
  1855. frontend/public/build/shoelace/assets/icons/telephone-fill.svg +3 -0
  1856. frontend/public/build/shoelace/assets/icons/telephone-forward-fill.svg +3 -0
  1857. frontend/public/build/shoelace/assets/icons/telephone-forward.svg +3 -0
  1858. frontend/public/build/shoelace/assets/icons/telephone-inbound-fill.svg +3 -0
  1859. frontend/public/build/shoelace/assets/icons/telephone-inbound.svg +3 -0
  1860. frontend/public/build/shoelace/assets/icons/telephone-minus-fill.svg +3 -0
  1861. frontend/public/build/shoelace/assets/icons/telephone-minus.svg +4 -0
  1862. frontend/public/build/shoelace/assets/icons/telephone-outbound-fill.svg +3 -0
  1863. frontend/public/build/shoelace/assets/icons/telephone-outbound.svg +3 -0
  1864. frontend/public/build/shoelace/assets/icons/telephone-plus-fill.svg +3 -0
  1865. frontend/public/build/shoelace/assets/icons/telephone-plus.svg +4 -0
  1866. frontend/public/build/shoelace/assets/icons/telephone-x-fill.svg +3 -0
  1867. frontend/public/build/shoelace/assets/icons/telephone-x.svg +4 -0
  1868. frontend/public/build/shoelace/assets/icons/telephone.svg +3 -0
  1869. frontend/public/build/shoelace/assets/icons/tencent-qq.svg +4 -0
  1870. frontend/public/build/shoelace/assets/icons/terminal-dash.svg +4 -0
  1871. frontend/public/build/shoelace/assets/icons/terminal-fill.svg +3 -0
  1872. frontend/public/build/shoelace/assets/icons/terminal-plus.svg +4 -0
  1873. frontend/public/build/shoelace/assets/icons/terminal-split.svg +4 -0
  1874. frontend/public/build/shoelace/assets/icons/terminal-x.svg +4 -0
  1875. frontend/public/build/shoelace/assets/icons/terminal.svg +4 -0
  1876. frontend/public/build/shoelace/assets/icons/text-center.svg +3 -0
  1877. frontend/public/build/shoelace/assets/icons/text-indent-left.svg +3 -0
  1878. frontend/public/build/shoelace/assets/icons/text-indent-right.svg +3 -0
  1879. frontend/public/build/shoelace/assets/icons/text-left.svg +3 -0
  1880. frontend/public/build/shoelace/assets/icons/text-paragraph.svg +3 -0
  1881. frontend/public/build/shoelace/assets/icons/text-right.svg +3 -0
  1882. frontend/public/build/shoelace/assets/icons/text-wrap.svg +3 -0
  1883. frontend/public/build/shoelace/assets/icons/textarea-resize.svg +3 -0
  1884. frontend/public/build/shoelace/assets/icons/textarea-t.svg +4 -0
  1885. frontend/public/build/shoelace/assets/icons/textarea.svg +3 -0
  1886. frontend/public/build/shoelace/assets/icons/thermometer-half.svg +4 -0
  1887. frontend/public/build/shoelace/assets/icons/thermometer-high.svg +4 -0
  1888. frontend/public/build/shoelace/assets/icons/thermometer-low.svg +4 -0
  1889. frontend/public/build/shoelace/assets/icons/thermometer-snow.svg +4 -0
  1890. frontend/public/build/shoelace/assets/icons/thermometer-sun.svg +4 -0
  1891. frontend/public/build/shoelace/assets/icons/thermometer.svg +4 -0
  1892. frontend/public/build/shoelace/assets/icons/threads-fill.svg +4 -0
  1893. frontend/public/build/shoelace/assets/icons/threads.svg +3 -0
  1894. frontend/public/build/shoelace/assets/icons/three-dots-vertical.svg +3 -0
  1895. frontend/public/build/shoelace/assets/icons/three-dots.svg +3 -0
  1896. frontend/public/build/shoelace/assets/icons/thunderbolt-fill.svg +3 -0
  1897. frontend/public/build/shoelace/assets/icons/thunderbolt.svg +4 -0
  1898. frontend/public/build/shoelace/assets/icons/ticket-detailed-fill.svg +3 -0
  1899. frontend/public/build/shoelace/assets/icons/ticket-detailed.svg +4 -0
  1900. frontend/public/build/shoelace/assets/icons/ticket-fill.svg +3 -0
  1901. frontend/public/build/shoelace/assets/icons/ticket-perforated-fill.svg +3 -0
  1902. frontend/public/build/shoelace/assets/icons/ticket-perforated.svg +4 -0
  1903. frontend/public/build/shoelace/assets/icons/ticket.svg +3 -0
  1904. frontend/public/build/shoelace/assets/icons/tiktok.svg +3 -0
  1905. frontend/public/build/shoelace/assets/icons/toggle-off.svg +3 -0
  1906. frontend/public/build/shoelace/assets/icons/toggle-on.svg +3 -0
  1907. frontend/public/build/shoelace/assets/icons/toggle2-off.svg +4 -0
  1908. frontend/public/build/shoelace/assets/icons/toggle2-on.svg +4 -0
  1909. frontend/public/build/shoelace/assets/icons/toggles.svg +3 -0
  1910. frontend/public/build/shoelace/assets/icons/toggles2.svg +5 -0
  1911. frontend/public/build/shoelace/assets/icons/tools.svg +3 -0
  1912. frontend/public/build/shoelace/assets/icons/tornado.svg +3 -0
  1913. frontend/public/build/shoelace/assets/icons/train-freight-front-fill.svg +3 -0
  1914. frontend/public/build/shoelace/assets/icons/train-freight-front.svg +3 -0
  1915. frontend/public/build/shoelace/assets/icons/train-front-fill.svg +3 -0
  1916. frontend/public/build/shoelace/assets/icons/train-front.svg +3 -0
  1917. frontend/public/build/shoelace/assets/icons/train-lightrail-front-fill.svg +3 -0
  1918. frontend/public/build/shoelace/assets/icons/train-lightrail-front.svg +3 -0
  1919. frontend/public/build/shoelace/assets/icons/translate.svg +4 -0
  1920. frontend/public/build/shoelace/assets/icons/transparency.svg +3 -0
  1921. frontend/public/build/shoelace/assets/icons/trash-fill.svg +3 -0
  1922. frontend/public/build/shoelace/assets/icons/trash.svg +4 -0
  1923. frontend/public/build/shoelace/assets/icons/trash2-fill.svg +3 -0
  1924. frontend/public/build/shoelace/assets/icons/trash2.svg +3 -0
  1925. frontend/public/build/shoelace/assets/icons/trash3-fill.svg +3 -0
  1926. frontend/public/build/shoelace/assets/icons/trash3.svg +3 -0
  1927. frontend/public/build/shoelace/assets/icons/tree-fill.svg +3 -0
  1928. frontend/public/build/shoelace/assets/icons/tree.svg +3 -0
  1929. frontend/public/build/shoelace/assets/icons/trello.svg +3 -0
  1930. frontend/public/build/shoelace/assets/icons/triangle-fill.svg +3 -0
  1931. frontend/public/build/shoelace/assets/icons/triangle-half.svg +3 -0
  1932. frontend/public/build/shoelace/assets/icons/triangle.svg +3 -0
  1933. frontend/public/build/shoelace/assets/icons/trophy-fill.svg +3 -0
  1934. frontend/public/build/shoelace/assets/icons/trophy.svg +3 -0
  1935. frontend/public/build/shoelace/assets/icons/tropical-storm.svg +4 -0
  1936. frontend/public/build/shoelace/assets/icons/truck-flatbed.svg +3 -0
  1937. frontend/public/build/shoelace/assets/icons/truck-front-fill.svg +3 -0
  1938. frontend/public/build/shoelace/assets/icons/truck-front.svg +4 -0
  1939. frontend/public/build/shoelace/assets/icons/truck.svg +3 -0
  1940. frontend/public/build/shoelace/assets/icons/tsunami.svg +3 -0
  1941. frontend/public/build/shoelace/assets/icons/tv-fill.svg +3 -0
  1942. frontend/public/build/shoelace/assets/icons/tv.svg +3 -0
  1943. frontend/public/build/shoelace/assets/icons/twitch.svg +4 -0
  1944. frontend/public/build/shoelace/assets/icons/twitter-x.svg +3 -0
  1945. frontend/public/build/shoelace/assets/icons/twitter.svg +3 -0
  1946. frontend/public/build/shoelace/assets/icons/type-bold.svg +3 -0
  1947. frontend/public/build/shoelace/assets/icons/type-h1.svg +3 -0
  1948. frontend/public/build/shoelace/assets/icons/type-h2.svg +3 -0
  1949. frontend/public/build/shoelace/assets/icons/type-h3.svg +3 -0
  1950. frontend/public/build/shoelace/assets/icons/type-h4.svg +3 -0
  1951. frontend/public/build/shoelace/assets/icons/type-h5.svg +3 -0
  1952. frontend/public/build/shoelace/assets/icons/type-h6.svg +3 -0
  1953. frontend/public/build/shoelace/assets/icons/type-italic.svg +3 -0
  1954. frontend/public/build/shoelace/assets/icons/type-strikethrough.svg +3 -0
  1955. frontend/public/build/shoelace/assets/icons/type-underline.svg +3 -0
  1956. frontend/public/build/shoelace/assets/icons/type.svg +3 -0
  1957. frontend/public/build/shoelace/assets/icons/ubuntu.svg +3 -0
  1958. frontend/public/build/shoelace/assets/icons/ui-checks-grid.svg +3 -0
  1959. frontend/public/build/shoelace/assets/icons/ui-checks.svg +3 -0
  1960. frontend/public/build/shoelace/assets/icons/ui-radios-grid.svg +3 -0
  1961. frontend/public/build/shoelace/assets/icons/ui-radios.svg +3 -0
  1962. frontend/public/build/shoelace/assets/icons/umbrella-fill.svg +3 -0
  1963. frontend/public/build/shoelace/assets/icons/umbrella.svg +3 -0
  1964. frontend/public/build/shoelace/assets/icons/unindent.svg +4 -0
  1965. frontend/public/build/shoelace/assets/icons/union.svg +3 -0
  1966. frontend/public/build/shoelace/assets/icons/unity.svg +3 -0
  1967. frontend/public/build/shoelace/assets/icons/universal-access-circle.svg +4 -0
  1968. frontend/public/build/shoelace/assets/icons/universal-access.svg +3 -0
  1969. frontend/public/build/shoelace/assets/icons/unlock-fill.svg +3 -0
  1970. frontend/public/build/shoelace/assets/icons/unlock.svg +3 -0
  1971. frontend/public/build/shoelace/assets/icons/upc-scan.svg +3 -0
  1972. frontend/public/build/shoelace/assets/icons/upc.svg +3 -0
  1973. frontend/public/build/shoelace/assets/icons/upload.svg +4 -0
  1974. frontend/public/build/shoelace/assets/icons/usb-c-fill.svg +3 -0
  1975. frontend/public/build/shoelace/assets/icons/usb-c.svg +4 -0
  1976. frontend/public/build/shoelace/assets/icons/usb-drive-fill.svg +3 -0
  1977. frontend/public/build/shoelace/assets/icons/usb-drive.svg +3 -0
  1978. frontend/public/build/shoelace/assets/icons/usb-fill.svg +3 -0
  1979. frontend/public/build/shoelace/assets/icons/usb-micro-fill.svg +3 -0
  1980. frontend/public/build/shoelace/assets/icons/usb-micro.svg +4 -0
  1981. frontend/public/build/shoelace/assets/icons/usb-mini-fill.svg +3 -0
  1982. frontend/public/build/shoelace/assets/icons/usb-mini.svg +4 -0
  1983. frontend/public/build/shoelace/assets/icons/usb-plug-fill.svg +3 -0
  1984. frontend/public/build/shoelace/assets/icons/usb-plug.svg +3 -0
  1985. frontend/public/build/shoelace/assets/icons/usb-symbol.svg +3 -0
  1986. frontend/public/build/shoelace/assets/icons/usb.svg +4 -0
  1987. frontend/public/build/shoelace/assets/icons/valentine.svg +4 -0
  1988. frontend/public/build/shoelace/assets/icons/valentine2.svg +4 -0
  1989. frontend/public/build/shoelace/assets/icons/vector-pen.svg +4 -0
  1990. frontend/public/build/shoelace/assets/icons/view-list.svg +3 -0
  1991. frontend/public/build/shoelace/assets/icons/view-stacked.svg +3 -0
  1992. frontend/public/build/shoelace/assets/icons/vignette.svg +4 -0
  1993. frontend/public/build/shoelace/assets/icons/vimeo.svg +3 -0
  1994. frontend/public/build/shoelace/assets/icons/vinyl-fill.svg +4 -0
  1995. frontend/public/build/shoelace/assets/icons/vinyl.svg +5 -0
  1996. frontend/public/build/shoelace/assets/icons/virus.svg +3 -0
  1997. frontend/public/build/shoelace/assets/icons/virus2.svg +3 -0
  1998. frontend/public/build/shoelace/assets/icons/voicemail.svg +3 -0
  1999. frontend/public/build/shoelace/assets/icons/volume-down-fill.svg +3 -0
  2000. frontend/public/build/shoelace/assets/icons/volume-down.svg +3 -0
  2001. frontend/public/build/shoelace/assets/icons/volume-mute-fill.svg +3 -0
  2002. frontend/public/build/shoelace/assets/icons/volume-mute.svg +3 -0
  2003. frontend/public/build/shoelace/assets/icons/volume-off-fill.svg +3 -0
  2004. frontend/public/build/shoelace/assets/icons/volume-off.svg +3 -0
  2005. frontend/public/build/shoelace/assets/icons/volume-up-fill.svg +5 -0
  2006. frontend/public/build/shoelace/assets/icons/volume-up.svg +5 -0
  2007. frontend/public/build/shoelace/assets/icons/vr.svg +3 -0
  2008. frontend/public/build/shoelace/assets/icons/wallet-fill.svg +4 -0
  2009. frontend/public/build/shoelace/assets/icons/wallet.svg +3 -0
  2010. frontend/public/build/shoelace/assets/icons/wallet2.svg +3 -0
  2011. frontend/public/build/shoelace/assets/icons/watch.svg +4 -0
  2012. frontend/public/build/shoelace/assets/icons/water.svg +3 -0
  2013. frontend/public/build/shoelace/assets/icons/webcam-fill.svg +4 -0
  2014. frontend/public/build/shoelace/assets/icons/webcam.svg +4 -0
  2015. frontend/public/build/shoelace/assets/icons/wechat.svg +4 -0
  2016. frontend/public/build/shoelace/assets/icons/whatsapp.svg +3 -0
  2017. frontend/public/build/shoelace/assets/icons/wifi-1.svg +3 -0
  2018. frontend/public/build/shoelace/assets/icons/wifi-2.svg +3 -0
  2019. frontend/public/build/shoelace/assets/icons/wifi-off.svg +3 -0
  2020. frontend/public/build/shoelace/assets/icons/wifi.svg +4 -0
  2021. frontend/public/build/shoelace/assets/icons/wikipedia.svg +3 -0
  2022. frontend/public/build/shoelace/assets/icons/wind.svg +3 -0
  2023. frontend/public/build/shoelace/assets/icons/window-dash.svg +5 -0
  2024. frontend/public/build/shoelace/assets/icons/window-desktop.svg +4 -0
  2025. frontend/public/build/shoelace/assets/icons/window-dock.svg +4 -0
  2026. frontend/public/build/shoelace/assets/icons/window-fullscreen.svg +4 -0
  2027. frontend/public/build/shoelace/assets/icons/window-plus.svg +5 -0
  2028. frontend/public/build/shoelace/assets/icons/window-sidebar.svg +4 -0
  2029. frontend/public/build/shoelace/assets/icons/window-split.svg +4 -0
  2030. frontend/public/build/shoelace/assets/icons/window-stack.svg +4 -0
  2031. frontend/public/build/shoelace/assets/icons/window-x.svg +5 -0
  2032. frontend/public/build/shoelace/assets/icons/window.svg +4 -0
  2033. frontend/public/build/shoelace/assets/icons/windows.svg +3 -0
  2034. frontend/public/build/shoelace/assets/icons/wordpress.svg +5 -0
  2035. frontend/public/build/shoelace/assets/icons/wrench-adjustable-circle-fill.svg +4 -0
  2036. frontend/public/build/shoelace/assets/icons/wrench-adjustable-circle.svg +4 -0
  2037. frontend/public/build/shoelace/assets/icons/wrench-adjustable.svg +4 -0
  2038. frontend/public/build/shoelace/assets/icons/wrench.svg +3 -0
  2039. frontend/public/build/shoelace/assets/icons/x-circle-fill.svg +3 -0
  2040. frontend/public/build/shoelace/assets/icons/x-circle.svg +4 -0
  2041. frontend/public/build/shoelace/assets/icons/x-diamond-fill.svg +3 -0
  2042. frontend/public/build/shoelace/assets/icons/x-diamond.svg +3 -0
  2043. frontend/public/build/shoelace/assets/icons/x-lg.svg +3 -0
  2044. frontend/public/build/shoelace/assets/icons/x-octagon-fill.svg +3 -0
  2045. frontend/public/build/shoelace/assets/icons/x-octagon.svg +4 -0
  2046. frontend/public/build/shoelace/assets/icons/x-square-fill.svg +3 -0
  2047. frontend/public/build/shoelace/assets/icons/x-square.svg +4 -0
  2048. frontend/public/build/shoelace/assets/icons/x.svg +3 -0
  2049. frontend/public/build/shoelace/assets/icons/xbox.svg +3 -0
  2050. frontend/public/build/shoelace/assets/icons/yelp.svg +3 -0
  2051. frontend/public/build/shoelace/assets/icons/yin-yang.svg +4 -0
  2052. frontend/public/build/shoelace/assets/icons/youtube.svg +3 -0
  2053. frontend/public/build/shoelace/assets/icons/zoom-in.svg +5 -0
  2054. frontend/public/build/shoelace/assets/icons/zoom-out.svg +5 -0
  2055. frontend/public/fonts/inconsolata-v31-latin-300.eot +0 -0
  2056. frontend/public/fonts/inconsolata-v31-latin-300.svg +358 -0
  2057. frontend/public/fonts/inconsolata-v31-latin-300.ttf +0 -0
  2058. frontend/public/fonts/inconsolata-v31-latin-300.woff +0 -0
  2059. frontend/public/fonts/inconsolata-v31-latin-300.woff2 +0 -0
  2060. frontend/public/fonts/inconsolata-v31-latin-500.eot +0 -0
  2061. frontend/public/fonts/inconsolata-v31-latin-500.svg +359 -0
  2062. frontend/public/fonts/inconsolata-v31-latin-500.ttf +0 -0
  2063. frontend/public/fonts/inconsolata-v31-latin-500.woff +0 -0
  2064. frontend/public/fonts/inconsolata-v31-latin-500.woff2 +0 -0
  2065. frontend/public/fonts/inconsolata-v31-latin-700.eot +0 -0
  2066. frontend/public/fonts/inconsolata-v31-latin-700.svg +358 -0
  2067. frontend/public/fonts/inconsolata-v31-latin-700.ttf +0 -0
  2068. frontend/public/fonts/inconsolata-v31-latin-700.woff +0 -0
  2069. frontend/public/fonts/inconsolata-v31-latin-700.woff2 +0 -0
  2070. frontend/public/fonts/inconsolata-v31-latin-regular.eot +0 -0
  2071. frontend/public/fonts/inconsolata-v31-latin-regular.svg +358 -0
  2072. frontend/public/fonts/inconsolata-v31-latin-regular.ttf +0 -0
  2073. frontend/public/fonts/inconsolata-v31-latin-regular.woff +0 -0
  2074. frontend/public/fonts/inconsolata-v31-latin-regular.woff2 +0 -0
  2075. frontend/public/fonts/inter-v12-latin-300.eot +0 -0
  2076. frontend/public/fonts/inter-v12-latin-300.svg +350 -0
  2077. frontend/public/fonts/inter-v12-latin-300.ttf +0 -0
  2078. frontend/public/fonts/inter-v12-latin-300.woff +0 -0
  2079. frontend/public/fonts/inter-v12-latin-300.woff2 +0 -0
  2080. frontend/public/fonts/inter-v12-latin-500.eot +0 -0
  2081. frontend/public/fonts/inter-v12-latin-500.svg +351 -0
  2082. frontend/public/fonts/inter-v12-latin-500.ttf +0 -0
  2083. frontend/public/fonts/inter-v12-latin-500.woff +0 -0
  2084. frontend/public/fonts/inter-v12-latin-500.woff2 +0 -0
  2085. frontend/public/fonts/inter-v12-latin-700.eot +0 -0
  2086. frontend/public/fonts/inter-v12-latin-700.svg +352 -0
  2087. frontend/public/fonts/inter-v12-latin-700.ttf +0 -0
  2088. frontend/public/fonts/inter-v12-latin-700.woff +0 -0
  2089. frontend/public/fonts/inter-v12-latin-700.woff2 +0 -0
  2090. frontend/public/fonts/inter-v12-latin-regular.eot +0 -0
  2091. frontend/public/fonts/inter-v12-latin-regular.svg +351 -0
  2092. frontend/public/fonts/inter-v12-latin-regular.ttf +0 -0
  2093. frontend/public/fonts/inter-v12-latin-regular.woff +0 -0
  2094. frontend/public/fonts/inter-v12-latin-regular.woff2 +0 -0
  2095. frontend/public/fonts/lora-v32-latin-500.eot +0 -0
  2096. frontend/public/fonts/lora-v32-latin-500.svg +431 -0
  2097. frontend/public/fonts/lora-v32-latin-500.ttf +0 -0
  2098. frontend/public/fonts/lora-v32-latin-500.woff +0 -0
  2099. frontend/public/fonts/lora-v32-latin-500.woff2 +0 -0
  2100. frontend/public/fonts/lora-v32-latin-700.eot +0 -0
  2101. frontend/public/fonts/lora-v32-latin-700.svg +430 -0
  2102. frontend/public/fonts/lora-v32-latin-700.ttf +0 -0
  2103. frontend/public/fonts/lora-v32-latin-700.woff +0 -0
  2104. frontend/public/fonts/lora-v32-latin-700.woff2 +0 -0
  2105. frontend/public/fonts/lora-v32-latin-regular.eot +0 -0
  2106. frontend/public/fonts/lora-v32-latin-regular.svg +430 -0
  2107. frontend/public/fonts/lora-v32-latin-regular.ttf +0 -0
  2108. frontend/public/fonts/lora-v32-latin-regular.woff +0 -0
  2109. frontend/public/fonts/lora-v32-latin-regular.woff2 +0 -0
  2110. frontend/public/fonts/nunito-sans-v12-latin-300.eot +0 -0
  2111. frontend/public/fonts/nunito-sans-v12-latin-300.svg +305 -0
  2112. frontend/public/fonts/nunito-sans-v12-latin-300.ttf +0 -0
  2113. frontend/public/fonts/nunito-sans-v12-latin-300.woff +0 -0
  2114. frontend/public/fonts/nunito-sans-v12-latin-300.woff2 +0 -0
  2115. frontend/public/fonts/nunito-sans-v12-latin-600.eot +0 -0
  2116. frontend/public/fonts/nunito-sans-v12-latin-600.svg +306 -0
  2117. frontend/public/fonts/nunito-sans-v12-latin-600.ttf +0 -0
  2118. frontend/public/fonts/nunito-sans-v12-latin-600.woff +0 -0
  2119. frontend/public/fonts/nunito-sans-v12-latin-600.woff2 +0 -0
  2120. frontend/public/fonts/nunito-sans-v12-latin-700.eot +0 -0
  2121. frontend/public/fonts/nunito-sans-v12-latin-700.svg +306 -0
  2122. frontend/public/fonts/nunito-sans-v12-latin-700.ttf +0 -0
  2123. frontend/public/fonts/nunito-sans-v12-latin-700.woff +0 -0
  2124. frontend/public/fonts/nunito-sans-v12-latin-700.woff2 +0 -0
  2125. frontend/public/fonts/nunito-sans-v12-latin-regular.eot +0 -0
  2126. frontend/public/fonts/nunito-sans-v12-latin-regular.ttf +0 -0
  2127. frontend/public/fonts/nunito-sans-v12-latin-regular.woff +0 -0
  2128. frontend/public/fonts/nunito-sans-v12-latin-regular.woff2 +0 -0
  2129. frontend/public/fonts/open-sans-v34-latin-300.eot +0 -0
  2130. frontend/public/fonts/open-sans-v34-latin-300.svg +346 -0
  2131. frontend/public/fonts/open-sans-v34-latin-300.ttf +0 -0
  2132. frontend/public/fonts/open-sans-v34-latin-300.woff +0 -0
  2133. frontend/public/fonts/open-sans-v34-latin-300.woff2 +0 -0
  2134. frontend/public/fonts/open-sans-v34-latin-600.eot +0 -0
  2135. frontend/public/fonts/open-sans-v34-latin-600.svg +348 -0
  2136. frontend/public/fonts/open-sans-v34-latin-600.ttf +0 -0
  2137. frontend/public/fonts/open-sans-v34-latin-600.woff +0 -0
  2138. frontend/public/fonts/open-sans-v34-latin-600.woff2 +0 -0
  2139. frontend/public/fonts/open-sans-v34-latin-700.eot +0 -0
  2140. frontend/public/fonts/open-sans-v34-latin-700.svg +349 -0
  2141. frontend/public/fonts/open-sans-v34-latin-700.ttf +0 -0
  2142. frontend/public/fonts/open-sans-v34-latin-700.woff +0 -0
  2143. frontend/public/fonts/open-sans-v34-latin-700.woff2 +0 -0
  2144. frontend/public/fonts/open-sans-v34-latin-regular.eot +0 -0
  2145. frontend/public/fonts/open-sans-v34-latin-regular.svg +349 -0
  2146. frontend/public/fonts/open-sans-v34-latin-regular.ttf +0 -0
  2147. frontend/public/fonts/open-sans-v34-latin-regular.woff +0 -0
  2148. frontend/public/fonts/open-sans-v34-latin-regular.woff2 +0 -0
  2149. frontend/public/hd-logo-black.svg +1 -0
  2150. frontend/public/hd-logo-white.svg +1 -0
  2151. hyperdiv/__init__.py +141 -0
  2152. hyperdiv/app_runner.py +505 -0
  2153. hyperdiv/application_state.py +48 -0
  2154. hyperdiv/backends/__init__.py +62 -0
  2155. hyperdiv/backends/granian.py +276 -0
  2156. hyperdiv/cache.py +202 -0
  2157. hyperdiv/cli.py +53 -0
  2158. hyperdiv/collector.py +64 -0
  2159. hyperdiv/component_base.py +329 -0
  2160. hyperdiv/component_keys.py +61 -0
  2161. hyperdiv/component_mixins/__init__.py +5 -0
  2162. hyperdiv/component_mixins/boxy.py +170 -0
  2163. hyperdiv/component_mixins/interactive.py +18 -0
  2164. hyperdiv/component_mixins/slottable.py +43 -0
  2165. hyperdiv/component_mixins/styled.py +307 -0
  2166. hyperdiv/component_mixins/tests/__init__.py +0 -0
  2167. hyperdiv/component_mixins/tests/component_mixins_tests.py +105 -0
  2168. hyperdiv/component_mixins/togglable.py +31 -0
  2169. hyperdiv/components/__init__.py +0 -0
  2170. hyperdiv/components/alert.py +66 -0
  2171. hyperdiv/components/anchor.py +30 -0
  2172. hyperdiv/components/animation.py +219 -0
  2173. hyperdiv/components/async_command.py +50 -0
  2174. hyperdiv/components/audio.py +52 -0
  2175. hyperdiv/components/avatar.py +43 -0
  2176. hyperdiv/components/badge.py +36 -0
  2177. hyperdiv/components/box.py +192 -0
  2178. hyperdiv/components/box_list.py +53 -0
  2179. hyperdiv/components/box_list_item.py +34 -0
  2180. hyperdiv/components/breadcrumb.py +39 -0
  2181. hyperdiv/components/breadcrumb_item.py +37 -0
  2182. hyperdiv/components/button.py +125 -0
  2183. hyperdiv/components/button_group.py +28 -0
  2184. hyperdiv/components/card.py +75 -0
  2185. hyperdiv/components/carousel.py +119 -0
  2186. hyperdiv/components/carousel_item.py +16 -0
  2187. hyperdiv/components/charts/__init__.py +9 -0
  2188. hyperdiv/components/charts/bar_chart.py +43 -0
  2189. hyperdiv/components/charts/bubble_chart.py +73 -0
  2190. hyperdiv/components/charts/cartesian_chart.py +411 -0
  2191. hyperdiv/components/charts/chart.py +58 -0
  2192. hyperdiv/components/charts/common/__init__.py +0 -0
  2193. hyperdiv/components/charts/common/color_utils.py +42 -0
  2194. hyperdiv/components/charts/common/radial_chart_utils.py +35 -0
  2195. hyperdiv/components/charts/line_chart.py +44 -0
  2196. hyperdiv/components/charts/pie_chart.py +49 -0
  2197. hyperdiv/components/charts/polar_chart.py +75 -0
  2198. hyperdiv/components/charts/radar_chart.py +122 -0
  2199. hyperdiv/components/charts/scatter_chart.py +43 -0
  2200. hyperdiv/components/charts/tests/__init__.py +0 -0
  2201. hyperdiv/components/charts/tests/chart_tests.py +263 -0
  2202. hyperdiv/components/checkbox.py +60 -0
  2203. hyperdiv/components/clipboard.py +30 -0
  2204. hyperdiv/components/code.py +34 -0
  2205. hyperdiv/components/color_picker.py +130 -0
  2206. hyperdiv/components/common/__init__.py +0 -0
  2207. hyperdiv/components/common/label_component.py +86 -0
  2208. hyperdiv/components/common/list_base.py +14 -0
  2209. hyperdiv/components/common/media_base.py +43 -0
  2210. hyperdiv/components/common/shoelace_types.py +60 -0
  2211. hyperdiv/components/common/text_utils.py +2 -0
  2212. hyperdiv/components/cookies.py +231 -0
  2213. hyperdiv/components/details.py +96 -0
  2214. hyperdiv/components/dialog.py +42 -0
  2215. hyperdiv/components/divider.py +42 -0
  2216. hyperdiv/components/drawer.py +115 -0
  2217. hyperdiv/components/dropdown.py +115 -0
  2218. hyperdiv/components/form.py +577 -0
  2219. hyperdiv/components/icon.py +47 -0
  2220. hyperdiv/components/icon_button.py +29 -0
  2221. hyperdiv/components/image.py +86 -0
  2222. hyperdiv/components/image_comparer.py +45 -0
  2223. hyperdiv/components/lifecycle.py +47 -0
  2224. hyperdiv/components/link.py +89 -0
  2225. hyperdiv/components/list.py +47 -0
  2226. hyperdiv/components/list_item.py +11 -0
  2227. hyperdiv/components/local_storage.py +123 -0
  2228. hyperdiv/components/location.py +132 -0
  2229. hyperdiv/components/markdown.py +127 -0
  2230. hyperdiv/components/media_source.py +15 -0
  2231. hyperdiv/components/menu.py +130 -0
  2232. hyperdiv/components/menu_item.py +64 -0
  2233. hyperdiv/components/menu_label.py +26 -0
  2234. hyperdiv/components/nav.py +16 -0
  2235. hyperdiv/components/option.py +53 -0
  2236. hyperdiv/components/ordered_list.py +49 -0
  2237. hyperdiv/components/plaintext.py +27 -0
  2238. hyperdiv/components/popup.py +124 -0
  2239. hyperdiv/components/progress_bar.py +70 -0
  2240. hyperdiv/components/progress_ring.py +57 -0
  2241. hyperdiv/components/radio.py +40 -0
  2242. hyperdiv/components/radio_button.py +51 -0
  2243. hyperdiv/components/radio_group.py +167 -0
  2244. hyperdiv/components/scope.py +112 -0
  2245. hyperdiv/components/select_.py +151 -0
  2246. hyperdiv/components/slider.py +135 -0
  2247. hyperdiv/components/spinner.py +40 -0
  2248. hyperdiv/components/split_panel.py +146 -0
  2249. hyperdiv/components/state.py +101 -0
  2250. hyperdiv/components/style.py +27 -0
  2251. hyperdiv/components/switch.py +56 -0
  2252. hyperdiv/components/tab.py +46 -0
  2253. hyperdiv/components/tab_group.py +175 -0
  2254. hyperdiv/components/table.py +217 -0
  2255. hyperdiv/components/tag.py +77 -0
  2256. hyperdiv/components/task.py +232 -0
  2257. hyperdiv/components/tests/__init__.py +0 -0
  2258. hyperdiv/components/tests/alert_tests.py +24 -0
  2259. hyperdiv/components/tests/animation_tests.py +19 -0
  2260. hyperdiv/components/tests/audio_tests.py +52 -0
  2261. hyperdiv/components/tests/box_list_tests.py +15 -0
  2262. hyperdiv/components/tests/button_tests.py +17 -0
  2263. hyperdiv/components/tests/carousel_tests.py +19 -0
  2264. hyperdiv/components/tests/checkbox_tests.py +20 -0
  2265. hyperdiv/components/tests/clipboard_tests.py +12 -0
  2266. hyperdiv/components/tests/cookie_tests.py +123 -0
  2267. hyperdiv/components/tests/form_tests.py +107 -0
  2268. hyperdiv/components/tests/local_storage_tests.py +101 -0
  2269. hyperdiv/components/tests/markdown_tests.py +47 -0
  2270. hyperdiv/components/tests/popup_test.py +24 -0
  2271. hyperdiv/components/tests/radio_group_tests.py +22 -0
  2272. hyperdiv/components/tests/style_tests.py +28 -0
  2273. hyperdiv/components/tests/tab_group_tests.py +56 -0
  2274. hyperdiv/components/tests/tree_tests.py +83 -0
  2275. hyperdiv/components/text.py +112 -0
  2276. hyperdiv/components/text_input.py +241 -0
  2277. hyperdiv/components/textarea.py +68 -0
  2278. hyperdiv/components/theme.py +75 -0
  2279. hyperdiv/components/tooltip.py +91 -0
  2280. hyperdiv/components/tree.py +144 -0
  2281. hyperdiv/components/tree_item.py +109 -0
  2282. hyperdiv/components/video.py +62 -0
  2283. hyperdiv/components/window.py +47 -0
  2284. hyperdiv/connection.py +86 -0
  2285. hyperdiv/debug.py +86 -0
  2286. hyperdiv/design_tokens.py +431 -0
  2287. hyperdiv/diff.py +208 -0
  2288. hyperdiv/equalities.py +29 -0
  2289. hyperdiv/exceptions.py +2 -0
  2290. hyperdiv/ext/__init__.py +6 -0
  2291. hyperdiv/ext/data_table.py +472 -0
  2292. hyperdiv/ext/icon_link.py +94 -0
  2293. hyperdiv/ext/navigation_menu.py +179 -0
  2294. hyperdiv/ext/router.py +217 -0
  2295. hyperdiv/ext/template.py +277 -0
  2296. hyperdiv/ext/tests/__init__.py +0 -0
  2297. hyperdiv/ext/tests/data_table_tests.py +102 -0
  2298. hyperdiv/ext/tests/router_tests.py +60 -0
  2299. hyperdiv/ext/tests/template_tests.py +12 -0
  2300. hyperdiv/ext/theme_switcher.py +67 -0
  2301. hyperdiv/frame.py +324 -0
  2302. hyperdiv/frontend.py +27 -0
  2303. hyperdiv/global_state.py +82 -0
  2304. hyperdiv/icons.py +1956 -0
  2305. hyperdiv/index_page.py +333 -0
  2306. hyperdiv/main.py +132 -0
  2307. hyperdiv/plugin.py +209 -0
  2308. hyperdiv/prop.py +160 -0
  2309. hyperdiv/prop_types/__init__.py +23 -0
  2310. hyperdiv/prop_types/any_type.py +11 -0
  2311. hyperdiv/prop_types/border.py +107 -0
  2312. hyperdiv/prop_types/border_edge.py +82 -0
  2313. hyperdiv/prop_types/box_size.py +77 -0
  2314. hyperdiv/prop_types/clamped_number.py +72 -0
  2315. hyperdiv/prop_types/color.py +194 -0
  2316. hyperdiv/prop_types/color_constant.py +74 -0
  2317. hyperdiv/prop_types/constant.py +16 -0
  2318. hyperdiv/prop_types/css.py +15 -0
  2319. hyperdiv/prop_types/css_field.py +35 -0
  2320. hyperdiv/prop_types/design_token.py +31 -0
  2321. hyperdiv/prop_types/event.py +42 -0
  2322. hyperdiv/prop_types/float_type.py +28 -0
  2323. hyperdiv/prop_types/hyperdiv_type.py +27 -0
  2324. hyperdiv/prop_types/list_type.py +26 -0
  2325. hyperdiv/prop_types/native.py +62 -0
  2326. hyperdiv/prop_types/one_of.py +19 -0
  2327. hyperdiv/prop_types/one_or_more_of.py +25 -0
  2328. hyperdiv/prop_types/optional.py +24 -0
  2329. hyperdiv/prop_types/size.py +169 -0
  2330. hyperdiv/prop_types/tests/__init__.py +0 -0
  2331. hyperdiv/prop_types/tests/any_type_tests.py +8 -0
  2332. hyperdiv/prop_types/tests/base_size_tests.py +59 -0
  2333. hyperdiv/prop_types/tests/border_edge_tests.py +36 -0
  2334. hyperdiv/prop_types/tests/border_tests.py +98 -0
  2335. hyperdiv/prop_types/tests/box_size_tests.py +44 -0
  2336. hyperdiv/prop_types/tests/clamped_number_tests.py +20 -0
  2337. hyperdiv/prop_types/tests/color_constant_tests.py +63 -0
  2338. hyperdiv/prop_types/tests/constant_tests.py +13 -0
  2339. hyperdiv/prop_types/tests/css_field_tests.py +15 -0
  2340. hyperdiv/prop_types/tests/design_token_tests.py +20 -0
  2341. hyperdiv/prop_types/tests/event_tests.py +18 -0
  2342. hyperdiv/prop_types/tests/float_tests.py +11 -0
  2343. hyperdiv/prop_types/tests/list_tests.py +25 -0
  2344. hyperdiv/prop_types/tests/native_tests.py +18 -0
  2345. hyperdiv/prop_types/tests/one_of_tests.py +14 -0
  2346. hyperdiv/prop_types/tests/one_or_more_of_tests.py +24 -0
  2347. hyperdiv/prop_types/tests/optional_tests.py +22 -0
  2348. hyperdiv/prop_types/tests/time_value_tests.py +31 -0
  2349. hyperdiv/prop_types/tests/tuple_type_tests.py +26 -0
  2350. hyperdiv/prop_types/tests/union_tests.py +18 -0
  2351. hyperdiv/prop_types/time_value.py +55 -0
  2352. hyperdiv/prop_types/tuple_type.py +43 -0
  2353. hyperdiv/prop_types/union.py +28 -0
  2354. hyperdiv/renderer.py +260 -0
  2355. hyperdiv/server.py +163 -0
  2356. hyperdiv/slot.py +35 -0
  2357. hyperdiv/sqlite.py +127 -0
  2358. hyperdiv/style_part.py +47 -0
  2359. hyperdiv/task_runtime.py +54 -0
  2360. hyperdiv/test_utils.py +134 -0
  2361. hyperdiv/tests/__init__.py +0 -0
  2362. hyperdiv/tests/app_runner_tests.py +266 -0
  2363. hyperdiv/tests/application_state_tests.py +67 -0
  2364. hyperdiv/tests/component_base_tests.py +180 -0
  2365. hyperdiv/tests/design_token_tests.py +37 -0
  2366. hyperdiv/tests/equalities_tests.py +44 -0
  2367. hyperdiv/tests/index_page_tests.py +156 -0
  2368. hyperdiv/tests/plugin_tests.py +280 -0
  2369. hyperdiv/tests/server_tests.py +103 -0
  2370. hyperdiv/tests/sqlite_tests.py +80 -0
  2371. hyperdiv/tests/style_part_tests.py +54 -0
  2372. hyperdiv/ui_command.py +108 -0
  2373. hyperdiv/ui_prop_state.py +92 -0
  2374. hyperdiv/ui_singleton.py +70 -0
  2375. hyperdivlite-0.1.9.dist-info/METADATA +163 -0
  2376. hyperdivlite-0.1.9.dist-info/RECORD +2380 -0
  2377. hyperdivlite-0.1.9.dist-info/WHEEL +4 -0
  2378. hyperdivlite-0.1.9.dist-info/entry_points.txt +3 -0
  2379. hyperdivlite-0.1.9.dist-info/licenses/LICENSE +202 -0
  2380. hyperdivlite-0.1.9.dist-info/licenses/NOTICE +11 -0
@@ -0,0 +1,22 @@
1
+ import pytest
2
+ from ..optional import Optional
3
+ from ..native import Int
4
+ from ..size import BaseSize
5
+
6
+
7
+ def test_optional():
8
+ o = Optional(Int)
9
+
10
+ assert repr(o) == "Optional[Int]"
11
+
12
+ assert o.parse(None) is None
13
+ assert o.parse(1) == 1
14
+
15
+ with pytest.raises(TypeError):
16
+ o.parse("Hello")
17
+
18
+ o = Optional(BaseSize)
19
+ assert o.parse(None) is None
20
+ assert o.render(None) is None
21
+ assert o.parse("12rem") == BaseSize.parse("12rem")
22
+ assert o.render(o.parse("12rem")) == BaseSize.render(BaseSize.parse("12rem"))
@@ -0,0 +1,31 @@
1
+ import pytest
2
+ from ..time_value import TimeValue
3
+
4
+
5
+ def test_time_value():
6
+ assert repr(TimeValue) == "TimeValue"
7
+
8
+ assert TimeValue.parse("12ms") == (12, "ms")
9
+ assert TimeValue.parse("+12ms") == (12, "ms")
10
+ assert TimeValue.parse("-12ms") == (-12, "ms")
11
+
12
+ assert TimeValue.parse("12s") == (12, "s")
13
+ assert TimeValue.parse("+12s") == (12, "s")
14
+ assert TimeValue.parse("-12s") == (-12, "s")
15
+
16
+ assert TimeValue.parse((12, "s")) == (12, "s")
17
+ assert TimeValue.parse((-12, "s")) == (-12, "s")
18
+
19
+ with pytest.raises(ValueError):
20
+ TimeValue.parse((1, "s", 2))
21
+
22
+ with pytest.raises(ValueError):
23
+ TimeValue.parse((1, "m"))
24
+
25
+ with pytest.raises(ValueError):
26
+ TimeValue.parse(("1", "s"))
27
+
28
+ assert TimeValue.render((12, "ms")) == "12ms"
29
+ assert TimeValue.render((-12, "ms")) == "-12ms"
30
+ assert TimeValue.render((12, "s")) == "12s"
31
+ assert TimeValue.render((-12, "s")) == "-12s"
@@ -0,0 +1,26 @@
1
+ import pytest
2
+ from ..tuple_type import Tuple
3
+ from ..native import Int, PureString
4
+
5
+
6
+ def test_tuple():
7
+ t = Tuple(Int, PureString)
8
+
9
+ assert repr(t) == "Tuple[Int, PureString]"
10
+
11
+ assert t.parse((1, "Hello")) == (1, "Hello")
12
+ assert t.parse((-10, "Hello")) == (-10, "Hello")
13
+
14
+ assert t.render((-10, "Hello")) == (-10, "Hello")
15
+
16
+ with pytest.raises(TypeError):
17
+ t.parse((1, 1))
18
+
19
+ with pytest.raises(TypeError):
20
+ t.parse(("Hello", 1))
21
+
22
+ with pytest.raises(ValueError):
23
+ t.parse((1, "Hello", 2))
24
+
25
+ with pytest.raises(ValueError):
26
+ t.parse("Hello")
@@ -0,0 +1,18 @@
1
+ import pytest
2
+ from ..union import Union
3
+ from ..native import Int, PureString
4
+
5
+
6
+ def test_union():
7
+ u = Union(Int, PureString)
8
+
9
+ assert repr(u) == "Union[Int, PureString]"
10
+
11
+ assert u.parse(1) == 1
12
+ assert u.parse("Hello") == "Hello"
13
+
14
+ with pytest.raises(TypeError):
15
+ u.parse(dict())
16
+
17
+ with pytest.raises(TypeError):
18
+ u.parse(b"123")
@@ -0,0 +1,55 @@
1
+ from .hyperdiv_type import HyperdivType
2
+
3
+
4
+ class TimeValueDef(HyperdivType):
5
+ """
6
+ A type that supports time values. See
7
+ [here](https://developer.mozilla.org/en-US/docs/Web/CSS/time).
8
+
9
+ It accepts a numeric value followed by a unit, where the unit has
10
+ to be one of `"s"` (seconds) or `"ms"` (milliseconds).
11
+
12
+ The value shape can be either a string, like `"12ms"`, or a tuple
13
+ like `(12, "ms")`.
14
+
15
+ Examples:
16
+
17
+ ```py
18
+ "12ms"
19
+ "+12.5ms"
20
+ "-1.6s"
21
+ (12, "ms")
22
+ (12.5, "ms")
23
+ (-1.6, "s")
24
+ ```
25
+ """
26
+
27
+ def parse(self, value):
28
+ if isinstance(value, (tuple, list)):
29
+ if len(value) != 2:
30
+ raise ValueError(f"Expected a tuple of length 2 but got {value}")
31
+ scalar, unit = value
32
+ unit = unit.lower()
33
+ if unit not in ("s", "ms"):
34
+ raise ValueError(f"Unknown unit for TimeValue: {unit}")
35
+ if not isinstance(scalar, (int, float)):
36
+ raise ValueError(f"Expected an int or float but got {scalar}")
37
+ else:
38
+ value = value.lower()
39
+ if value.endswith("ms"):
40
+ unit = "ms"
41
+ scalar = value[:-2]
42
+ elif value.endswith("s"):
43
+ unit = "s"
44
+ scalar = value[:-1]
45
+ return (float(scalar), unit)
46
+
47
+ def render(self, value):
48
+ scalar, unit = value
49
+ return f"{scalar}{unit}"
50
+
51
+ def __repr__(self):
52
+ return "TimeValue"
53
+
54
+
55
+ TimeValue = TimeValueDef()
@@ -0,0 +1,43 @@
1
+ from .hyperdiv_type import HyperdivType
2
+
3
+
4
+ class Tuple(HyperdivType):
5
+ """
6
+ `Tuple(type1, type2, ... typeN)` creates a Hyperdiv type that
7
+ accepts Python tuples of the shape `(value1, value2, ... valueN)`
8
+ such that `value1` has Hyperdiv type `type1`, `value2` has
9
+ Hyperdiv type `type2`, and so on.
10
+
11
+ For example `hd.Tuple(hd.Int, hd.PureString)` will accept values
12
+ like `(1, "Hello")`, `(50, "Bunnies")`, etc.
13
+
14
+ The internally stored value is a tuple of values parsed by their
15
+ respective types.
16
+ """
17
+
18
+ def __init__(self, *types):
19
+ self.types = types
20
+
21
+ def parse(self, value):
22
+ if not isinstance(value, (tuple, list)):
23
+ raise ValueError(f"Expected a tuple or list but got {type(value)}")
24
+
25
+ if len(value) != len(self.types):
26
+ raise ValueError(
27
+ f"Tuple should have length {len(self.types)} but got {len(value)}"
28
+ )
29
+
30
+ output = []
31
+ for i, component in enumerate(value):
32
+ output.append(self.types[i].parse(component))
33
+ return tuple(output)
34
+
35
+ def render(self, value):
36
+ output = []
37
+ for i, component in enumerate(value):
38
+ output.append(self.types[i].render(component))
39
+ return tuple(output)
40
+
41
+ def __repr__(self):
42
+ args_str = ", ".join(repr(t) for t in self.types)
43
+ return f"Tuple[{args_str}]"
@@ -0,0 +1,28 @@
1
+ from .hyperdiv_type import HyperdivType
2
+
3
+
4
+ class Union(HyperdivType):
5
+ """
6
+ `Union(typ1, typ2)` creates a type that accepts values of either
7
+ `typ1` or `typ2`. It tries to parse the value with `typ1` first,
8
+ and if that fails, it tries `typ2`.
9
+ """
10
+
11
+ def __init__(self, typ1, typ2):
12
+ self.typ1 = typ1
13
+ self.typ2 = typ2
14
+
15
+ def parse(self, value):
16
+ try:
17
+ return self.typ1.parse(value)
18
+ except Exception:
19
+ return self.typ2.parse(value)
20
+
21
+ def render(self, value):
22
+ try:
23
+ return self.typ1.render(value)
24
+ except Exception:
25
+ return self.typ2.render(value)
26
+
27
+ def __repr__(self):
28
+ return f"Union[{repr(self.typ1)}, {repr(self.typ2)}]"
hyperdiv/renderer.py ADDED
@@ -0,0 +1,260 @@
1
+ from jinja2 import Template
2
+ import json
3
+ from .prop_types import Bool
4
+
5
+ selector_template = "{selector}"
6
+
7
+
8
+ def render_css_props(css_props):
9
+ # Format string allowing the caller to replace '{selector}' with
10
+ # the real selector.
11
+ selector = selector_template
12
+ active_selector = f"{selector}:active"
13
+ hover_selector = f"{selector}:hover"
14
+
15
+ style = {
16
+ selector: dict(),
17
+ active_selector: dict(),
18
+ hover_selector: dict(),
19
+ }
20
+
21
+ for prop in css_props:
22
+ css = prop.render()
23
+ if css:
24
+ if prop.name == "hover_background_color":
25
+ style[hover_selector].update(css)
26
+ elif prop.name == "active_background_color":
27
+ style[active_selector].update(css)
28
+ else:
29
+ style[selector].update(css)
30
+
31
+ return style
32
+
33
+
34
+ def flatten_style(style):
35
+ output = dict()
36
+ for selector, css in style.items():
37
+ if not css:
38
+ continue
39
+ output[selector] = ";".join([f"{k}:{v}" for k, v in css.items()])
40
+ return output
41
+
42
+
43
+ def render_css(key, css_props):
44
+ # TODO: fix circular import
45
+ from .style_part import StylePart
46
+
47
+ if not css_props:
48
+ return None
49
+
50
+ root_props = []
51
+ css_parts = []
52
+ base_part = None
53
+
54
+ for prop in css_props:
55
+ if isinstance(prop.prop_type, StylePart):
56
+ if prop.prop_type.is_base_part:
57
+ base_part = prop
58
+ css_parts.append(prop)
59
+ else:
60
+ root_props.append(prop)
61
+
62
+ root_selector = f"#{key}"
63
+
64
+ # Render the root style
65
+ style = {
66
+ css_key.format(selector=root_selector): css_value
67
+ for css_key, css_value in render_css_props(root_props).items()
68
+ }
69
+
70
+ # Render the part styles
71
+ for css_part in css_parts:
72
+ rendered_part = css_part.render()
73
+ if rendered_part:
74
+ part_selector = f"{root_selector}::part({css_part.prop_type.part_name})"
75
+ part_style = {
76
+ css_key.format(selector=part_selector): css_value
77
+ for css_key, css_value in rendered_part.items()
78
+ }
79
+ style.update(part_style)
80
+
81
+ root_style = style.get(root_selector)
82
+
83
+ if base_part and root_style:
84
+ # If the component has a base part, we move the root styles to
85
+ # the base selector. If the component has a root selector (the
86
+ # vast majority of components do), we leave dimension and flex
87
+ # attributes on the root.
88
+ base_selector = f"{root_selector}::part({base_part.prop_type.part_name})"
89
+
90
+ style.setdefault(base_selector, dict())
91
+
92
+ for attr_name, attr_value in dict(root_style).items():
93
+ if base_part.prop_type.has_root:
94
+ if attr_name in ("width", "height", "max-width", "max-height"):
95
+ if attr_name not in style[base_selector]:
96
+ style[base_selector][attr_name] = "100%"
97
+ continue
98
+ if attr_name in ("flex-basis", "flex-grow", "flex-shrink"):
99
+ continue
100
+ # If the attribute is not set in the base selector, we
101
+ # move it from the root to the base.
102
+ if attr_name not in style[base_selector]:
103
+ style[base_selector][attr_name] = attr_value
104
+ root_style.pop(attr_name)
105
+
106
+ return flatten_style(style)
107
+
108
+
109
+ def render_slot_name(name):
110
+ return name.replace("_", "-")
111
+
112
+
113
+ def render_props(key, props):
114
+ css_props, normal_props = [], []
115
+
116
+ for prop in props:
117
+ if prop.name == "slot" and prop.value is None:
118
+ continue
119
+ if prop.is_css_prop:
120
+ css_props.append(prop)
121
+ elif not prop.internal:
122
+ normal_props.append(prop)
123
+
124
+ output = dict(props={prop.ui_name: prop.render() for prop in normal_props})
125
+
126
+ style = render_css(key, css_props)
127
+ if style is not None:
128
+ output["style"] = style
129
+
130
+ return output
131
+
132
+
133
+ def render_component(component):
134
+ key = component._key
135
+ name = component._name
136
+ tag = component._tag
137
+ classes = component._classes
138
+ props = component._get_stored_props().values()
139
+
140
+ output = dict(key=key, name=name, tag=tag, classes=classes) | render_props(
141
+ key, props
142
+ )
143
+
144
+ if component._has_children:
145
+ output["children"] = [child.render() for child in component._children]
146
+
147
+ return output
148
+
149
+
150
+ # Experimental HTML Renderer -- Currently Unused.
151
+
152
+
153
+ def render_value(value):
154
+ import json
155
+
156
+ return json.dumps(value)
157
+
158
+
159
+ def render_prop_to_html(prop):
160
+ value = prop.render()
161
+ if isinstance(value, (list, tuple)):
162
+ value = " ".join(value)
163
+ return value
164
+
165
+
166
+ def render_component_to_html(component, indent=0):
167
+ key = component._key
168
+ name = component._name
169
+ tag = component._tag
170
+ classes = component._classes
171
+ props = component._get_stored_props()
172
+
173
+ if name == "plaintext":
174
+ return (" " * indent) + component.content, {}
175
+
176
+ css_props, normal_props = [], []
177
+
178
+ for prop in props.values():
179
+ if prop.name == "slot" and prop.value is None:
180
+ continue
181
+ if prop.is_css_prop:
182
+ css_props.append(prop)
183
+ elif not prop.is_event_prop:
184
+ normal_props.append(prop)
185
+
186
+ css = render_css(key, css_props) or dict()
187
+
188
+ rendered_props = []
189
+
190
+ for prop in normal_props:
191
+ if prop.value == prop.default_value:
192
+ continue
193
+
194
+ if name in ("markdown", "text") and prop.name == "content":
195
+ continue
196
+
197
+ if prop.prop_type == Bool and prop.value:
198
+ rendered_props.append(f"{prop.ui_name}")
199
+ continue
200
+
201
+ rendered_props.append(f"{prop.ui_name}={json.dumps(render_prop_to_html(prop))}")
202
+
203
+ opening_tag = f'<{tag} id="{key}"'
204
+
205
+ if len(classes) > 0:
206
+ opening_tag += f" class=\"{' '.join(classes)}\""
207
+
208
+ if len(rendered_props) > 0:
209
+ opening_tag += " " + " ".join(rendered_props) + ">"
210
+ else:
211
+ opening_tag += ">"
212
+
213
+ closing_tag = f"</{tag}>"
214
+
215
+ output = (" " * indent) + opening_tag
216
+
217
+ if name == "text":
218
+ content = props.get("content")
219
+ output += content.render() + closing_tag
220
+ elif name == "markdown":
221
+ content = props.get("content")
222
+ if content.value:
223
+ output += content.render()
224
+ output += closing_tag
225
+ elif (
226
+ component._has_children
227
+ and len(component._children) == 1
228
+ and component._children[0]._name == "plaintext"
229
+ ):
230
+ child_html, child_css = render_component_to_html(component._children[0])
231
+ output += child_html.strip() + closing_tag
232
+ css |= child_css
233
+ elif component._has_children and len(component._children) > 0:
234
+ output += "\n"
235
+ for child in component._children:
236
+ child_html, child_css = render_component_to_html(child, indent=(indent + 1))
237
+ output += child_html
238
+ output += "\n"
239
+ css |= child_css
240
+ output += (" " * indent) + closing_tag
241
+ else:
242
+ output += closing_tag
243
+
244
+ return output, css
245
+
246
+
247
+ def flatten_css(css):
248
+ output = ""
249
+
250
+ for selector, rules in css.items():
251
+ if not rules:
252
+ continue
253
+ output += selector + " { " + rules + " }\n"
254
+
255
+ return output
256
+
257
+
258
+ def render_into_template(html, css, template_text):
259
+ template = Template(template_text)
260
+ return template.render(body=html, style=flatten_css(css))
hyperdiv/server.py ADDED
@@ -0,0 +1,163 @@
1
+ import datetime
2
+ import os
3
+ import sys
4
+ import signal
5
+ from tornado.web import Application, StaticFileHandler, HTTPError
6
+ from tornado.httpserver import HTTPServer
7
+ from tornado.ioloop import IOLoop
8
+ from .debug import logger, PRODUCTION
9
+ from .connection import Connection
10
+ from .plugin import PluginAssetsCollector, PLUGINS_PREFIX
11
+ from .frontend import get_frontend_public_path
12
+
13
+
14
+ class Server:
15
+ _instance = None
16
+
17
+ def __init__(self, port, app_function, task_runtime, index_page):
18
+ if Server._instance:
19
+ raise Exception("Hyperdiv is already running.")
20
+ Server._instance = self
21
+ self.port = port
22
+ self.app_function = app_function
23
+ self.task_runtime = task_runtime
24
+ self.ioloop = IOLoop.current()
25
+ self.app = self.create_application(index_page)
26
+ self.server = HTTPServer(self.app)
27
+ self.stopping = False
28
+
29
+ def listen(self):
30
+ self.server.listen(self.port, address=os.environ.get("HD_HOST", "localhost"))
31
+
32
+ def start(self):
33
+ print(
34
+ f"Running at http://{os.environ.get('HD_HOST', 'localhost')}:{self.port}",
35
+ file=sys.stderr,
36
+ )
37
+ print("Ctrl-C to exit", file=sys.stderr)
38
+
39
+ signal.signal(signal.SIGINT, self.stop)
40
+ signal.signal(signal.SIGTERM, self.stop)
41
+
42
+ try:
43
+ self.ioloop.start()
44
+ except Exception:
45
+ logger.exception("Ioloop exited abnormally.")
46
+
47
+ def stop(self, sig, frame):
48
+ # In case termination signal is sent repeatedly while the
49
+ # server is shutting down, avoid enqueueing the draining
50
+ # callbacks multiple times.
51
+ if self.stopping:
52
+ return
53
+ self.stopping = True
54
+
55
+ logger.info(f"Stopping with signal {sig}.")
56
+ # Stop the server from accepting new connections:
57
+ self.ioloop.add_callback_from_signal(self.server.stop)
58
+ # Close all connections
59
+ self.ioloop.add_callback_from_signal(Connection.close_all_connections)
60
+ # Stop the ioloop, which will cause `self.run()` to return:
61
+ self.ioloop.add_callback_from_signal(self.ioloop.stop)
62
+
63
+ def create_application(self, index_page):
64
+ index_bytes = index_page.encode("utf-8")
65
+ modified_time = datetime.datetime.now()
66
+
67
+ class HyperdivStaticFileHandler(StaticFileHandler):
68
+ """
69
+ When the UI requests a file that does not exist, this static file
70
+ handler returns the index contents. This allows the app to
71
+ load from any valid Hyperdiv location path, even though
72
+ that path doesn't exist on the filesystem.
73
+ """
74
+
75
+ @classmethod
76
+ def get_absolute_path(cls, root, path):
77
+ if not path:
78
+ return "<index>"
79
+ try:
80
+ os.stat(os.path.join(root, path))
81
+ return super().get_absolute_path(root, path)
82
+ except FileNotFoundError:
83
+ return "<index>"
84
+
85
+ def validate_absolute_path(self, root, abspath):
86
+ if abspath == "<index>":
87
+ return "<index>"
88
+ return super().validate_absolute_path(root, abspath)
89
+
90
+ @classmethod
91
+ def get_content(cls, abspath, start=None, end=None):
92
+ if abspath == "<index>":
93
+ return index_bytes
94
+ return super().get_content(abspath, start=start, end=end)
95
+
96
+ def get_modified_time(self):
97
+ if self.absolute_path == "<index>":
98
+ return modified_time
99
+ return super().get_modified_time()
100
+
101
+ def get_content_size(self):
102
+ if self.absolute_path == "<index>":
103
+ return len(index_bytes)
104
+ return super().get_content_size()
105
+
106
+ def get_content_type(self):
107
+ if self.absolute_path == "<index>":
108
+ return "text/html"
109
+ return super().get_content_type()
110
+
111
+ class HyperdivPluginHandler(StaticFileHandler):
112
+ @classmethod
113
+ def get_absolute_path(cls, root, path):
114
+ # We are expecting paths like `<plugin_name>/<asset_path>`.
115
+ split_path = path.split("/", 1)
116
+ if len(split_path) == 2:
117
+ plugin_name = split_path[0]
118
+ assets_config = PluginAssetsCollector.plugin_assets.get(plugin_name)
119
+ if assets_config:
120
+ root = assets_config["assets_root"]
121
+ path = split_path[1]
122
+ return super().get_absolute_path(root, path)
123
+ raise HTTPError(404)
124
+
125
+ public_path = get_frontend_public_path()
126
+
127
+ routes = []
128
+
129
+ routes.append(
130
+ (rf"{PLUGINS_PREFIX}/(.*)", HyperdivPluginHandler, dict(path="/"))
131
+ )
132
+
133
+ assets_dir = os.path.join(
134
+ os.path.dirname(os.path.abspath(sys.argv[0])), "assets"
135
+ )
136
+ if os.path.isdir(assets_dir):
137
+ routes.append(
138
+ (
139
+ r"/assets/(.*)",
140
+ StaticFileHandler,
141
+ dict(path=assets_dir),
142
+ )
143
+ )
144
+
145
+ routes.extend(
146
+ [
147
+ (
148
+ r"/ws",
149
+ Connection,
150
+ dict(
151
+ app_function=self.app_function,
152
+ task_runtime=self.task_runtime,
153
+ ioloop=self.ioloop,
154
+ ),
155
+ ),
156
+ (
157
+ r"/(.*)",
158
+ HyperdivStaticFileHandler,
159
+ dict(path=public_path),
160
+ ),
161
+ ]
162
+ )
163
+ return Application(routes, debug=not PRODUCTION)
hyperdiv/slot.py ADDED
@@ -0,0 +1,35 @@
1
+ class Slot:
2
+ def __init__(self, ui_name=None):
3
+ self.name = None
4
+ self.ui_name = ui_name.replace("_", "-") if ui_name else ui_name
5
+
6
+ def __set_name__(self, klass, name):
7
+ self.name = name
8
+ if not self.ui_name:
9
+ self.ui_name = self.name.replace("_", "-")
10
+
11
+ def __get__(self, component, objtype):
12
+ return self
13
+
14
+ def __set__(self, component, value):
15
+ raise Exception("Slots are read-only.")
16
+
17
+ def __hash__(self):
18
+ return hash(self.name)
19
+
20
+ def __repr__(self):
21
+ return f"<Slot {self.name}>"
22
+
23
+ def __eq__(self, other):
24
+ return (
25
+ isinstance(other, Slot)
26
+ and self.name == other.name
27
+ and self.ui_name == other.ui_name
28
+ )
29
+
30
+ def __neq__(self, other):
31
+ return (
32
+ not isinstance(other, Slot)
33
+ or self.name != other.name
34
+ or self.ui_name != other.ui_name
35
+ )