@work-graph/cli 0.2.5 → 0.2.7

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 (3099) hide show
  1. package/README.md +12 -0
  2. package/package.json +1 -1
  3. package/vendor/packages/design-tokens/generated/workgraph-dark.css +29 -29
  4. package/vendor/packages/workgraph-mcp/README.md +14 -0
  5. package/vendor/packages/workgraph-mcp/src/handlers.mjs +110 -6
  6. package/vendor/packages/workgraph-mcp/src/index.mjs +77 -2
  7. package/vendor/public/assets/avatars/avatar-01.svg +1 -0
  8. package/vendor/public/assets/avatars/avatar-02.svg +1 -0
  9. package/vendor/public/assets/avatars/avatar-03.svg +1 -0
  10. package/vendor/public/assets/avatars/avatar-04.svg +1 -0
  11. package/vendor/public/assets/avatars/avatar-05.svg +1 -0
  12. package/vendor/public/assets/avatars/avatar-06.svg +1 -0
  13. package/vendor/public/assets/avatars/avatar-07.svg +1 -0
  14. package/vendor/public/assets/avatars/avatar-08.svg +1 -0
  15. package/vendor/public/assets/avatars/avatar-09.svg +1 -0
  16. package/vendor/public/assets/avatars/avatar-10.svg +1 -0
  17. package/vendor/public/assets/favicon.svg +4 -0
  18. package/vendor/public/assets/icons/bold/acorn-bold.svg +1 -0
  19. package/vendor/public/assets/icons/bold/address-book-bold.svg +1 -0
  20. package/vendor/public/assets/icons/bold/address-book-tabs-bold.svg +1 -0
  21. package/vendor/public/assets/icons/bold/air-traffic-control-bold.svg +1 -0
  22. package/vendor/public/assets/icons/bold/airplane-bold.svg +1 -0
  23. package/vendor/public/assets/icons/bold/airplane-in-flight-bold.svg +1 -0
  24. package/vendor/public/assets/icons/bold/airplane-landing-bold.svg +1 -0
  25. package/vendor/public/assets/icons/bold/airplane-takeoff-bold.svg +1 -0
  26. package/vendor/public/assets/icons/bold/airplane-taxiing-bold.svg +1 -0
  27. package/vendor/public/assets/icons/bold/airplane-tilt-bold.svg +1 -0
  28. package/vendor/public/assets/icons/bold/airplay-bold.svg +1 -0
  29. package/vendor/public/assets/icons/bold/alarm-bold.svg +1 -0
  30. package/vendor/public/assets/icons/bold/alien-bold.svg +1 -0
  31. package/vendor/public/assets/icons/bold/align-bottom-bold.svg +1 -0
  32. package/vendor/public/assets/icons/bold/align-bottom-simple-bold.svg +1 -0
  33. package/vendor/public/assets/icons/bold/align-center-horizontal-bold.svg +1 -0
  34. package/vendor/public/assets/icons/bold/align-center-horizontal-simple-bold.svg +1 -0
  35. package/vendor/public/assets/icons/bold/align-center-vertical-bold.svg +1 -0
  36. package/vendor/public/assets/icons/bold/align-center-vertical-simple-bold.svg +1 -0
  37. package/vendor/public/assets/icons/bold/align-left-bold.svg +1 -0
  38. package/vendor/public/assets/icons/bold/align-left-simple-bold.svg +1 -0
  39. package/vendor/public/assets/icons/bold/align-right-bold.svg +1 -0
  40. package/vendor/public/assets/icons/bold/align-right-simple-bold.svg +1 -0
  41. package/vendor/public/assets/icons/bold/align-top-bold.svg +1 -0
  42. package/vendor/public/assets/icons/bold/align-top-simple-bold.svg +1 -0
  43. package/vendor/public/assets/icons/bold/amazon-logo-bold.svg +1 -0
  44. package/vendor/public/assets/icons/bold/ambulance-bold.svg +1 -0
  45. package/vendor/public/assets/icons/bold/anchor-bold.svg +1 -0
  46. package/vendor/public/assets/icons/bold/anchor-simple-bold.svg +1 -0
  47. package/vendor/public/assets/icons/bold/android-logo-bold.svg +1 -0
  48. package/vendor/public/assets/icons/bold/angle-bold.svg +1 -0
  49. package/vendor/public/assets/icons/bold/angular-logo-bold.svg +1 -0
  50. package/vendor/public/assets/icons/bold/aperture-bold.svg +1 -0
  51. package/vendor/public/assets/icons/bold/app-store-logo-bold.svg +1 -0
  52. package/vendor/public/assets/icons/bold/app-window-bold.svg +1 -0
  53. package/vendor/public/assets/icons/bold/apple-logo-bold.svg +1 -0
  54. package/vendor/public/assets/icons/bold/apple-podcasts-logo-bold.svg +1 -0
  55. package/vendor/public/assets/icons/bold/approximate-equals-bold.svg +1 -0
  56. package/vendor/public/assets/icons/bold/archive-bold.svg +1 -0
  57. package/vendor/public/assets/icons/bold/armchair-bold.svg +1 -0
  58. package/vendor/public/assets/icons/bold/arrow-arc-left-bold.svg +1 -0
  59. package/vendor/public/assets/icons/bold/arrow-arc-right-bold.svg +1 -0
  60. package/vendor/public/assets/icons/bold/arrow-bend-double-up-left-bold.svg +1 -0
  61. package/vendor/public/assets/icons/bold/arrow-bend-double-up-right-bold.svg +1 -0
  62. package/vendor/public/assets/icons/bold/arrow-bend-down-left-bold.svg +1 -0
  63. package/vendor/public/assets/icons/bold/arrow-bend-down-right-bold.svg +1 -0
  64. package/vendor/public/assets/icons/bold/arrow-bend-left-down-bold.svg +1 -0
  65. package/vendor/public/assets/icons/bold/arrow-bend-left-up-bold.svg +1 -0
  66. package/vendor/public/assets/icons/bold/arrow-bend-right-down-bold.svg +1 -0
  67. package/vendor/public/assets/icons/bold/arrow-bend-right-up-bold.svg +1 -0
  68. package/vendor/public/assets/icons/bold/arrow-bend-up-left-bold.svg +1 -0
  69. package/vendor/public/assets/icons/bold/arrow-bend-up-right-bold.svg +1 -0
  70. package/vendor/public/assets/icons/bold/arrow-circle-down-bold.svg +1 -0
  71. package/vendor/public/assets/icons/bold/arrow-circle-down-left-bold.svg +1 -0
  72. package/vendor/public/assets/icons/bold/arrow-circle-down-right-bold.svg +1 -0
  73. package/vendor/public/assets/icons/bold/arrow-circle-left-bold.svg +1 -0
  74. package/vendor/public/assets/icons/bold/arrow-circle-right-bold.svg +1 -0
  75. package/vendor/public/assets/icons/bold/arrow-circle-up-bold.svg +1 -0
  76. package/vendor/public/assets/icons/bold/arrow-circle-up-left-bold.svg +1 -0
  77. package/vendor/public/assets/icons/bold/arrow-circle-up-right-bold.svg +1 -0
  78. package/vendor/public/assets/icons/bold/arrow-clockwise-bold.svg +1 -0
  79. package/vendor/public/assets/icons/bold/arrow-counter-clockwise-bold.svg +1 -0
  80. package/vendor/public/assets/icons/bold/arrow-down-bold.svg +1 -0
  81. package/vendor/public/assets/icons/bold/arrow-down-left-bold.svg +1 -0
  82. package/vendor/public/assets/icons/bold/arrow-down-right-bold.svg +1 -0
  83. package/vendor/public/assets/icons/bold/arrow-elbow-down-left-bold.svg +1 -0
  84. package/vendor/public/assets/icons/bold/arrow-elbow-down-right-bold.svg +1 -0
  85. package/vendor/public/assets/icons/bold/arrow-elbow-left-bold.svg +1 -0
  86. package/vendor/public/assets/icons/bold/arrow-elbow-left-down-bold.svg +1 -0
  87. package/vendor/public/assets/icons/bold/arrow-elbow-left-up-bold.svg +1 -0
  88. package/vendor/public/assets/icons/bold/arrow-elbow-right-bold.svg +1 -0
  89. package/vendor/public/assets/icons/bold/arrow-elbow-right-down-bold.svg +1 -0
  90. package/vendor/public/assets/icons/bold/arrow-elbow-right-up-bold.svg +1 -0
  91. package/vendor/public/assets/icons/bold/arrow-elbow-up-left-bold.svg +1 -0
  92. package/vendor/public/assets/icons/bold/arrow-elbow-up-right-bold.svg +1 -0
  93. package/vendor/public/assets/icons/bold/arrow-fat-down-bold.svg +1 -0
  94. package/vendor/public/assets/icons/bold/arrow-fat-left-bold.svg +1 -0
  95. package/vendor/public/assets/icons/bold/arrow-fat-line-down-bold.svg +1 -0
  96. package/vendor/public/assets/icons/bold/arrow-fat-line-left-bold.svg +1 -0
  97. package/vendor/public/assets/icons/bold/arrow-fat-line-right-bold.svg +1 -0
  98. package/vendor/public/assets/icons/bold/arrow-fat-line-up-bold.svg +1 -0
  99. package/vendor/public/assets/icons/bold/arrow-fat-lines-down-bold.svg +1 -0
  100. package/vendor/public/assets/icons/bold/arrow-fat-lines-left-bold.svg +1 -0
  101. package/vendor/public/assets/icons/bold/arrow-fat-lines-right-bold.svg +1 -0
  102. package/vendor/public/assets/icons/bold/arrow-fat-lines-up-bold.svg +1 -0
  103. package/vendor/public/assets/icons/bold/arrow-fat-right-bold.svg +1 -0
  104. package/vendor/public/assets/icons/bold/arrow-fat-up-bold.svg +1 -0
  105. package/vendor/public/assets/icons/bold/arrow-left-bold.svg +1 -0
  106. package/vendor/public/assets/icons/bold/arrow-line-down-bold.svg +1 -0
  107. package/vendor/public/assets/icons/bold/arrow-line-down-left-bold.svg +1 -0
  108. package/vendor/public/assets/icons/bold/arrow-line-down-right-bold.svg +1 -0
  109. package/vendor/public/assets/icons/bold/arrow-line-left-bold.svg +1 -0
  110. package/vendor/public/assets/icons/bold/arrow-line-right-bold.svg +1 -0
  111. package/vendor/public/assets/icons/bold/arrow-line-up-bold.svg +1 -0
  112. package/vendor/public/assets/icons/bold/arrow-line-up-left-bold.svg +1 -0
  113. package/vendor/public/assets/icons/bold/arrow-line-up-right-bold.svg +1 -0
  114. package/vendor/public/assets/icons/bold/arrow-right-bold.svg +1 -0
  115. package/vendor/public/assets/icons/bold/arrow-square-down-bold.svg +1 -0
  116. package/vendor/public/assets/icons/bold/arrow-square-down-left-bold.svg +1 -0
  117. package/vendor/public/assets/icons/bold/arrow-square-down-right-bold.svg +1 -0
  118. package/vendor/public/assets/icons/bold/arrow-square-in-bold.svg +1 -0
  119. package/vendor/public/assets/icons/bold/arrow-square-left-bold.svg +1 -0
  120. package/vendor/public/assets/icons/bold/arrow-square-out-bold.svg +1 -0
  121. package/vendor/public/assets/icons/bold/arrow-square-right-bold.svg +1 -0
  122. package/vendor/public/assets/icons/bold/arrow-square-up-bold.svg +1 -0
  123. package/vendor/public/assets/icons/bold/arrow-square-up-left-bold.svg +1 -0
  124. package/vendor/public/assets/icons/bold/arrow-square-up-right-bold.svg +1 -0
  125. package/vendor/public/assets/icons/bold/arrow-u-down-left-bold.svg +1 -0
  126. package/vendor/public/assets/icons/bold/arrow-u-down-right-bold.svg +1 -0
  127. package/vendor/public/assets/icons/bold/arrow-u-left-down-bold.svg +1 -0
  128. package/vendor/public/assets/icons/bold/arrow-u-left-up-bold.svg +1 -0
  129. package/vendor/public/assets/icons/bold/arrow-u-right-down-bold.svg +1 -0
  130. package/vendor/public/assets/icons/bold/arrow-u-right-up-bold.svg +1 -0
  131. package/vendor/public/assets/icons/bold/arrow-u-up-left-bold.svg +1 -0
  132. package/vendor/public/assets/icons/bold/arrow-u-up-right-bold.svg +1 -0
  133. package/vendor/public/assets/icons/bold/arrow-up-bold.svg +1 -0
  134. package/vendor/public/assets/icons/bold/arrow-up-left-bold.svg +1 -0
  135. package/vendor/public/assets/icons/bold/arrow-up-right-bold.svg +1 -0
  136. package/vendor/public/assets/icons/bold/arrows-clockwise-bold.svg +1 -0
  137. package/vendor/public/assets/icons/bold/arrows-counter-clockwise-bold.svg +1 -0
  138. package/vendor/public/assets/icons/bold/arrows-down-up-bold.svg +1 -0
  139. package/vendor/public/assets/icons/bold/arrows-horizontal-bold.svg +1 -0
  140. package/vendor/public/assets/icons/bold/arrows-in-bold.svg +1 -0
  141. package/vendor/public/assets/icons/bold/arrows-in-cardinal-bold.svg +1 -0
  142. package/vendor/public/assets/icons/bold/arrows-in-line-horizontal-bold.svg +1 -0
  143. package/vendor/public/assets/icons/bold/arrows-in-line-vertical-bold.svg +1 -0
  144. package/vendor/public/assets/icons/bold/arrows-in-simple-bold.svg +1 -0
  145. package/vendor/public/assets/icons/bold/arrows-left-right-bold.svg +1 -0
  146. package/vendor/public/assets/icons/bold/arrows-merge-bold.svg +1 -0
  147. package/vendor/public/assets/icons/bold/arrows-out-bold.svg +1 -0
  148. package/vendor/public/assets/icons/bold/arrows-out-cardinal-bold.svg +1 -0
  149. package/vendor/public/assets/icons/bold/arrows-out-line-horizontal-bold.svg +1 -0
  150. package/vendor/public/assets/icons/bold/arrows-out-line-vertical-bold.svg +1 -0
  151. package/vendor/public/assets/icons/bold/arrows-out-simple-bold.svg +1 -0
  152. package/vendor/public/assets/icons/bold/arrows-split-bold.svg +1 -0
  153. package/vendor/public/assets/icons/bold/arrows-vertical-bold.svg +1 -0
  154. package/vendor/public/assets/icons/bold/article-bold.svg +1 -0
  155. package/vendor/public/assets/icons/bold/article-medium-bold.svg +1 -0
  156. package/vendor/public/assets/icons/bold/article-ny-times-bold.svg +1 -0
  157. package/vendor/public/assets/icons/bold/asclepius-bold.svg +1 -0
  158. package/vendor/public/assets/icons/bold/asterisk-bold.svg +1 -0
  159. package/vendor/public/assets/icons/bold/asterisk-simple-bold.svg +1 -0
  160. package/vendor/public/assets/icons/bold/at-bold.svg +1 -0
  161. package/vendor/public/assets/icons/bold/atom-bold.svg +1 -0
  162. package/vendor/public/assets/icons/bold/avocado-bold.svg +1 -0
  163. package/vendor/public/assets/icons/bold/axe-bold.svg +1 -0
  164. package/vendor/public/assets/icons/bold/baby-bold.svg +1 -0
  165. package/vendor/public/assets/icons/bold/baby-carriage-bold.svg +1 -0
  166. package/vendor/public/assets/icons/bold/backpack-bold.svg +1 -0
  167. package/vendor/public/assets/icons/bold/backspace-bold.svg +1 -0
  168. package/vendor/public/assets/icons/bold/bag-bold.svg +1 -0
  169. package/vendor/public/assets/icons/bold/bag-simple-bold.svg +1 -0
  170. package/vendor/public/assets/icons/bold/balloon-bold.svg +1 -0
  171. package/vendor/public/assets/icons/bold/bandaids-bold.svg +1 -0
  172. package/vendor/public/assets/icons/bold/bank-bold.svg +1 -0
  173. package/vendor/public/assets/icons/bold/barbell-bold.svg +1 -0
  174. package/vendor/public/assets/icons/bold/barcode-bold.svg +1 -0
  175. package/vendor/public/assets/icons/bold/barn-bold.svg +1 -0
  176. package/vendor/public/assets/icons/bold/barricade-bold.svg +1 -0
  177. package/vendor/public/assets/icons/bold/baseball-bold.svg +1 -0
  178. package/vendor/public/assets/icons/bold/baseball-cap-bold.svg +1 -0
  179. package/vendor/public/assets/icons/bold/baseball-helmet-bold.svg +1 -0
  180. package/vendor/public/assets/icons/bold/basket-bold.svg +1 -0
  181. package/vendor/public/assets/icons/bold/basketball-bold.svg +1 -0
  182. package/vendor/public/assets/icons/bold/bathtub-bold.svg +1 -0
  183. package/vendor/public/assets/icons/bold/battery-charging-bold.svg +1 -0
  184. package/vendor/public/assets/icons/bold/battery-charging-vertical-bold.svg +1 -0
  185. package/vendor/public/assets/icons/bold/battery-empty-bold.svg +1 -0
  186. package/vendor/public/assets/icons/bold/battery-full-bold.svg +1 -0
  187. package/vendor/public/assets/icons/bold/battery-high-bold.svg +1 -0
  188. package/vendor/public/assets/icons/bold/battery-low-bold.svg +1 -0
  189. package/vendor/public/assets/icons/bold/battery-medium-bold.svg +1 -0
  190. package/vendor/public/assets/icons/bold/battery-plus-bold.svg +1 -0
  191. package/vendor/public/assets/icons/bold/battery-plus-vertical-bold.svg +1 -0
  192. package/vendor/public/assets/icons/bold/battery-vertical-empty-bold.svg +1 -0
  193. package/vendor/public/assets/icons/bold/battery-vertical-full-bold.svg +1 -0
  194. package/vendor/public/assets/icons/bold/battery-vertical-high-bold.svg +1 -0
  195. package/vendor/public/assets/icons/bold/battery-vertical-low-bold.svg +1 -0
  196. package/vendor/public/assets/icons/bold/battery-vertical-medium-bold.svg +1 -0
  197. package/vendor/public/assets/icons/bold/battery-warning-bold.svg +1 -0
  198. package/vendor/public/assets/icons/bold/battery-warning-vertical-bold.svg +1 -0
  199. package/vendor/public/assets/icons/bold/beach-ball-bold.svg +1 -0
  200. package/vendor/public/assets/icons/bold/beanie-bold.svg +1 -0
  201. package/vendor/public/assets/icons/bold/bed-bold.svg +1 -0
  202. package/vendor/public/assets/icons/bold/beer-bottle-bold.svg +1 -0
  203. package/vendor/public/assets/icons/bold/beer-stein-bold.svg +1 -0
  204. package/vendor/public/assets/icons/bold/behance-logo-bold.svg +1 -0
  205. package/vendor/public/assets/icons/bold/bell-bold.svg +1 -0
  206. package/vendor/public/assets/icons/bold/bell-ringing-bold.svg +1 -0
  207. package/vendor/public/assets/icons/bold/bell-simple-bold.svg +1 -0
  208. package/vendor/public/assets/icons/bold/bell-simple-ringing-bold.svg +1 -0
  209. package/vendor/public/assets/icons/bold/bell-simple-slash-bold.svg +1 -0
  210. package/vendor/public/assets/icons/bold/bell-simple-z-bold.svg +1 -0
  211. package/vendor/public/assets/icons/bold/bell-slash-bold.svg +1 -0
  212. package/vendor/public/assets/icons/bold/bell-z-bold.svg +1 -0
  213. package/vendor/public/assets/icons/bold/belt-bold.svg +1 -0
  214. package/vendor/public/assets/icons/bold/bezier-curve-bold.svg +1 -0
  215. package/vendor/public/assets/icons/bold/bicycle-bold.svg +1 -0
  216. package/vendor/public/assets/icons/bold/binary-bold.svg +1 -0
  217. package/vendor/public/assets/icons/bold/binoculars-bold.svg +1 -0
  218. package/vendor/public/assets/icons/bold/biohazard-bold.svg +1 -0
  219. package/vendor/public/assets/icons/bold/bird-bold.svg +1 -0
  220. package/vendor/public/assets/icons/bold/blueprint-bold.svg +1 -0
  221. package/vendor/public/assets/icons/bold/bluetooth-bold.svg +1 -0
  222. package/vendor/public/assets/icons/bold/bluetooth-connected-bold.svg +1 -0
  223. package/vendor/public/assets/icons/bold/bluetooth-slash-bold.svg +1 -0
  224. package/vendor/public/assets/icons/bold/bluetooth-x-bold.svg +1 -0
  225. package/vendor/public/assets/icons/bold/boat-bold.svg +1 -0
  226. package/vendor/public/assets/icons/bold/bomb-bold.svg +1 -0
  227. package/vendor/public/assets/icons/bold/bone-bold.svg +1 -0
  228. package/vendor/public/assets/icons/bold/book-bold.svg +1 -0
  229. package/vendor/public/assets/icons/bold/book-bookmark-bold.svg +1 -0
  230. package/vendor/public/assets/icons/bold/book-open-bold.svg +1 -0
  231. package/vendor/public/assets/icons/bold/book-open-text-bold.svg +1 -0
  232. package/vendor/public/assets/icons/bold/book-open-user-bold.svg +1 -0
  233. package/vendor/public/assets/icons/bold/bookmark-bold.svg +1 -0
  234. package/vendor/public/assets/icons/bold/bookmark-simple-bold.svg +1 -0
  235. package/vendor/public/assets/icons/bold/bookmarks-bold.svg +1 -0
  236. package/vendor/public/assets/icons/bold/bookmarks-simple-bold.svg +1 -0
  237. package/vendor/public/assets/icons/bold/books-bold.svg +1 -0
  238. package/vendor/public/assets/icons/bold/boot-bold.svg +1 -0
  239. package/vendor/public/assets/icons/bold/boules-bold.svg +1 -0
  240. package/vendor/public/assets/icons/bold/bounding-box-bold.svg +1 -0
  241. package/vendor/public/assets/icons/bold/bowl-food-bold.svg +1 -0
  242. package/vendor/public/assets/icons/bold/bowl-steam-bold.svg +1 -0
  243. package/vendor/public/assets/icons/bold/bowling-ball-bold.svg +1 -0
  244. package/vendor/public/assets/icons/bold/box-arrow-down-bold.svg +1 -0
  245. package/vendor/public/assets/icons/bold/box-arrow-up-bold.svg +1 -0
  246. package/vendor/public/assets/icons/bold/boxing-glove-bold.svg +1 -0
  247. package/vendor/public/assets/icons/bold/brackets-angle-bold.svg +1 -0
  248. package/vendor/public/assets/icons/bold/brackets-curly-bold.svg +1 -0
  249. package/vendor/public/assets/icons/bold/brackets-round-bold.svg +1 -0
  250. package/vendor/public/assets/icons/bold/brackets-square-bold.svg +1 -0
  251. package/vendor/public/assets/icons/bold/brain-bold.svg +1 -0
  252. package/vendor/public/assets/icons/bold/brandy-bold.svg +1 -0
  253. package/vendor/public/assets/icons/bold/bread-bold.svg +1 -0
  254. package/vendor/public/assets/icons/bold/bridge-bold.svg +1 -0
  255. package/vendor/public/assets/icons/bold/briefcase-bold.svg +1 -0
  256. package/vendor/public/assets/icons/bold/briefcase-metal-bold.svg +1 -0
  257. package/vendor/public/assets/icons/bold/broadcast-bold.svg +1 -0
  258. package/vendor/public/assets/icons/bold/broom-bold.svg +1 -0
  259. package/vendor/public/assets/icons/bold/browser-bold.svg +1 -0
  260. package/vendor/public/assets/icons/bold/browsers-bold.svg +1 -0
  261. package/vendor/public/assets/icons/bold/bug-beetle-bold.svg +1 -0
  262. package/vendor/public/assets/icons/bold/bug-bold.svg +1 -0
  263. package/vendor/public/assets/icons/bold/bug-droid-bold.svg +1 -0
  264. package/vendor/public/assets/icons/bold/building-apartment-bold.svg +1 -0
  265. package/vendor/public/assets/icons/bold/building-bold.svg +1 -0
  266. package/vendor/public/assets/icons/bold/building-office-bold.svg +1 -0
  267. package/vendor/public/assets/icons/bold/buildings-bold.svg +1 -0
  268. package/vendor/public/assets/icons/bold/bulldozer-bold.svg +1 -0
  269. package/vendor/public/assets/icons/bold/bus-bold.svg +1 -0
  270. package/vendor/public/assets/icons/bold/butterfly-bold.svg +1 -0
  271. package/vendor/public/assets/icons/bold/cable-car-bold.svg +1 -0
  272. package/vendor/public/assets/icons/bold/cactus-bold.svg +1 -0
  273. package/vendor/public/assets/icons/bold/cake-bold.svg +1 -0
  274. package/vendor/public/assets/icons/bold/calculator-bold.svg +1 -0
  275. package/vendor/public/assets/icons/bold/calendar-blank-bold.svg +1 -0
  276. package/vendor/public/assets/icons/bold/calendar-bold.svg +1 -0
  277. package/vendor/public/assets/icons/bold/calendar-check-bold.svg +1 -0
  278. package/vendor/public/assets/icons/bold/calendar-dot-bold.svg +1 -0
  279. package/vendor/public/assets/icons/bold/calendar-dots-bold.svg +1 -0
  280. package/vendor/public/assets/icons/bold/calendar-heart-bold.svg +1 -0
  281. package/vendor/public/assets/icons/bold/calendar-minus-bold.svg +1 -0
  282. package/vendor/public/assets/icons/bold/calendar-plus-bold.svg +1 -0
  283. package/vendor/public/assets/icons/bold/calendar-slash-bold.svg +1 -0
  284. package/vendor/public/assets/icons/bold/calendar-star-bold.svg +1 -0
  285. package/vendor/public/assets/icons/bold/calendar-x-bold.svg +1 -0
  286. package/vendor/public/assets/icons/bold/call-bell-bold.svg +1 -0
  287. package/vendor/public/assets/icons/bold/camera-bold.svg +1 -0
  288. package/vendor/public/assets/icons/bold/camera-plus-bold.svg +1 -0
  289. package/vendor/public/assets/icons/bold/camera-rotate-bold.svg +1 -0
  290. package/vendor/public/assets/icons/bold/camera-slash-bold.svg +1 -0
  291. package/vendor/public/assets/icons/bold/campfire-bold.svg +1 -0
  292. package/vendor/public/assets/icons/bold/car-battery-bold.svg +1 -0
  293. package/vendor/public/assets/icons/bold/car-bold.svg +1 -0
  294. package/vendor/public/assets/icons/bold/car-profile-bold.svg +1 -0
  295. package/vendor/public/assets/icons/bold/car-simple-bold.svg +1 -0
  296. package/vendor/public/assets/icons/bold/cardholder-bold.svg +1 -0
  297. package/vendor/public/assets/icons/bold/cards-bold.svg +1 -0
  298. package/vendor/public/assets/icons/bold/cards-three-bold.svg +1 -0
  299. package/vendor/public/assets/icons/bold/caret-circle-double-down-bold.svg +1 -0
  300. package/vendor/public/assets/icons/bold/caret-circle-double-left-bold.svg +1 -0
  301. package/vendor/public/assets/icons/bold/caret-circle-double-right-bold.svg +1 -0
  302. package/vendor/public/assets/icons/bold/caret-circle-double-up-bold.svg +1 -0
  303. package/vendor/public/assets/icons/bold/caret-circle-down-bold.svg +1 -0
  304. package/vendor/public/assets/icons/bold/caret-circle-left-bold.svg +1 -0
  305. package/vendor/public/assets/icons/bold/caret-circle-right-bold.svg +1 -0
  306. package/vendor/public/assets/icons/bold/caret-circle-up-bold.svg +1 -0
  307. package/vendor/public/assets/icons/bold/caret-circle-up-down-bold.svg +1 -0
  308. package/vendor/public/assets/icons/bold/caret-double-down-bold.svg +1 -0
  309. package/vendor/public/assets/icons/bold/caret-double-left-bold.svg +1 -0
  310. package/vendor/public/assets/icons/bold/caret-double-right-bold.svg +1 -0
  311. package/vendor/public/assets/icons/bold/caret-double-up-bold.svg +1 -0
  312. package/vendor/public/assets/icons/bold/caret-down-bold.svg +1 -0
  313. package/vendor/public/assets/icons/bold/caret-left-bold.svg +1 -0
  314. package/vendor/public/assets/icons/bold/caret-line-down-bold.svg +1 -0
  315. package/vendor/public/assets/icons/bold/caret-line-left-bold.svg +1 -0
  316. package/vendor/public/assets/icons/bold/caret-line-right-bold.svg +1 -0
  317. package/vendor/public/assets/icons/bold/caret-line-up-bold.svg +1 -0
  318. package/vendor/public/assets/icons/bold/caret-right-bold.svg +1 -0
  319. package/vendor/public/assets/icons/bold/caret-up-bold.svg +1 -0
  320. package/vendor/public/assets/icons/bold/caret-up-down-bold.svg +1 -0
  321. package/vendor/public/assets/icons/bold/carrot-bold.svg +1 -0
  322. package/vendor/public/assets/icons/bold/cash-register-bold.svg +1 -0
  323. package/vendor/public/assets/icons/bold/cassette-tape-bold.svg +1 -0
  324. package/vendor/public/assets/icons/bold/castle-turret-bold.svg +1 -0
  325. package/vendor/public/assets/icons/bold/cat-bold.svg +1 -0
  326. package/vendor/public/assets/icons/bold/cell-signal-full-bold.svg +1 -0
  327. package/vendor/public/assets/icons/bold/cell-signal-high-bold.svg +1 -0
  328. package/vendor/public/assets/icons/bold/cell-signal-low-bold.svg +1 -0
  329. package/vendor/public/assets/icons/bold/cell-signal-medium-bold.svg +1 -0
  330. package/vendor/public/assets/icons/bold/cell-signal-none-bold.svg +1 -0
  331. package/vendor/public/assets/icons/bold/cell-signal-slash-bold.svg +1 -0
  332. package/vendor/public/assets/icons/bold/cell-signal-x-bold.svg +1 -0
  333. package/vendor/public/assets/icons/bold/cell-tower-bold.svg +1 -0
  334. package/vendor/public/assets/icons/bold/certificate-bold.svg +1 -0
  335. package/vendor/public/assets/icons/bold/chair-bold.svg +1 -0
  336. package/vendor/public/assets/icons/bold/chalkboard-bold.svg +1 -0
  337. package/vendor/public/assets/icons/bold/chalkboard-simple-bold.svg +1 -0
  338. package/vendor/public/assets/icons/bold/chalkboard-teacher-bold.svg +1 -0
  339. package/vendor/public/assets/icons/bold/champagne-bold.svg +1 -0
  340. package/vendor/public/assets/icons/bold/charging-station-bold.svg +1 -0
  341. package/vendor/public/assets/icons/bold/chart-bar-bold.svg +1 -0
  342. package/vendor/public/assets/icons/bold/chart-bar-horizontal-bold.svg +1 -0
  343. package/vendor/public/assets/icons/bold/chart-donut-bold.svg +1 -0
  344. package/vendor/public/assets/icons/bold/chart-line-bold.svg +1 -0
  345. package/vendor/public/assets/icons/bold/chart-line-down-bold.svg +1 -0
  346. package/vendor/public/assets/icons/bold/chart-line-up-bold.svg +1 -0
  347. package/vendor/public/assets/icons/bold/chart-pie-bold.svg +1 -0
  348. package/vendor/public/assets/icons/bold/chart-pie-slice-bold.svg +1 -0
  349. package/vendor/public/assets/icons/bold/chart-polar-bold.svg +1 -0
  350. package/vendor/public/assets/icons/bold/chart-scatter-bold.svg +1 -0
  351. package/vendor/public/assets/icons/bold/chat-bold.svg +1 -0
  352. package/vendor/public/assets/icons/bold/chat-centered-bold.svg +1 -0
  353. package/vendor/public/assets/icons/bold/chat-centered-dots-bold.svg +1 -0
  354. package/vendor/public/assets/icons/bold/chat-centered-slash-bold.svg +1 -0
  355. package/vendor/public/assets/icons/bold/chat-centered-text-bold.svg +1 -0
  356. package/vendor/public/assets/icons/bold/chat-circle-bold.svg +1 -0
  357. package/vendor/public/assets/icons/bold/chat-circle-dots-bold.svg +1 -0
  358. package/vendor/public/assets/icons/bold/chat-circle-slash-bold.svg +1 -0
  359. package/vendor/public/assets/icons/bold/chat-circle-text-bold.svg +1 -0
  360. package/vendor/public/assets/icons/bold/chat-dots-bold.svg +1 -0
  361. package/vendor/public/assets/icons/bold/chat-slash-bold.svg +1 -0
  362. package/vendor/public/assets/icons/bold/chat-teardrop-bold.svg +1 -0
  363. package/vendor/public/assets/icons/bold/chat-teardrop-dots-bold.svg +1 -0
  364. package/vendor/public/assets/icons/bold/chat-teardrop-slash-bold.svg +1 -0
  365. package/vendor/public/assets/icons/bold/chat-teardrop-text-bold.svg +1 -0
  366. package/vendor/public/assets/icons/bold/chat-text-bold.svg +1 -0
  367. package/vendor/public/assets/icons/bold/chats-bold.svg +1 -0
  368. package/vendor/public/assets/icons/bold/chats-circle-bold.svg +1 -0
  369. package/vendor/public/assets/icons/bold/chats-teardrop-bold.svg +1 -0
  370. package/vendor/public/assets/icons/bold/check-bold.svg +1 -0
  371. package/vendor/public/assets/icons/bold/check-circle-bold.svg +1 -0
  372. package/vendor/public/assets/icons/bold/check-fat-bold.svg +1 -0
  373. package/vendor/public/assets/icons/bold/check-square-bold.svg +1 -0
  374. package/vendor/public/assets/icons/bold/check-square-offset-bold.svg +1 -0
  375. package/vendor/public/assets/icons/bold/checkerboard-bold.svg +1 -0
  376. package/vendor/public/assets/icons/bold/checks-bold.svg +1 -0
  377. package/vendor/public/assets/icons/bold/cheers-bold.svg +1 -0
  378. package/vendor/public/assets/icons/bold/cheese-bold.svg +1 -0
  379. package/vendor/public/assets/icons/bold/chef-hat-bold.svg +1 -0
  380. package/vendor/public/assets/icons/bold/cherries-bold.svg +1 -0
  381. package/vendor/public/assets/icons/bold/church-bold.svg +1 -0
  382. package/vendor/public/assets/icons/bold/cigarette-bold.svg +1 -0
  383. package/vendor/public/assets/icons/bold/cigarette-slash-bold.svg +1 -0
  384. package/vendor/public/assets/icons/bold/circle-bold.svg +1 -0
  385. package/vendor/public/assets/icons/bold/circle-dashed-bold.svg +1 -0
  386. package/vendor/public/assets/icons/bold/circle-half-bold.svg +1 -0
  387. package/vendor/public/assets/icons/bold/circle-half-tilt-bold.svg +1 -0
  388. package/vendor/public/assets/icons/bold/circle-notch-bold.svg +1 -0
  389. package/vendor/public/assets/icons/bold/circles-four-bold.svg +1 -0
  390. package/vendor/public/assets/icons/bold/circles-three-bold.svg +1 -0
  391. package/vendor/public/assets/icons/bold/circles-three-plus-bold.svg +1 -0
  392. package/vendor/public/assets/icons/bold/circuitry-bold.svg +1 -0
  393. package/vendor/public/assets/icons/bold/city-bold.svg +1 -0
  394. package/vendor/public/assets/icons/bold/clipboard-bold.svg +1 -0
  395. package/vendor/public/assets/icons/bold/clipboard-text-bold.svg +1 -0
  396. package/vendor/public/assets/icons/bold/clock-afternoon-bold.svg +1 -0
  397. package/vendor/public/assets/icons/bold/clock-bold.svg +1 -0
  398. package/vendor/public/assets/icons/bold/clock-clockwise-bold.svg +1 -0
  399. package/vendor/public/assets/icons/bold/clock-countdown-bold.svg +1 -0
  400. package/vendor/public/assets/icons/bold/clock-counter-clockwise-bold.svg +1 -0
  401. package/vendor/public/assets/icons/bold/clock-user-bold.svg +1 -0
  402. package/vendor/public/assets/icons/bold/closed-captioning-bold.svg +1 -0
  403. package/vendor/public/assets/icons/bold/cloud-arrow-down-bold.svg +1 -0
  404. package/vendor/public/assets/icons/bold/cloud-arrow-up-bold.svg +1 -0
  405. package/vendor/public/assets/icons/bold/cloud-bold.svg +1 -0
  406. package/vendor/public/assets/icons/bold/cloud-check-bold.svg +1 -0
  407. package/vendor/public/assets/icons/bold/cloud-fog-bold.svg +1 -0
  408. package/vendor/public/assets/icons/bold/cloud-lightning-bold.svg +1 -0
  409. package/vendor/public/assets/icons/bold/cloud-moon-bold.svg +1 -0
  410. package/vendor/public/assets/icons/bold/cloud-rain-bold.svg +1 -0
  411. package/vendor/public/assets/icons/bold/cloud-slash-bold.svg +1 -0
  412. package/vendor/public/assets/icons/bold/cloud-snow-bold.svg +1 -0
  413. package/vendor/public/assets/icons/bold/cloud-sun-bold.svg +1 -0
  414. package/vendor/public/assets/icons/bold/cloud-warning-bold.svg +1 -0
  415. package/vendor/public/assets/icons/bold/cloud-x-bold.svg +1 -0
  416. package/vendor/public/assets/icons/bold/clover-bold.svg +1 -0
  417. package/vendor/public/assets/icons/bold/club-bold.svg +1 -0
  418. package/vendor/public/assets/icons/bold/coat-hanger-bold.svg +1 -0
  419. package/vendor/public/assets/icons/bold/coda-logo-bold.svg +1 -0
  420. package/vendor/public/assets/icons/bold/code-block-bold.svg +1 -0
  421. package/vendor/public/assets/icons/bold/code-bold.svg +1 -0
  422. package/vendor/public/assets/icons/bold/code-simple-bold.svg +1 -0
  423. package/vendor/public/assets/icons/bold/codepen-logo-bold.svg +1 -0
  424. package/vendor/public/assets/icons/bold/codesandbox-logo-bold.svg +1 -0
  425. package/vendor/public/assets/icons/bold/coffee-bean-bold.svg +1 -0
  426. package/vendor/public/assets/icons/bold/coffee-bold.svg +1 -0
  427. package/vendor/public/assets/icons/bold/coin-bold.svg +1 -0
  428. package/vendor/public/assets/icons/bold/coin-vertical-bold.svg +1 -0
  429. package/vendor/public/assets/icons/bold/coins-bold.svg +1 -0
  430. package/vendor/public/assets/icons/bold/columns-bold.svg +1 -0
  431. package/vendor/public/assets/icons/bold/columns-plus-left-bold.svg +1 -0
  432. package/vendor/public/assets/icons/bold/columns-plus-right-bold.svg +1 -0
  433. package/vendor/public/assets/icons/bold/command-bold.svg +1 -0
  434. package/vendor/public/assets/icons/bold/compass-bold.svg +1 -0
  435. package/vendor/public/assets/icons/bold/compass-rose-bold.svg +1 -0
  436. package/vendor/public/assets/icons/bold/compass-tool-bold.svg +1 -0
  437. package/vendor/public/assets/icons/bold/computer-tower-bold.svg +1 -0
  438. package/vendor/public/assets/icons/bold/confetti-bold.svg +1 -0
  439. package/vendor/public/assets/icons/bold/contactless-payment-bold.svg +1 -0
  440. package/vendor/public/assets/icons/bold/control-bold.svg +1 -0
  441. package/vendor/public/assets/icons/bold/cookie-bold.svg +1 -0
  442. package/vendor/public/assets/icons/bold/cooking-pot-bold.svg +1 -0
  443. package/vendor/public/assets/icons/bold/copy-bold.svg +1 -0
  444. package/vendor/public/assets/icons/bold/copy-simple-bold.svg +1 -0
  445. package/vendor/public/assets/icons/bold/copyleft-bold.svg +1 -0
  446. package/vendor/public/assets/icons/bold/copyright-bold.svg +1 -0
  447. package/vendor/public/assets/icons/bold/corners-in-bold.svg +1 -0
  448. package/vendor/public/assets/icons/bold/corners-out-bold.svg +1 -0
  449. package/vendor/public/assets/icons/bold/couch-bold.svg +1 -0
  450. package/vendor/public/assets/icons/bold/court-basketball-bold.svg +1 -0
  451. package/vendor/public/assets/icons/bold/cow-bold.svg +1 -0
  452. package/vendor/public/assets/icons/bold/cowboy-hat-bold.svg +1 -0
  453. package/vendor/public/assets/icons/bold/cpu-bold.svg +1 -0
  454. package/vendor/public/assets/icons/bold/crane-bold.svg +1 -0
  455. package/vendor/public/assets/icons/bold/crane-tower-bold.svg +1 -0
  456. package/vendor/public/assets/icons/bold/credit-card-bold.svg +1 -0
  457. package/vendor/public/assets/icons/bold/cricket-bold.svg +1 -0
  458. package/vendor/public/assets/icons/bold/crop-bold.svg +1 -0
  459. package/vendor/public/assets/icons/bold/cross-bold.svg +1 -0
  460. package/vendor/public/assets/icons/bold/crosshair-bold.svg +1 -0
  461. package/vendor/public/assets/icons/bold/crosshair-simple-bold.svg +1 -0
  462. package/vendor/public/assets/icons/bold/crown-bold.svg +1 -0
  463. package/vendor/public/assets/icons/bold/crown-cross-bold.svg +1 -0
  464. package/vendor/public/assets/icons/bold/crown-simple-bold.svg +1 -0
  465. package/vendor/public/assets/icons/bold/cube-bold.svg +1 -0
  466. package/vendor/public/assets/icons/bold/cube-focus-bold.svg +1 -0
  467. package/vendor/public/assets/icons/bold/cube-transparent-bold.svg +1 -0
  468. package/vendor/public/assets/icons/bold/currency-btc-bold.svg +1 -0
  469. package/vendor/public/assets/icons/bold/currency-circle-dollar-bold.svg +1 -0
  470. package/vendor/public/assets/icons/bold/currency-cny-bold.svg +1 -0
  471. package/vendor/public/assets/icons/bold/currency-dollar-bold.svg +1 -0
  472. package/vendor/public/assets/icons/bold/currency-dollar-simple-bold.svg +1 -0
  473. package/vendor/public/assets/icons/bold/currency-eth-bold.svg +1 -0
  474. package/vendor/public/assets/icons/bold/currency-eur-bold.svg +1 -0
  475. package/vendor/public/assets/icons/bold/currency-gbp-bold.svg +1 -0
  476. package/vendor/public/assets/icons/bold/currency-inr-bold.svg +1 -0
  477. package/vendor/public/assets/icons/bold/currency-jpy-bold.svg +1 -0
  478. package/vendor/public/assets/icons/bold/currency-krw-bold.svg +1 -0
  479. package/vendor/public/assets/icons/bold/currency-kzt-bold.svg +1 -0
  480. package/vendor/public/assets/icons/bold/currency-ngn-bold.svg +1 -0
  481. package/vendor/public/assets/icons/bold/currency-rub-bold.svg +1 -0
  482. package/vendor/public/assets/icons/bold/cursor-bold.svg +1 -0
  483. package/vendor/public/assets/icons/bold/cursor-click-bold.svg +1 -0
  484. package/vendor/public/assets/icons/bold/cursor-text-bold.svg +1 -0
  485. package/vendor/public/assets/icons/bold/cylinder-bold.svg +1 -0
  486. package/vendor/public/assets/icons/bold/database-bold.svg +1 -0
  487. package/vendor/public/assets/icons/bold/desk-bold.svg +1 -0
  488. package/vendor/public/assets/icons/bold/desktop-bold.svg +1 -0
  489. package/vendor/public/assets/icons/bold/desktop-tower-bold.svg +1 -0
  490. package/vendor/public/assets/icons/bold/detective-bold.svg +1 -0
  491. package/vendor/public/assets/icons/bold/dev-to-logo-bold.svg +1 -0
  492. package/vendor/public/assets/icons/bold/device-mobile-bold.svg +1 -0
  493. package/vendor/public/assets/icons/bold/device-mobile-camera-bold.svg +1 -0
  494. package/vendor/public/assets/icons/bold/device-mobile-slash-bold.svg +1 -0
  495. package/vendor/public/assets/icons/bold/device-mobile-speaker-bold.svg +1 -0
  496. package/vendor/public/assets/icons/bold/device-rotate-bold.svg +1 -0
  497. package/vendor/public/assets/icons/bold/device-tablet-bold.svg +1 -0
  498. package/vendor/public/assets/icons/bold/device-tablet-camera-bold.svg +1 -0
  499. package/vendor/public/assets/icons/bold/device-tablet-speaker-bold.svg +1 -0
  500. package/vendor/public/assets/icons/bold/devices-bold.svg +1 -0
  501. package/vendor/public/assets/icons/bold/diamond-bold.svg +1 -0
  502. package/vendor/public/assets/icons/bold/diamonds-four-bold.svg +1 -0
  503. package/vendor/public/assets/icons/bold/dice-five-bold.svg +1 -0
  504. package/vendor/public/assets/icons/bold/dice-four-bold.svg +1 -0
  505. package/vendor/public/assets/icons/bold/dice-one-bold.svg +1 -0
  506. package/vendor/public/assets/icons/bold/dice-six-bold.svg +1 -0
  507. package/vendor/public/assets/icons/bold/dice-three-bold.svg +1 -0
  508. package/vendor/public/assets/icons/bold/dice-two-bold.svg +1 -0
  509. package/vendor/public/assets/icons/bold/disc-bold.svg +1 -0
  510. package/vendor/public/assets/icons/bold/disco-ball-bold.svg +1 -0
  511. package/vendor/public/assets/icons/bold/discord-logo-bold.svg +1 -0
  512. package/vendor/public/assets/icons/bold/divide-bold.svg +1 -0
  513. package/vendor/public/assets/icons/bold/dna-bold.svg +1 -0
  514. package/vendor/public/assets/icons/bold/dog-bold.svg +1 -0
  515. package/vendor/public/assets/icons/bold/door-bold.svg +1 -0
  516. package/vendor/public/assets/icons/bold/door-open-bold.svg +1 -0
  517. package/vendor/public/assets/icons/bold/dot-bold.svg +1 -0
  518. package/vendor/public/assets/icons/bold/dot-outline-bold.svg +1 -0
  519. package/vendor/public/assets/icons/bold/dots-nine-bold.svg +1 -0
  520. package/vendor/public/assets/icons/bold/dots-six-bold.svg +1 -0
  521. package/vendor/public/assets/icons/bold/dots-six-vertical-bold.svg +1 -0
  522. package/vendor/public/assets/icons/bold/dots-three-bold.svg +1 -0
  523. package/vendor/public/assets/icons/bold/dots-three-circle-bold.svg +1 -0
  524. package/vendor/public/assets/icons/bold/dots-three-circle-vertical-bold.svg +1 -0
  525. package/vendor/public/assets/icons/bold/dots-three-outline-bold.svg +1 -0
  526. package/vendor/public/assets/icons/bold/dots-three-outline-vertical-bold.svg +1 -0
  527. package/vendor/public/assets/icons/bold/dots-three-vertical-bold.svg +1 -0
  528. package/vendor/public/assets/icons/bold/download-bold.svg +1 -0
  529. package/vendor/public/assets/icons/bold/download-simple-bold.svg +1 -0
  530. package/vendor/public/assets/icons/bold/dress-bold.svg +1 -0
  531. package/vendor/public/assets/icons/bold/dresser-bold.svg +1 -0
  532. package/vendor/public/assets/icons/bold/dribbble-logo-bold.svg +1 -0
  533. package/vendor/public/assets/icons/bold/drone-bold.svg +1 -0
  534. package/vendor/public/assets/icons/bold/drop-bold.svg +1 -0
  535. package/vendor/public/assets/icons/bold/drop-half-bold.svg +1 -0
  536. package/vendor/public/assets/icons/bold/drop-half-bottom-bold.svg +1 -0
  537. package/vendor/public/assets/icons/bold/drop-simple-bold.svg +1 -0
  538. package/vendor/public/assets/icons/bold/drop-slash-bold.svg +1 -0
  539. package/vendor/public/assets/icons/bold/dropbox-logo-bold.svg +1 -0
  540. package/vendor/public/assets/icons/bold/ear-bold.svg +1 -0
  541. package/vendor/public/assets/icons/bold/ear-slash-bold.svg +1 -0
  542. package/vendor/public/assets/icons/bold/egg-bold.svg +1 -0
  543. package/vendor/public/assets/icons/bold/egg-crack-bold.svg +1 -0
  544. package/vendor/public/assets/icons/bold/eject-bold.svg +1 -0
  545. package/vendor/public/assets/icons/bold/eject-simple-bold.svg +1 -0
  546. package/vendor/public/assets/icons/bold/elevator-bold.svg +1 -0
  547. package/vendor/public/assets/icons/bold/empty-bold.svg +1 -0
  548. package/vendor/public/assets/icons/bold/engine-bold.svg +1 -0
  549. package/vendor/public/assets/icons/bold/envelope-bold.svg +1 -0
  550. package/vendor/public/assets/icons/bold/envelope-open-bold.svg +1 -0
  551. package/vendor/public/assets/icons/bold/envelope-simple-bold.svg +1 -0
  552. package/vendor/public/assets/icons/bold/envelope-simple-open-bold.svg +1 -0
  553. package/vendor/public/assets/icons/bold/equalizer-bold.svg +1 -0
  554. package/vendor/public/assets/icons/bold/equals-bold.svg +1 -0
  555. package/vendor/public/assets/icons/bold/eraser-bold.svg +1 -0
  556. package/vendor/public/assets/icons/bold/escalator-down-bold.svg +1 -0
  557. package/vendor/public/assets/icons/bold/escalator-up-bold.svg +1 -0
  558. package/vendor/public/assets/icons/bold/exam-bold.svg +1 -0
  559. package/vendor/public/assets/icons/bold/exclamation-mark-bold.svg +1 -0
  560. package/vendor/public/assets/icons/bold/exclude-bold.svg +1 -0
  561. package/vendor/public/assets/icons/bold/exclude-square-bold.svg +1 -0
  562. package/vendor/public/assets/icons/bold/export-bold.svg +1 -0
  563. package/vendor/public/assets/icons/bold/eye-bold.svg +1 -0
  564. package/vendor/public/assets/icons/bold/eye-closed-bold.svg +1 -0
  565. package/vendor/public/assets/icons/bold/eye-slash-bold.svg +1 -0
  566. package/vendor/public/assets/icons/bold/eyedropper-bold.svg +1 -0
  567. package/vendor/public/assets/icons/bold/eyedropper-sample-bold.svg +1 -0
  568. package/vendor/public/assets/icons/bold/eyeglasses-bold.svg +1 -0
  569. package/vendor/public/assets/icons/bold/eyes-bold.svg +1 -0
  570. package/vendor/public/assets/icons/bold/face-mask-bold.svg +1 -0
  571. package/vendor/public/assets/icons/bold/facebook-logo-bold.svg +1 -0
  572. package/vendor/public/assets/icons/bold/factory-bold.svg +1 -0
  573. package/vendor/public/assets/icons/bold/faders-bold.svg +1 -0
  574. package/vendor/public/assets/icons/bold/faders-horizontal-bold.svg +1 -0
  575. package/vendor/public/assets/icons/bold/fallout-shelter-bold.svg +1 -0
  576. package/vendor/public/assets/icons/bold/fan-bold.svg +1 -0
  577. package/vendor/public/assets/icons/bold/farm-bold.svg +1 -0
  578. package/vendor/public/assets/icons/bold/fast-forward-bold.svg +1 -0
  579. package/vendor/public/assets/icons/bold/fast-forward-circle-bold.svg +1 -0
  580. package/vendor/public/assets/icons/bold/feather-bold.svg +1 -0
  581. package/vendor/public/assets/icons/bold/fediverse-logo-bold.svg +1 -0
  582. package/vendor/public/assets/icons/bold/figma-logo-bold.svg +1 -0
  583. package/vendor/public/assets/icons/bold/file-archive-bold.svg +1 -0
  584. package/vendor/public/assets/icons/bold/file-arrow-down-bold.svg +1 -0
  585. package/vendor/public/assets/icons/bold/file-arrow-up-bold.svg +1 -0
  586. package/vendor/public/assets/icons/bold/file-audio-bold.svg +1 -0
  587. package/vendor/public/assets/icons/bold/file-bold.svg +1 -0
  588. package/vendor/public/assets/icons/bold/file-c-bold.svg +1 -0
  589. package/vendor/public/assets/icons/bold/file-c-sharp-bold.svg +1 -0
  590. package/vendor/public/assets/icons/bold/file-cloud-bold.svg +1 -0
  591. package/vendor/public/assets/icons/bold/file-code-bold.svg +1 -0
  592. package/vendor/public/assets/icons/bold/file-cpp-bold.svg +1 -0
  593. package/vendor/public/assets/icons/bold/file-css-bold.svg +1 -0
  594. package/vendor/public/assets/icons/bold/file-csv-bold.svg +1 -0
  595. package/vendor/public/assets/icons/bold/file-dashed-bold.svg +1 -0
  596. package/vendor/public/assets/icons/bold/file-doc-bold.svg +1 -0
  597. package/vendor/public/assets/icons/bold/file-html-bold.svg +1 -0
  598. package/vendor/public/assets/icons/bold/file-image-bold.svg +1 -0
  599. package/vendor/public/assets/icons/bold/file-ini-bold.svg +1 -0
  600. package/vendor/public/assets/icons/bold/file-jpg-bold.svg +1 -0
  601. package/vendor/public/assets/icons/bold/file-js-bold.svg +1 -0
  602. package/vendor/public/assets/icons/bold/file-jsx-bold.svg +1 -0
  603. package/vendor/public/assets/icons/bold/file-lock-bold.svg +1 -0
  604. package/vendor/public/assets/icons/bold/file-magnifying-glass-bold.svg +1 -0
  605. package/vendor/public/assets/icons/bold/file-md-bold.svg +1 -0
  606. package/vendor/public/assets/icons/bold/file-minus-bold.svg +1 -0
  607. package/vendor/public/assets/icons/bold/file-pdf-bold.svg +1 -0
  608. package/vendor/public/assets/icons/bold/file-plus-bold.svg +1 -0
  609. package/vendor/public/assets/icons/bold/file-png-bold.svg +1 -0
  610. package/vendor/public/assets/icons/bold/file-ppt-bold.svg +1 -0
  611. package/vendor/public/assets/icons/bold/file-py-bold.svg +1 -0
  612. package/vendor/public/assets/icons/bold/file-rs-bold.svg +1 -0
  613. package/vendor/public/assets/icons/bold/file-sql-bold.svg +1 -0
  614. package/vendor/public/assets/icons/bold/file-svg-bold.svg +1 -0
  615. package/vendor/public/assets/icons/bold/file-text-bold.svg +1 -0
  616. package/vendor/public/assets/icons/bold/file-ts-bold.svg +1 -0
  617. package/vendor/public/assets/icons/bold/file-tsx-bold.svg +1 -0
  618. package/vendor/public/assets/icons/bold/file-txt-bold.svg +1 -0
  619. package/vendor/public/assets/icons/bold/file-video-bold.svg +1 -0
  620. package/vendor/public/assets/icons/bold/file-vue-bold.svg +1 -0
  621. package/vendor/public/assets/icons/bold/file-x-bold.svg +1 -0
  622. package/vendor/public/assets/icons/bold/file-xls-bold.svg +1 -0
  623. package/vendor/public/assets/icons/bold/file-zip-bold.svg +1 -0
  624. package/vendor/public/assets/icons/bold/files-bold.svg +1 -0
  625. package/vendor/public/assets/icons/bold/film-reel-bold.svg +1 -0
  626. package/vendor/public/assets/icons/bold/film-script-bold.svg +1 -0
  627. package/vendor/public/assets/icons/bold/film-slate-bold.svg +1 -0
  628. package/vendor/public/assets/icons/bold/film-strip-bold.svg +1 -0
  629. package/vendor/public/assets/icons/bold/fingerprint-bold.svg +1 -0
  630. package/vendor/public/assets/icons/bold/fingerprint-simple-bold.svg +1 -0
  631. package/vendor/public/assets/icons/bold/finn-the-human-bold.svg +1 -0
  632. package/vendor/public/assets/icons/bold/fire-bold.svg +1 -0
  633. package/vendor/public/assets/icons/bold/fire-extinguisher-bold.svg +1 -0
  634. package/vendor/public/assets/icons/bold/fire-simple-bold.svg +1 -0
  635. package/vendor/public/assets/icons/bold/fire-truck-bold.svg +1 -0
  636. package/vendor/public/assets/icons/bold/first-aid-bold.svg +1 -0
  637. package/vendor/public/assets/icons/bold/first-aid-kit-bold.svg +1 -0
  638. package/vendor/public/assets/icons/bold/fish-bold.svg +1 -0
  639. package/vendor/public/assets/icons/bold/fish-simple-bold.svg +1 -0
  640. package/vendor/public/assets/icons/bold/flag-banner-bold.svg +1 -0
  641. package/vendor/public/assets/icons/bold/flag-banner-fold-bold.svg +1 -0
  642. package/vendor/public/assets/icons/bold/flag-bold.svg +1 -0
  643. package/vendor/public/assets/icons/bold/flag-checkered-bold.svg +1 -0
  644. package/vendor/public/assets/icons/bold/flag-pennant-bold.svg +1 -0
  645. package/vendor/public/assets/icons/bold/flame-bold.svg +1 -0
  646. package/vendor/public/assets/icons/bold/flashlight-bold.svg +1 -0
  647. package/vendor/public/assets/icons/bold/flask-bold.svg +1 -0
  648. package/vendor/public/assets/icons/bold/flip-horizontal-bold.svg +1 -0
  649. package/vendor/public/assets/icons/bold/flip-vertical-bold.svg +1 -0
  650. package/vendor/public/assets/icons/bold/floppy-disk-back-bold.svg +1 -0
  651. package/vendor/public/assets/icons/bold/floppy-disk-bold.svg +1 -0
  652. package/vendor/public/assets/icons/bold/flow-arrow-bold.svg +1 -0
  653. package/vendor/public/assets/icons/bold/flower-bold.svg +1 -0
  654. package/vendor/public/assets/icons/bold/flower-lotus-bold.svg +1 -0
  655. package/vendor/public/assets/icons/bold/flower-tulip-bold.svg +1 -0
  656. package/vendor/public/assets/icons/bold/flying-saucer-bold.svg +1 -0
  657. package/vendor/public/assets/icons/bold/folder-bold.svg +1 -0
  658. package/vendor/public/assets/icons/bold/folder-dashed-bold.svg +1 -0
  659. package/vendor/public/assets/icons/bold/folder-lock-bold.svg +1 -0
  660. package/vendor/public/assets/icons/bold/folder-minus-bold.svg +1 -0
  661. package/vendor/public/assets/icons/bold/folder-open-bold.svg +1 -0
  662. package/vendor/public/assets/icons/bold/folder-plus-bold.svg +1 -0
  663. package/vendor/public/assets/icons/bold/folder-simple-bold.svg +1 -0
  664. package/vendor/public/assets/icons/bold/folder-simple-dashed-bold.svg +1 -0
  665. package/vendor/public/assets/icons/bold/folder-simple-lock-bold.svg +1 -0
  666. package/vendor/public/assets/icons/bold/folder-simple-minus-bold.svg +1 -0
  667. package/vendor/public/assets/icons/bold/folder-simple-plus-bold.svg +1 -0
  668. package/vendor/public/assets/icons/bold/folder-simple-star-bold.svg +1 -0
  669. package/vendor/public/assets/icons/bold/folder-simple-user-bold.svg +1 -0
  670. package/vendor/public/assets/icons/bold/folder-star-bold.svg +1 -0
  671. package/vendor/public/assets/icons/bold/folder-user-bold.svg +1 -0
  672. package/vendor/public/assets/icons/bold/folders-bold.svg +1 -0
  673. package/vendor/public/assets/icons/bold/football-bold.svg +1 -0
  674. package/vendor/public/assets/icons/bold/football-helmet-bold.svg +1 -0
  675. package/vendor/public/assets/icons/bold/footprints-bold.svg +1 -0
  676. package/vendor/public/assets/icons/bold/fork-knife-bold.svg +1 -0
  677. package/vendor/public/assets/icons/bold/four-k-bold.svg +1 -0
  678. package/vendor/public/assets/icons/bold/frame-corners-bold.svg +1 -0
  679. package/vendor/public/assets/icons/bold/framer-logo-bold.svg +1 -0
  680. package/vendor/public/assets/icons/bold/function-bold.svg +1 -0
  681. package/vendor/public/assets/icons/bold/funnel-bold.svg +1 -0
  682. package/vendor/public/assets/icons/bold/funnel-simple-bold.svg +1 -0
  683. package/vendor/public/assets/icons/bold/funnel-simple-x-bold.svg +1 -0
  684. package/vendor/public/assets/icons/bold/funnel-x-bold.svg +1 -0
  685. package/vendor/public/assets/icons/bold/game-controller-bold.svg +1 -0
  686. package/vendor/public/assets/icons/bold/garage-bold.svg +1 -0
  687. package/vendor/public/assets/icons/bold/gas-can-bold.svg +1 -0
  688. package/vendor/public/assets/icons/bold/gas-pump-bold.svg +1 -0
  689. package/vendor/public/assets/icons/bold/gauge-bold.svg +1 -0
  690. package/vendor/public/assets/icons/bold/gavel-bold.svg +1 -0
  691. package/vendor/public/assets/icons/bold/gear-bold.svg +1 -0
  692. package/vendor/public/assets/icons/bold/gear-fine-bold.svg +1 -0
  693. package/vendor/public/assets/icons/bold/gear-six-bold.svg +1 -0
  694. package/vendor/public/assets/icons/bold/gender-female-bold.svg +1 -0
  695. package/vendor/public/assets/icons/bold/gender-intersex-bold.svg +1 -0
  696. package/vendor/public/assets/icons/bold/gender-male-bold.svg +1 -0
  697. package/vendor/public/assets/icons/bold/gender-neuter-bold.svg +1 -0
  698. package/vendor/public/assets/icons/bold/gender-nonbinary-bold.svg +1 -0
  699. package/vendor/public/assets/icons/bold/gender-transgender-bold.svg +1 -0
  700. package/vendor/public/assets/icons/bold/ghost-bold.svg +1 -0
  701. package/vendor/public/assets/icons/bold/gif-bold.svg +1 -0
  702. package/vendor/public/assets/icons/bold/gift-bold.svg +1 -0
  703. package/vendor/public/assets/icons/bold/git-branch-bold.svg +1 -0
  704. package/vendor/public/assets/icons/bold/git-commit-bold.svg +1 -0
  705. package/vendor/public/assets/icons/bold/git-diff-bold.svg +1 -0
  706. package/vendor/public/assets/icons/bold/git-fork-bold.svg +1 -0
  707. package/vendor/public/assets/icons/bold/git-merge-bold.svg +1 -0
  708. package/vendor/public/assets/icons/bold/git-pull-request-bold.svg +1 -0
  709. package/vendor/public/assets/icons/bold/github-logo-bold.svg +1 -0
  710. package/vendor/public/assets/icons/bold/gitlab-logo-bold.svg +1 -0
  711. package/vendor/public/assets/icons/bold/gitlab-logo-simple-bold.svg +1 -0
  712. package/vendor/public/assets/icons/bold/globe-bold.svg +1 -0
  713. package/vendor/public/assets/icons/bold/globe-hemisphere-east-bold.svg +1 -0
  714. package/vendor/public/assets/icons/bold/globe-hemisphere-west-bold.svg +1 -0
  715. package/vendor/public/assets/icons/bold/globe-simple-bold.svg +1 -0
  716. package/vendor/public/assets/icons/bold/globe-simple-x-bold.svg +1 -0
  717. package/vendor/public/assets/icons/bold/globe-stand-bold.svg +1 -0
  718. package/vendor/public/assets/icons/bold/globe-x-bold.svg +1 -0
  719. package/vendor/public/assets/icons/bold/goggles-bold.svg +1 -0
  720. package/vendor/public/assets/icons/bold/golf-bold.svg +1 -0
  721. package/vendor/public/assets/icons/bold/goodreads-logo-bold.svg +1 -0
  722. package/vendor/public/assets/icons/bold/google-cardboard-logo-bold.svg +1 -0
  723. package/vendor/public/assets/icons/bold/google-chrome-logo-bold.svg +1 -0
  724. package/vendor/public/assets/icons/bold/google-drive-logo-bold.svg +1 -0
  725. package/vendor/public/assets/icons/bold/google-logo-bold.svg +1 -0
  726. package/vendor/public/assets/icons/bold/google-photos-logo-bold.svg +1 -0
  727. package/vendor/public/assets/icons/bold/google-play-logo-bold.svg +1 -0
  728. package/vendor/public/assets/icons/bold/google-podcasts-logo-bold.svg +1 -0
  729. package/vendor/public/assets/icons/bold/gps-bold.svg +1 -0
  730. package/vendor/public/assets/icons/bold/gps-fix-bold.svg +1 -0
  731. package/vendor/public/assets/icons/bold/gps-slash-bold.svg +1 -0
  732. package/vendor/public/assets/icons/bold/gradient-bold.svg +1 -0
  733. package/vendor/public/assets/icons/bold/graduation-cap-bold.svg +1 -0
  734. package/vendor/public/assets/icons/bold/grains-bold.svg +1 -0
  735. package/vendor/public/assets/icons/bold/grains-slash-bold.svg +1 -0
  736. package/vendor/public/assets/icons/bold/graph-bold.svg +1 -0
  737. package/vendor/public/assets/icons/bold/graphics-card-bold.svg +1 -0
  738. package/vendor/public/assets/icons/bold/greater-than-bold.svg +1 -0
  739. package/vendor/public/assets/icons/bold/greater-than-or-equal-bold.svg +1 -0
  740. package/vendor/public/assets/icons/bold/grid-four-bold.svg +1 -0
  741. package/vendor/public/assets/icons/bold/grid-nine-bold.svg +1 -0
  742. package/vendor/public/assets/icons/bold/guitar-bold.svg +1 -0
  743. package/vendor/public/assets/icons/bold/hair-dryer-bold.svg +1 -0
  744. package/vendor/public/assets/icons/bold/hamburger-bold.svg +1 -0
  745. package/vendor/public/assets/icons/bold/hammer-bold.svg +1 -0
  746. package/vendor/public/assets/icons/bold/hand-arrow-down-bold.svg +1 -0
  747. package/vendor/public/assets/icons/bold/hand-arrow-up-bold.svg +1 -0
  748. package/vendor/public/assets/icons/bold/hand-bold.svg +1 -0
  749. package/vendor/public/assets/icons/bold/hand-coins-bold.svg +1 -0
  750. package/vendor/public/assets/icons/bold/hand-deposit-bold.svg +1 -0
  751. package/vendor/public/assets/icons/bold/hand-eye-bold.svg +1 -0
  752. package/vendor/public/assets/icons/bold/hand-fist-bold.svg +1 -0
  753. package/vendor/public/assets/icons/bold/hand-grabbing-bold.svg +1 -0
  754. package/vendor/public/assets/icons/bold/hand-heart-bold.svg +1 -0
  755. package/vendor/public/assets/icons/bold/hand-palm-bold.svg +1 -0
  756. package/vendor/public/assets/icons/bold/hand-peace-bold.svg +1 -0
  757. package/vendor/public/assets/icons/bold/hand-pointing-bold.svg +1 -0
  758. package/vendor/public/assets/icons/bold/hand-soap-bold.svg +1 -0
  759. package/vendor/public/assets/icons/bold/hand-swipe-left-bold.svg +1 -0
  760. package/vendor/public/assets/icons/bold/hand-swipe-right-bold.svg +1 -0
  761. package/vendor/public/assets/icons/bold/hand-tap-bold.svg +1 -0
  762. package/vendor/public/assets/icons/bold/hand-waving-bold.svg +1 -0
  763. package/vendor/public/assets/icons/bold/hand-withdraw-bold.svg +1 -0
  764. package/vendor/public/assets/icons/bold/handbag-bold.svg +1 -0
  765. package/vendor/public/assets/icons/bold/handbag-simple-bold.svg +1 -0
  766. package/vendor/public/assets/icons/bold/hands-clapping-bold.svg +1 -0
  767. package/vendor/public/assets/icons/bold/hands-praying-bold.svg +1 -0
  768. package/vendor/public/assets/icons/bold/handshake-bold.svg +1 -0
  769. package/vendor/public/assets/icons/bold/hard-drive-bold.svg +1 -0
  770. package/vendor/public/assets/icons/bold/hard-drives-bold.svg +1 -0
  771. package/vendor/public/assets/icons/bold/hard-hat-bold.svg +1 -0
  772. package/vendor/public/assets/icons/bold/hash-bold.svg +1 -0
  773. package/vendor/public/assets/icons/bold/hash-straight-bold.svg +1 -0
  774. package/vendor/public/assets/icons/bold/head-circuit-bold.svg +1 -0
  775. package/vendor/public/assets/icons/bold/headlights-bold.svg +1 -0
  776. package/vendor/public/assets/icons/bold/headphones-bold.svg +1 -0
  777. package/vendor/public/assets/icons/bold/headset-bold.svg +1 -0
  778. package/vendor/public/assets/icons/bold/heart-bold.svg +1 -0
  779. package/vendor/public/assets/icons/bold/heart-break-bold.svg +1 -0
  780. package/vendor/public/assets/icons/bold/heart-half-bold.svg +1 -0
  781. package/vendor/public/assets/icons/bold/heart-straight-bold.svg +1 -0
  782. package/vendor/public/assets/icons/bold/heart-straight-break-bold.svg +1 -0
  783. package/vendor/public/assets/icons/bold/heartbeat-bold.svg +1 -0
  784. package/vendor/public/assets/icons/bold/hexagon-bold.svg +1 -0
  785. package/vendor/public/assets/icons/bold/high-definition-bold.svg +1 -0
  786. package/vendor/public/assets/icons/bold/high-heel-bold.svg +1 -0
  787. package/vendor/public/assets/icons/bold/highlighter-bold.svg +1 -0
  788. package/vendor/public/assets/icons/bold/highlighter-circle-bold.svg +1 -0
  789. package/vendor/public/assets/icons/bold/hockey-bold.svg +1 -0
  790. package/vendor/public/assets/icons/bold/hoodie-bold.svg +1 -0
  791. package/vendor/public/assets/icons/bold/horse-bold.svg +1 -0
  792. package/vendor/public/assets/icons/bold/hospital-bold.svg +1 -0
  793. package/vendor/public/assets/icons/bold/hourglass-bold.svg +1 -0
  794. package/vendor/public/assets/icons/bold/hourglass-high-bold.svg +1 -0
  795. package/vendor/public/assets/icons/bold/hourglass-low-bold.svg +1 -0
  796. package/vendor/public/assets/icons/bold/hourglass-medium-bold.svg +1 -0
  797. package/vendor/public/assets/icons/bold/hourglass-simple-bold.svg +1 -0
  798. package/vendor/public/assets/icons/bold/hourglass-simple-high-bold.svg +1 -0
  799. package/vendor/public/assets/icons/bold/hourglass-simple-low-bold.svg +1 -0
  800. package/vendor/public/assets/icons/bold/hourglass-simple-medium-bold.svg +1 -0
  801. package/vendor/public/assets/icons/bold/house-bold.svg +1 -0
  802. package/vendor/public/assets/icons/bold/house-line-bold.svg +1 -0
  803. package/vendor/public/assets/icons/bold/house-simple-bold.svg +1 -0
  804. package/vendor/public/assets/icons/bold/hurricane-bold.svg +1 -0
  805. package/vendor/public/assets/icons/bold/ice-cream-bold.svg +1 -0
  806. package/vendor/public/assets/icons/bold/identification-badge-bold.svg +1 -0
  807. package/vendor/public/assets/icons/bold/identification-card-bold.svg +1 -0
  808. package/vendor/public/assets/icons/bold/image-bold.svg +1 -0
  809. package/vendor/public/assets/icons/bold/image-broken-bold.svg +1 -0
  810. package/vendor/public/assets/icons/bold/image-square-bold.svg +1 -0
  811. package/vendor/public/assets/icons/bold/images-bold.svg +1 -0
  812. package/vendor/public/assets/icons/bold/images-square-bold.svg +1 -0
  813. package/vendor/public/assets/icons/bold/infinity-bold.svg +1 -0
  814. package/vendor/public/assets/icons/bold/info-bold.svg +1 -0
  815. package/vendor/public/assets/icons/bold/instagram-logo-bold.svg +1 -0
  816. package/vendor/public/assets/icons/bold/intersect-bold.svg +1 -0
  817. package/vendor/public/assets/icons/bold/intersect-square-bold.svg +1 -0
  818. package/vendor/public/assets/icons/bold/intersect-three-bold.svg +1 -0
  819. package/vendor/public/assets/icons/bold/intersection-bold.svg +1 -0
  820. package/vendor/public/assets/icons/bold/invoice-bold.svg +1 -0
  821. package/vendor/public/assets/icons/bold/island-bold.svg +1 -0
  822. package/vendor/public/assets/icons/bold/jar-bold.svg +1 -0
  823. package/vendor/public/assets/icons/bold/jar-label-bold.svg +1 -0
  824. package/vendor/public/assets/icons/bold/jeep-bold.svg +1 -0
  825. package/vendor/public/assets/icons/bold/joystick-bold.svg +1 -0
  826. package/vendor/public/assets/icons/bold/kanban-bold.svg +1 -0
  827. package/vendor/public/assets/icons/bold/key-bold.svg +1 -0
  828. package/vendor/public/assets/icons/bold/key-return-bold.svg +1 -0
  829. package/vendor/public/assets/icons/bold/keyboard-bold.svg +1 -0
  830. package/vendor/public/assets/icons/bold/keyhole-bold.svg +1 -0
  831. package/vendor/public/assets/icons/bold/knife-bold.svg +1 -0
  832. package/vendor/public/assets/icons/bold/ladder-bold.svg +1 -0
  833. package/vendor/public/assets/icons/bold/ladder-simple-bold.svg +1 -0
  834. package/vendor/public/assets/icons/bold/lamp-bold.svg +1 -0
  835. package/vendor/public/assets/icons/bold/lamp-pendant-bold.svg +1 -0
  836. package/vendor/public/assets/icons/bold/laptop-bold.svg +1 -0
  837. package/vendor/public/assets/icons/bold/lasso-bold.svg +1 -0
  838. package/vendor/public/assets/icons/bold/lastfm-logo-bold.svg +1 -0
  839. package/vendor/public/assets/icons/bold/layout-bold.svg +1 -0
  840. package/vendor/public/assets/icons/bold/leaf-bold.svg +1 -0
  841. package/vendor/public/assets/icons/bold/lectern-bold.svg +1 -0
  842. package/vendor/public/assets/icons/bold/lego-bold.svg +1 -0
  843. package/vendor/public/assets/icons/bold/lego-smiley-bold.svg +1 -0
  844. package/vendor/public/assets/icons/bold/less-than-bold.svg +1 -0
  845. package/vendor/public/assets/icons/bold/less-than-or-equal-bold.svg +1 -0
  846. package/vendor/public/assets/icons/bold/letter-circle-h-bold.svg +1 -0
  847. package/vendor/public/assets/icons/bold/letter-circle-p-bold.svg +1 -0
  848. package/vendor/public/assets/icons/bold/letter-circle-v-bold.svg +1 -0
  849. package/vendor/public/assets/icons/bold/lifebuoy-bold.svg +1 -0
  850. package/vendor/public/assets/icons/bold/lightbulb-bold.svg +1 -0
  851. package/vendor/public/assets/icons/bold/lightbulb-filament-bold.svg +1 -0
  852. package/vendor/public/assets/icons/bold/lighthouse-bold.svg +1 -0
  853. package/vendor/public/assets/icons/bold/lightning-a-bold.svg +1 -0
  854. package/vendor/public/assets/icons/bold/lightning-bold.svg +1 -0
  855. package/vendor/public/assets/icons/bold/lightning-slash-bold.svg +1 -0
  856. package/vendor/public/assets/icons/bold/line-segment-bold.svg +1 -0
  857. package/vendor/public/assets/icons/bold/line-segments-bold.svg +1 -0
  858. package/vendor/public/assets/icons/bold/line-vertical-bold.svg +1 -0
  859. package/vendor/public/assets/icons/bold/link-bold.svg +1 -0
  860. package/vendor/public/assets/icons/bold/link-break-bold.svg +1 -0
  861. package/vendor/public/assets/icons/bold/link-simple-bold.svg +1 -0
  862. package/vendor/public/assets/icons/bold/link-simple-break-bold.svg +1 -0
  863. package/vendor/public/assets/icons/bold/link-simple-horizontal-bold.svg +1 -0
  864. package/vendor/public/assets/icons/bold/link-simple-horizontal-break-bold.svg +1 -0
  865. package/vendor/public/assets/icons/bold/linkedin-logo-bold.svg +1 -0
  866. package/vendor/public/assets/icons/bold/linktree-logo-bold.svg +1 -0
  867. package/vendor/public/assets/icons/bold/linux-logo-bold.svg +1 -0
  868. package/vendor/public/assets/icons/bold/list-bold.svg +1 -0
  869. package/vendor/public/assets/icons/bold/list-bullets-bold.svg +1 -0
  870. package/vendor/public/assets/icons/bold/list-checks-bold.svg +1 -0
  871. package/vendor/public/assets/icons/bold/list-dashes-bold.svg +1 -0
  872. package/vendor/public/assets/icons/bold/list-heart-bold.svg +1 -0
  873. package/vendor/public/assets/icons/bold/list-magnifying-glass-bold.svg +1 -0
  874. package/vendor/public/assets/icons/bold/list-numbers-bold.svg +1 -0
  875. package/vendor/public/assets/icons/bold/list-plus-bold.svg +1 -0
  876. package/vendor/public/assets/icons/bold/list-star-bold.svg +1 -0
  877. package/vendor/public/assets/icons/bold/lock-bold.svg +1 -0
  878. package/vendor/public/assets/icons/bold/lock-key-bold.svg +1 -0
  879. package/vendor/public/assets/icons/bold/lock-key-open-bold.svg +1 -0
  880. package/vendor/public/assets/icons/bold/lock-laminated-bold.svg +1 -0
  881. package/vendor/public/assets/icons/bold/lock-laminated-open-bold.svg +1 -0
  882. package/vendor/public/assets/icons/bold/lock-open-bold.svg +1 -0
  883. package/vendor/public/assets/icons/bold/lock-simple-bold.svg +1 -0
  884. package/vendor/public/assets/icons/bold/lock-simple-open-bold.svg +1 -0
  885. package/vendor/public/assets/icons/bold/lockers-bold.svg +1 -0
  886. package/vendor/public/assets/icons/bold/log-bold.svg +1 -0
  887. package/vendor/public/assets/icons/bold/magic-wand-bold.svg +1 -0
  888. package/vendor/public/assets/icons/bold/magnet-bold.svg +1 -0
  889. package/vendor/public/assets/icons/bold/magnet-straight-bold.svg +1 -0
  890. package/vendor/public/assets/icons/bold/magnifying-glass-bold.svg +1 -0
  891. package/vendor/public/assets/icons/bold/magnifying-glass-minus-bold.svg +1 -0
  892. package/vendor/public/assets/icons/bold/magnifying-glass-plus-bold.svg +1 -0
  893. package/vendor/public/assets/icons/bold/mailbox-bold.svg +1 -0
  894. package/vendor/public/assets/icons/bold/map-pin-area-bold.svg +1 -0
  895. package/vendor/public/assets/icons/bold/map-pin-bold.svg +1 -0
  896. package/vendor/public/assets/icons/bold/map-pin-line-bold.svg +1 -0
  897. package/vendor/public/assets/icons/bold/map-pin-plus-bold.svg +1 -0
  898. package/vendor/public/assets/icons/bold/map-pin-simple-area-bold.svg +1 -0
  899. package/vendor/public/assets/icons/bold/map-pin-simple-bold.svg +1 -0
  900. package/vendor/public/assets/icons/bold/map-pin-simple-line-bold.svg +1 -0
  901. package/vendor/public/assets/icons/bold/map-trifold-bold.svg +1 -0
  902. package/vendor/public/assets/icons/bold/markdown-logo-bold.svg +1 -0
  903. package/vendor/public/assets/icons/bold/marker-circle-bold.svg +1 -0
  904. package/vendor/public/assets/icons/bold/martini-bold.svg +1 -0
  905. package/vendor/public/assets/icons/bold/mask-happy-bold.svg +1 -0
  906. package/vendor/public/assets/icons/bold/mask-sad-bold.svg +1 -0
  907. package/vendor/public/assets/icons/bold/mastodon-logo-bold.svg +1 -0
  908. package/vendor/public/assets/icons/bold/math-operations-bold.svg +1 -0
  909. package/vendor/public/assets/icons/bold/matrix-logo-bold.svg +1 -0
  910. package/vendor/public/assets/icons/bold/medal-bold.svg +1 -0
  911. package/vendor/public/assets/icons/bold/medal-military-bold.svg +1 -0
  912. package/vendor/public/assets/icons/bold/medium-logo-bold.svg +1 -0
  913. package/vendor/public/assets/icons/bold/megaphone-bold.svg +1 -0
  914. package/vendor/public/assets/icons/bold/megaphone-simple-bold.svg +1 -0
  915. package/vendor/public/assets/icons/bold/member-of-bold.svg +1 -0
  916. package/vendor/public/assets/icons/bold/memory-bold.svg +1 -0
  917. package/vendor/public/assets/icons/bold/messenger-logo-bold.svg +1 -0
  918. package/vendor/public/assets/icons/bold/meta-logo-bold.svg +1 -0
  919. package/vendor/public/assets/icons/bold/meteor-bold.svg +1 -0
  920. package/vendor/public/assets/icons/bold/metronome-bold.svg +1 -0
  921. package/vendor/public/assets/icons/bold/microphone-bold.svg +1 -0
  922. package/vendor/public/assets/icons/bold/microphone-slash-bold.svg +1 -0
  923. package/vendor/public/assets/icons/bold/microphone-stage-bold.svg +1 -0
  924. package/vendor/public/assets/icons/bold/microscope-bold.svg +1 -0
  925. package/vendor/public/assets/icons/bold/microsoft-excel-logo-bold.svg +1 -0
  926. package/vendor/public/assets/icons/bold/microsoft-outlook-logo-bold.svg +1 -0
  927. package/vendor/public/assets/icons/bold/microsoft-powerpoint-logo-bold.svg +1 -0
  928. package/vendor/public/assets/icons/bold/microsoft-teams-logo-bold.svg +1 -0
  929. package/vendor/public/assets/icons/bold/microsoft-word-logo-bold.svg +1 -0
  930. package/vendor/public/assets/icons/bold/minus-bold.svg +1 -0
  931. package/vendor/public/assets/icons/bold/minus-circle-bold.svg +1 -0
  932. package/vendor/public/assets/icons/bold/minus-square-bold.svg +1 -0
  933. package/vendor/public/assets/icons/bold/money-bold.svg +1 -0
  934. package/vendor/public/assets/icons/bold/money-wavy-bold.svg +1 -0
  935. package/vendor/public/assets/icons/bold/monitor-arrow-up-bold.svg +1 -0
  936. package/vendor/public/assets/icons/bold/monitor-bold.svg +1 -0
  937. package/vendor/public/assets/icons/bold/monitor-play-bold.svg +1 -0
  938. package/vendor/public/assets/icons/bold/moon-bold.svg +1 -0
  939. package/vendor/public/assets/icons/bold/moon-stars-bold.svg +1 -0
  940. package/vendor/public/assets/icons/bold/moped-bold.svg +1 -0
  941. package/vendor/public/assets/icons/bold/moped-front-bold.svg +1 -0
  942. package/vendor/public/assets/icons/bold/mosque-bold.svg +1 -0
  943. package/vendor/public/assets/icons/bold/motorcycle-bold.svg +1 -0
  944. package/vendor/public/assets/icons/bold/mountains-bold.svg +1 -0
  945. package/vendor/public/assets/icons/bold/mouse-bold.svg +1 -0
  946. package/vendor/public/assets/icons/bold/mouse-left-click-bold.svg +1 -0
  947. package/vendor/public/assets/icons/bold/mouse-middle-click-bold.svg +1 -0
  948. package/vendor/public/assets/icons/bold/mouse-right-click-bold.svg +1 -0
  949. package/vendor/public/assets/icons/bold/mouse-scroll-bold.svg +1 -0
  950. package/vendor/public/assets/icons/bold/mouse-simple-bold.svg +1 -0
  951. package/vendor/public/assets/icons/bold/music-note-bold.svg +1 -0
  952. package/vendor/public/assets/icons/bold/music-note-simple-bold.svg +1 -0
  953. package/vendor/public/assets/icons/bold/music-notes-bold.svg +1 -0
  954. package/vendor/public/assets/icons/bold/music-notes-minus-bold.svg +1 -0
  955. package/vendor/public/assets/icons/bold/music-notes-plus-bold.svg +1 -0
  956. package/vendor/public/assets/icons/bold/music-notes-simple-bold.svg +1 -0
  957. package/vendor/public/assets/icons/bold/navigation-arrow-bold.svg +1 -0
  958. package/vendor/public/assets/icons/bold/needle-bold.svg +1 -0
  959. package/vendor/public/assets/icons/bold/network-bold.svg +1 -0
  960. package/vendor/public/assets/icons/bold/network-slash-bold.svg +1 -0
  961. package/vendor/public/assets/icons/bold/network-x-bold.svg +1 -0
  962. package/vendor/public/assets/icons/bold/newspaper-bold.svg +1 -0
  963. package/vendor/public/assets/icons/bold/newspaper-clipping-bold.svg +1 -0
  964. package/vendor/public/assets/icons/bold/not-equals-bold.svg +1 -0
  965. package/vendor/public/assets/icons/bold/not-member-of-bold.svg +1 -0
  966. package/vendor/public/assets/icons/bold/not-subset-of-bold.svg +1 -0
  967. package/vendor/public/assets/icons/bold/not-superset-of-bold.svg +1 -0
  968. package/vendor/public/assets/icons/bold/notches-bold.svg +1 -0
  969. package/vendor/public/assets/icons/bold/note-blank-bold.svg +1 -0
  970. package/vendor/public/assets/icons/bold/note-bold.svg +1 -0
  971. package/vendor/public/assets/icons/bold/note-pencil-bold.svg +1 -0
  972. package/vendor/public/assets/icons/bold/notebook-bold.svg +1 -0
  973. package/vendor/public/assets/icons/bold/notepad-bold.svg +1 -0
  974. package/vendor/public/assets/icons/bold/notification-bold.svg +1 -0
  975. package/vendor/public/assets/icons/bold/notion-logo-bold.svg +1 -0
  976. package/vendor/public/assets/icons/bold/nuclear-plant-bold.svg +1 -0
  977. package/vendor/public/assets/icons/bold/number-circle-eight-bold.svg +1 -0
  978. package/vendor/public/assets/icons/bold/number-circle-five-bold.svg +1 -0
  979. package/vendor/public/assets/icons/bold/number-circle-four-bold.svg +1 -0
  980. package/vendor/public/assets/icons/bold/number-circle-nine-bold.svg +1 -0
  981. package/vendor/public/assets/icons/bold/number-circle-one-bold.svg +1 -0
  982. package/vendor/public/assets/icons/bold/number-circle-seven-bold.svg +1 -0
  983. package/vendor/public/assets/icons/bold/number-circle-six-bold.svg +1 -0
  984. package/vendor/public/assets/icons/bold/number-circle-three-bold.svg +1 -0
  985. package/vendor/public/assets/icons/bold/number-circle-two-bold.svg +1 -0
  986. package/vendor/public/assets/icons/bold/number-circle-zero-bold.svg +1 -0
  987. package/vendor/public/assets/icons/bold/number-eight-bold.svg +1 -0
  988. package/vendor/public/assets/icons/bold/number-five-bold.svg +1 -0
  989. package/vendor/public/assets/icons/bold/number-four-bold.svg +1 -0
  990. package/vendor/public/assets/icons/bold/number-nine-bold.svg +1 -0
  991. package/vendor/public/assets/icons/bold/number-one-bold.svg +1 -0
  992. package/vendor/public/assets/icons/bold/number-seven-bold.svg +1 -0
  993. package/vendor/public/assets/icons/bold/number-six-bold.svg +1 -0
  994. package/vendor/public/assets/icons/bold/number-square-eight-bold.svg +1 -0
  995. package/vendor/public/assets/icons/bold/number-square-five-bold.svg +1 -0
  996. package/vendor/public/assets/icons/bold/number-square-four-bold.svg +1 -0
  997. package/vendor/public/assets/icons/bold/number-square-nine-bold.svg +1 -0
  998. package/vendor/public/assets/icons/bold/number-square-one-bold.svg +1 -0
  999. package/vendor/public/assets/icons/bold/number-square-seven-bold.svg +1 -0
  1000. package/vendor/public/assets/icons/bold/number-square-six-bold.svg +1 -0
  1001. package/vendor/public/assets/icons/bold/number-square-three-bold.svg +1 -0
  1002. package/vendor/public/assets/icons/bold/number-square-two-bold.svg +1 -0
  1003. package/vendor/public/assets/icons/bold/number-square-zero-bold.svg +1 -0
  1004. package/vendor/public/assets/icons/bold/number-three-bold.svg +1 -0
  1005. package/vendor/public/assets/icons/bold/number-two-bold.svg +1 -0
  1006. package/vendor/public/assets/icons/bold/number-zero-bold.svg +1 -0
  1007. package/vendor/public/assets/icons/bold/numpad-bold.svg +1 -0
  1008. package/vendor/public/assets/icons/bold/nut-bold.svg +1 -0
  1009. package/vendor/public/assets/icons/bold/ny-times-logo-bold.svg +1 -0
  1010. package/vendor/public/assets/icons/bold/octagon-bold.svg +1 -0
  1011. package/vendor/public/assets/icons/bold/office-chair-bold.svg +1 -0
  1012. package/vendor/public/assets/icons/bold/onigiri-bold.svg +1 -0
  1013. package/vendor/public/assets/icons/bold/open-ai-logo-bold.svg +1 -0
  1014. package/vendor/public/assets/icons/bold/option-bold.svg +1 -0
  1015. package/vendor/public/assets/icons/bold/orange-bold.svg +1 -0
  1016. package/vendor/public/assets/icons/bold/orange-slice-bold.svg +1 -0
  1017. package/vendor/public/assets/icons/bold/oven-bold.svg +1 -0
  1018. package/vendor/public/assets/icons/bold/package-bold.svg +1 -0
  1019. package/vendor/public/assets/icons/bold/paint-brush-bold.svg +1 -0
  1020. package/vendor/public/assets/icons/bold/paint-brush-broad-bold.svg +1 -0
  1021. package/vendor/public/assets/icons/bold/paint-brush-household-bold.svg +1 -0
  1022. package/vendor/public/assets/icons/bold/paint-bucket-bold.svg +1 -0
  1023. package/vendor/public/assets/icons/bold/paint-roller-bold.svg +1 -0
  1024. package/vendor/public/assets/icons/bold/palette-bold.svg +1 -0
  1025. package/vendor/public/assets/icons/bold/panorama-bold.svg +1 -0
  1026. package/vendor/public/assets/icons/bold/pants-bold.svg +1 -0
  1027. package/vendor/public/assets/icons/bold/paper-plane-bold.svg +1 -0
  1028. package/vendor/public/assets/icons/bold/paper-plane-right-bold.svg +1 -0
  1029. package/vendor/public/assets/icons/bold/paper-plane-tilt-bold.svg +1 -0
  1030. package/vendor/public/assets/icons/bold/paperclip-bold.svg +1 -0
  1031. package/vendor/public/assets/icons/bold/paperclip-horizontal-bold.svg +1 -0
  1032. package/vendor/public/assets/icons/bold/parachute-bold.svg +1 -0
  1033. package/vendor/public/assets/icons/bold/paragraph-bold.svg +1 -0
  1034. package/vendor/public/assets/icons/bold/parallelogram-bold.svg +1 -0
  1035. package/vendor/public/assets/icons/bold/park-bold.svg +1 -0
  1036. package/vendor/public/assets/icons/bold/password-bold.svg +1 -0
  1037. package/vendor/public/assets/icons/bold/path-bold.svg +1 -0
  1038. package/vendor/public/assets/icons/bold/patreon-logo-bold.svg +1 -0
  1039. package/vendor/public/assets/icons/bold/pause-bold.svg +1 -0
  1040. package/vendor/public/assets/icons/bold/pause-circle-bold.svg +1 -0
  1041. package/vendor/public/assets/icons/bold/paw-print-bold.svg +1 -0
  1042. package/vendor/public/assets/icons/bold/paypal-logo-bold.svg +1 -0
  1043. package/vendor/public/assets/icons/bold/peace-bold.svg +1 -0
  1044. package/vendor/public/assets/icons/bold/pen-bold.svg +1 -0
  1045. package/vendor/public/assets/icons/bold/pen-nib-bold.svg +1 -0
  1046. package/vendor/public/assets/icons/bold/pen-nib-straight-bold.svg +1 -0
  1047. package/vendor/public/assets/icons/bold/pencil-bold.svg +1 -0
  1048. package/vendor/public/assets/icons/bold/pencil-circle-bold.svg +1 -0
  1049. package/vendor/public/assets/icons/bold/pencil-line-bold.svg +1 -0
  1050. package/vendor/public/assets/icons/bold/pencil-ruler-bold.svg +1 -0
  1051. package/vendor/public/assets/icons/bold/pencil-simple-bold.svg +1 -0
  1052. package/vendor/public/assets/icons/bold/pencil-simple-line-bold.svg +1 -0
  1053. package/vendor/public/assets/icons/bold/pencil-simple-slash-bold.svg +1 -0
  1054. package/vendor/public/assets/icons/bold/pencil-slash-bold.svg +1 -0
  1055. package/vendor/public/assets/icons/bold/pentagon-bold.svg +1 -0
  1056. package/vendor/public/assets/icons/bold/pentagram-bold.svg +1 -0
  1057. package/vendor/public/assets/icons/bold/pepper-bold.svg +1 -0
  1058. package/vendor/public/assets/icons/bold/percent-bold.svg +1 -0
  1059. package/vendor/public/assets/icons/bold/person-arms-spread-bold.svg +1 -0
  1060. package/vendor/public/assets/icons/bold/person-bold.svg +1 -0
  1061. package/vendor/public/assets/icons/bold/person-simple-bike-bold.svg +1 -0
  1062. package/vendor/public/assets/icons/bold/person-simple-bold.svg +1 -0
  1063. package/vendor/public/assets/icons/bold/person-simple-circle-bold.svg +1 -0
  1064. package/vendor/public/assets/icons/bold/person-simple-hike-bold.svg +1 -0
  1065. package/vendor/public/assets/icons/bold/person-simple-run-bold.svg +1 -0
  1066. package/vendor/public/assets/icons/bold/person-simple-ski-bold.svg +1 -0
  1067. package/vendor/public/assets/icons/bold/person-simple-snowboard-bold.svg +1 -0
  1068. package/vendor/public/assets/icons/bold/person-simple-swim-bold.svg +1 -0
  1069. package/vendor/public/assets/icons/bold/person-simple-tai-chi-bold.svg +1 -0
  1070. package/vendor/public/assets/icons/bold/person-simple-throw-bold.svg +1 -0
  1071. package/vendor/public/assets/icons/bold/person-simple-walk-bold.svg +1 -0
  1072. package/vendor/public/assets/icons/bold/perspective-bold.svg +1 -0
  1073. package/vendor/public/assets/icons/bold/phone-bold.svg +1 -0
  1074. package/vendor/public/assets/icons/bold/phone-call-bold.svg +1 -0
  1075. package/vendor/public/assets/icons/bold/phone-disconnect-bold.svg +1 -0
  1076. package/vendor/public/assets/icons/bold/phone-incoming-bold.svg +1 -0
  1077. package/vendor/public/assets/icons/bold/phone-list-bold.svg +1 -0
  1078. package/vendor/public/assets/icons/bold/phone-outgoing-bold.svg +1 -0
  1079. package/vendor/public/assets/icons/bold/phone-pause-bold.svg +1 -0
  1080. package/vendor/public/assets/icons/bold/phone-plus-bold.svg +1 -0
  1081. package/vendor/public/assets/icons/bold/phone-slash-bold.svg +1 -0
  1082. package/vendor/public/assets/icons/bold/phone-transfer-bold.svg +1 -0
  1083. package/vendor/public/assets/icons/bold/phone-x-bold.svg +1 -0
  1084. package/vendor/public/assets/icons/bold/phosphor-logo-bold.svg +1 -0
  1085. package/vendor/public/assets/icons/bold/pi-bold.svg +1 -0
  1086. package/vendor/public/assets/icons/bold/piano-keys-bold.svg +1 -0
  1087. package/vendor/public/assets/icons/bold/picnic-table-bold.svg +1 -0
  1088. package/vendor/public/assets/icons/bold/picture-in-picture-bold.svg +1 -0
  1089. package/vendor/public/assets/icons/bold/piggy-bank-bold.svg +1 -0
  1090. package/vendor/public/assets/icons/bold/pill-bold.svg +1 -0
  1091. package/vendor/public/assets/icons/bold/ping-pong-bold.svg +1 -0
  1092. package/vendor/public/assets/icons/bold/pint-glass-bold.svg +1 -0
  1093. package/vendor/public/assets/icons/bold/pinterest-logo-bold.svg +1 -0
  1094. package/vendor/public/assets/icons/bold/pinwheel-bold.svg +1 -0
  1095. package/vendor/public/assets/icons/bold/pipe-bold.svg +1 -0
  1096. package/vendor/public/assets/icons/bold/pipe-wrench-bold.svg +1 -0
  1097. package/vendor/public/assets/icons/bold/pix-logo-bold.svg +1 -0
  1098. package/vendor/public/assets/icons/bold/pizza-bold.svg +1 -0
  1099. package/vendor/public/assets/icons/bold/placeholder-bold.svg +1 -0
  1100. package/vendor/public/assets/icons/bold/planet-bold.svg +1 -0
  1101. package/vendor/public/assets/icons/bold/plant-bold.svg +1 -0
  1102. package/vendor/public/assets/icons/bold/play-bold.svg +1 -0
  1103. package/vendor/public/assets/icons/bold/play-circle-bold.svg +1 -0
  1104. package/vendor/public/assets/icons/bold/play-pause-bold.svg +1 -0
  1105. package/vendor/public/assets/icons/bold/playlist-bold.svg +1 -0
  1106. package/vendor/public/assets/icons/bold/plug-bold.svg +1 -0
  1107. package/vendor/public/assets/icons/bold/plug-charging-bold.svg +1 -0
  1108. package/vendor/public/assets/icons/bold/plugs-bold.svg +1 -0
  1109. package/vendor/public/assets/icons/bold/plugs-connected-bold.svg +1 -0
  1110. package/vendor/public/assets/icons/bold/plus-bold.svg +1 -0
  1111. package/vendor/public/assets/icons/bold/plus-circle-bold.svg +1 -0
  1112. package/vendor/public/assets/icons/bold/plus-minus-bold.svg +1 -0
  1113. package/vendor/public/assets/icons/bold/plus-square-bold.svg +1 -0
  1114. package/vendor/public/assets/icons/bold/poker-chip-bold.svg +1 -0
  1115. package/vendor/public/assets/icons/bold/police-car-bold.svg +1 -0
  1116. package/vendor/public/assets/icons/bold/polygon-bold.svg +1 -0
  1117. package/vendor/public/assets/icons/bold/popcorn-bold.svg +1 -0
  1118. package/vendor/public/assets/icons/bold/popsicle-bold.svg +1 -0
  1119. package/vendor/public/assets/icons/bold/potted-plant-bold.svg +1 -0
  1120. package/vendor/public/assets/icons/bold/power-bold.svg +1 -0
  1121. package/vendor/public/assets/icons/bold/prescription-bold.svg +1 -0
  1122. package/vendor/public/assets/icons/bold/presentation-bold.svg +1 -0
  1123. package/vendor/public/assets/icons/bold/presentation-chart-bold.svg +1 -0
  1124. package/vendor/public/assets/icons/bold/printer-bold.svg +1 -0
  1125. package/vendor/public/assets/icons/bold/prohibit-bold.svg +1 -0
  1126. package/vendor/public/assets/icons/bold/prohibit-inset-bold.svg +1 -0
  1127. package/vendor/public/assets/icons/bold/projector-screen-bold.svg +1 -0
  1128. package/vendor/public/assets/icons/bold/projector-screen-chart-bold.svg +1 -0
  1129. package/vendor/public/assets/icons/bold/pulse-bold.svg +1 -0
  1130. package/vendor/public/assets/icons/bold/push-pin-bold.svg +1 -0
  1131. package/vendor/public/assets/icons/bold/push-pin-simple-bold.svg +1 -0
  1132. package/vendor/public/assets/icons/bold/push-pin-simple-slash-bold.svg +1 -0
  1133. package/vendor/public/assets/icons/bold/push-pin-slash-bold.svg +1 -0
  1134. package/vendor/public/assets/icons/bold/puzzle-piece-bold.svg +1 -0
  1135. package/vendor/public/assets/icons/bold/qr-code-bold.svg +1 -0
  1136. package/vendor/public/assets/icons/bold/question-bold.svg +1 -0
  1137. package/vendor/public/assets/icons/bold/question-mark-bold.svg +1 -0
  1138. package/vendor/public/assets/icons/bold/queue-bold.svg +1 -0
  1139. package/vendor/public/assets/icons/bold/quotes-bold.svg +1 -0
  1140. package/vendor/public/assets/icons/bold/rabbit-bold.svg +1 -0
  1141. package/vendor/public/assets/icons/bold/racquet-bold.svg +1 -0
  1142. package/vendor/public/assets/icons/bold/radical-bold.svg +1 -0
  1143. package/vendor/public/assets/icons/bold/radio-bold.svg +1 -0
  1144. package/vendor/public/assets/icons/bold/radio-button-bold.svg +1 -0
  1145. package/vendor/public/assets/icons/bold/radioactive-bold.svg +1 -0
  1146. package/vendor/public/assets/icons/bold/rainbow-bold.svg +1 -0
  1147. package/vendor/public/assets/icons/bold/rainbow-cloud-bold.svg +1 -0
  1148. package/vendor/public/assets/icons/bold/ranking-bold.svg +1 -0
  1149. package/vendor/public/assets/icons/bold/read-cv-logo-bold.svg +1 -0
  1150. package/vendor/public/assets/icons/bold/receipt-bold.svg +1 -0
  1151. package/vendor/public/assets/icons/bold/receipt-x-bold.svg +1 -0
  1152. package/vendor/public/assets/icons/bold/record-bold.svg +1 -0
  1153. package/vendor/public/assets/icons/bold/rectangle-bold.svg +1 -0
  1154. package/vendor/public/assets/icons/bold/rectangle-dashed-bold.svg +1 -0
  1155. package/vendor/public/assets/icons/bold/recycle-bold.svg +1 -0
  1156. package/vendor/public/assets/icons/bold/reddit-logo-bold.svg +1 -0
  1157. package/vendor/public/assets/icons/bold/repeat-bold.svg +1 -0
  1158. package/vendor/public/assets/icons/bold/repeat-once-bold.svg +1 -0
  1159. package/vendor/public/assets/icons/bold/replit-logo-bold.svg +1 -0
  1160. package/vendor/public/assets/icons/bold/resize-bold.svg +1 -0
  1161. package/vendor/public/assets/icons/bold/rewind-bold.svg +1 -0
  1162. package/vendor/public/assets/icons/bold/rewind-circle-bold.svg +1 -0
  1163. package/vendor/public/assets/icons/bold/road-horizon-bold.svg +1 -0
  1164. package/vendor/public/assets/icons/bold/robot-bold.svg +1 -0
  1165. package/vendor/public/assets/icons/bold/rocket-bold.svg +1 -0
  1166. package/vendor/public/assets/icons/bold/rocket-launch-bold.svg +1 -0
  1167. package/vendor/public/assets/icons/bold/rows-bold.svg +1 -0
  1168. package/vendor/public/assets/icons/bold/rows-plus-bottom-bold.svg +1 -0
  1169. package/vendor/public/assets/icons/bold/rows-plus-top-bold.svg +1 -0
  1170. package/vendor/public/assets/icons/bold/rss-bold.svg +1 -0
  1171. package/vendor/public/assets/icons/bold/rss-simple-bold.svg +1 -0
  1172. package/vendor/public/assets/icons/bold/rug-bold.svg +1 -0
  1173. package/vendor/public/assets/icons/bold/ruler-bold.svg +1 -0
  1174. package/vendor/public/assets/icons/bold/sailboat-bold.svg +1 -0
  1175. package/vendor/public/assets/icons/bold/scales-bold.svg +1 -0
  1176. package/vendor/public/assets/icons/bold/scan-bold.svg +1 -0
  1177. package/vendor/public/assets/icons/bold/scan-smiley-bold.svg +1 -0
  1178. package/vendor/public/assets/icons/bold/scissors-bold.svg +1 -0
  1179. package/vendor/public/assets/icons/bold/scooter-bold.svg +1 -0
  1180. package/vendor/public/assets/icons/bold/screencast-bold.svg +1 -0
  1181. package/vendor/public/assets/icons/bold/screwdriver-bold.svg +1 -0
  1182. package/vendor/public/assets/icons/bold/scribble-bold.svg +1 -0
  1183. package/vendor/public/assets/icons/bold/scribble-loop-bold.svg +1 -0
  1184. package/vendor/public/assets/icons/bold/scroll-bold.svg +1 -0
  1185. package/vendor/public/assets/icons/bold/seal-bold.svg +1 -0
  1186. package/vendor/public/assets/icons/bold/seal-check-bold.svg +1 -0
  1187. package/vendor/public/assets/icons/bold/seal-percent-bold.svg +1 -0
  1188. package/vendor/public/assets/icons/bold/seal-question-bold.svg +1 -0
  1189. package/vendor/public/assets/icons/bold/seal-warning-bold.svg +1 -0
  1190. package/vendor/public/assets/icons/bold/seat-bold.svg +1 -0
  1191. package/vendor/public/assets/icons/bold/seatbelt-bold.svg +1 -0
  1192. package/vendor/public/assets/icons/bold/security-camera-bold.svg +1 -0
  1193. package/vendor/public/assets/icons/bold/selection-all-bold.svg +1 -0
  1194. package/vendor/public/assets/icons/bold/selection-background-bold.svg +1 -0
  1195. package/vendor/public/assets/icons/bold/selection-bold.svg +1 -0
  1196. package/vendor/public/assets/icons/bold/selection-foreground-bold.svg +1 -0
  1197. package/vendor/public/assets/icons/bold/selection-inverse-bold.svg +1 -0
  1198. package/vendor/public/assets/icons/bold/selection-plus-bold.svg +1 -0
  1199. package/vendor/public/assets/icons/bold/selection-slash-bold.svg +1 -0
  1200. package/vendor/public/assets/icons/bold/shapes-bold.svg +1 -0
  1201. package/vendor/public/assets/icons/bold/share-bold.svg +1 -0
  1202. package/vendor/public/assets/icons/bold/share-fat-bold.svg +1 -0
  1203. package/vendor/public/assets/icons/bold/share-network-bold.svg +1 -0
  1204. package/vendor/public/assets/icons/bold/shield-bold.svg +1 -0
  1205. package/vendor/public/assets/icons/bold/shield-check-bold.svg +1 -0
  1206. package/vendor/public/assets/icons/bold/shield-checkered-bold.svg +1 -0
  1207. package/vendor/public/assets/icons/bold/shield-chevron-bold.svg +1 -0
  1208. package/vendor/public/assets/icons/bold/shield-plus-bold.svg +1 -0
  1209. package/vendor/public/assets/icons/bold/shield-slash-bold.svg +1 -0
  1210. package/vendor/public/assets/icons/bold/shield-star-bold.svg +1 -0
  1211. package/vendor/public/assets/icons/bold/shield-warning-bold.svg +1 -0
  1212. package/vendor/public/assets/icons/bold/shipping-container-bold.svg +1 -0
  1213. package/vendor/public/assets/icons/bold/shirt-folded-bold.svg +1 -0
  1214. package/vendor/public/assets/icons/bold/shooting-star-bold.svg +1 -0
  1215. package/vendor/public/assets/icons/bold/shopping-bag-bold.svg +1 -0
  1216. package/vendor/public/assets/icons/bold/shopping-bag-open-bold.svg +1 -0
  1217. package/vendor/public/assets/icons/bold/shopping-cart-bold.svg +1 -0
  1218. package/vendor/public/assets/icons/bold/shopping-cart-simple-bold.svg +1 -0
  1219. package/vendor/public/assets/icons/bold/shovel-bold.svg +1 -0
  1220. package/vendor/public/assets/icons/bold/shower-bold.svg +1 -0
  1221. package/vendor/public/assets/icons/bold/shrimp-bold.svg +1 -0
  1222. package/vendor/public/assets/icons/bold/shuffle-angular-bold.svg +1 -0
  1223. package/vendor/public/assets/icons/bold/shuffle-bold.svg +1 -0
  1224. package/vendor/public/assets/icons/bold/shuffle-simple-bold.svg +1 -0
  1225. package/vendor/public/assets/icons/bold/sidebar-bold.svg +1 -0
  1226. package/vendor/public/assets/icons/bold/sidebar-simple-bold.svg +1 -0
  1227. package/vendor/public/assets/icons/bold/sigma-bold.svg +1 -0
  1228. package/vendor/public/assets/icons/bold/sign-in-bold.svg +1 -0
  1229. package/vendor/public/assets/icons/bold/sign-out-bold.svg +1 -0
  1230. package/vendor/public/assets/icons/bold/signature-bold.svg +1 -0
  1231. package/vendor/public/assets/icons/bold/signpost-bold.svg +1 -0
  1232. package/vendor/public/assets/icons/bold/sim-card-bold.svg +1 -0
  1233. package/vendor/public/assets/icons/bold/siren-bold.svg +1 -0
  1234. package/vendor/public/assets/icons/bold/sketch-logo-bold.svg +1 -0
  1235. package/vendor/public/assets/icons/bold/skip-back-bold.svg +1 -0
  1236. package/vendor/public/assets/icons/bold/skip-back-circle-bold.svg +1 -0
  1237. package/vendor/public/assets/icons/bold/skip-forward-bold.svg +1 -0
  1238. package/vendor/public/assets/icons/bold/skip-forward-circle-bold.svg +1 -0
  1239. package/vendor/public/assets/icons/bold/skull-bold.svg +1 -0
  1240. package/vendor/public/assets/icons/bold/skype-logo-bold.svg +1 -0
  1241. package/vendor/public/assets/icons/bold/slack-logo-bold.svg +1 -0
  1242. package/vendor/public/assets/icons/bold/sliders-bold.svg +1 -0
  1243. package/vendor/public/assets/icons/bold/sliders-horizontal-bold.svg +1 -0
  1244. package/vendor/public/assets/icons/bold/slideshow-bold.svg +1 -0
  1245. package/vendor/public/assets/icons/bold/smiley-angry-bold.svg +1 -0
  1246. package/vendor/public/assets/icons/bold/smiley-blank-bold.svg +1 -0
  1247. package/vendor/public/assets/icons/bold/smiley-bold.svg +1 -0
  1248. package/vendor/public/assets/icons/bold/smiley-meh-bold.svg +1 -0
  1249. package/vendor/public/assets/icons/bold/smiley-melting-bold.svg +1 -0
  1250. package/vendor/public/assets/icons/bold/smiley-nervous-bold.svg +1 -0
  1251. package/vendor/public/assets/icons/bold/smiley-sad-bold.svg +1 -0
  1252. package/vendor/public/assets/icons/bold/smiley-sticker-bold.svg +1 -0
  1253. package/vendor/public/assets/icons/bold/smiley-wink-bold.svg +1 -0
  1254. package/vendor/public/assets/icons/bold/smiley-x-eyes-bold.svg +1 -0
  1255. package/vendor/public/assets/icons/bold/snapchat-logo-bold.svg +1 -0
  1256. package/vendor/public/assets/icons/bold/sneaker-bold.svg +1 -0
  1257. package/vendor/public/assets/icons/bold/sneaker-move-bold.svg +1 -0
  1258. package/vendor/public/assets/icons/bold/snowflake-bold.svg +1 -0
  1259. package/vendor/public/assets/icons/bold/soccer-ball-bold.svg +1 -0
  1260. package/vendor/public/assets/icons/bold/sock-bold.svg +1 -0
  1261. package/vendor/public/assets/icons/bold/solar-panel-bold.svg +1 -0
  1262. package/vendor/public/assets/icons/bold/solar-roof-bold.svg +1 -0
  1263. package/vendor/public/assets/icons/bold/sort-ascending-bold.svg +1 -0
  1264. package/vendor/public/assets/icons/bold/sort-descending-bold.svg +1 -0
  1265. package/vendor/public/assets/icons/bold/soundcloud-logo-bold.svg +1 -0
  1266. package/vendor/public/assets/icons/bold/spade-bold.svg +1 -0
  1267. package/vendor/public/assets/icons/bold/sparkle-bold.svg +1 -0
  1268. package/vendor/public/assets/icons/bold/speaker-hifi-bold.svg +1 -0
  1269. package/vendor/public/assets/icons/bold/speaker-high-bold.svg +1 -0
  1270. package/vendor/public/assets/icons/bold/speaker-low-bold.svg +1 -0
  1271. package/vendor/public/assets/icons/bold/speaker-none-bold.svg +1 -0
  1272. package/vendor/public/assets/icons/bold/speaker-simple-high-bold.svg +1 -0
  1273. package/vendor/public/assets/icons/bold/speaker-simple-low-bold.svg +1 -0
  1274. package/vendor/public/assets/icons/bold/speaker-simple-none-bold.svg +1 -0
  1275. package/vendor/public/assets/icons/bold/speaker-simple-slash-bold.svg +1 -0
  1276. package/vendor/public/assets/icons/bold/speaker-simple-x-bold.svg +1 -0
  1277. package/vendor/public/assets/icons/bold/speaker-slash-bold.svg +1 -0
  1278. package/vendor/public/assets/icons/bold/speaker-x-bold.svg +1 -0
  1279. package/vendor/public/assets/icons/bold/speedometer-bold.svg +1 -0
  1280. package/vendor/public/assets/icons/bold/sphere-bold.svg +1 -0
  1281. package/vendor/public/assets/icons/bold/spinner-ball-bold.svg +1 -0
  1282. package/vendor/public/assets/icons/bold/spinner-bold.svg +1 -0
  1283. package/vendor/public/assets/icons/bold/spinner-gap-bold.svg +1 -0
  1284. package/vendor/public/assets/icons/bold/spiral-bold.svg +1 -0
  1285. package/vendor/public/assets/icons/bold/split-horizontal-bold.svg +1 -0
  1286. package/vendor/public/assets/icons/bold/split-vertical-bold.svg +1 -0
  1287. package/vendor/public/assets/icons/bold/spotify-logo-bold.svg +1 -0
  1288. package/vendor/public/assets/icons/bold/spray-bottle-bold.svg +1 -0
  1289. package/vendor/public/assets/icons/bold/square-bold.svg +1 -0
  1290. package/vendor/public/assets/icons/bold/square-half-bold.svg +1 -0
  1291. package/vendor/public/assets/icons/bold/square-half-bottom-bold.svg +1 -0
  1292. package/vendor/public/assets/icons/bold/square-logo-bold.svg +1 -0
  1293. package/vendor/public/assets/icons/bold/square-split-horizontal-bold.svg +1 -0
  1294. package/vendor/public/assets/icons/bold/square-split-vertical-bold.svg +1 -0
  1295. package/vendor/public/assets/icons/bold/squares-four-bold.svg +1 -0
  1296. package/vendor/public/assets/icons/bold/stack-bold.svg +1 -0
  1297. package/vendor/public/assets/icons/bold/stack-minus-bold.svg +1 -0
  1298. package/vendor/public/assets/icons/bold/stack-overflow-logo-bold.svg +1 -0
  1299. package/vendor/public/assets/icons/bold/stack-plus-bold.svg +1 -0
  1300. package/vendor/public/assets/icons/bold/stack-simple-bold.svg +1 -0
  1301. package/vendor/public/assets/icons/bold/stairs-bold.svg +1 -0
  1302. package/vendor/public/assets/icons/bold/stamp-bold.svg +1 -0
  1303. package/vendor/public/assets/icons/bold/standard-definition-bold.svg +1 -0
  1304. package/vendor/public/assets/icons/bold/star-and-crescent-bold.svg +1 -0
  1305. package/vendor/public/assets/icons/bold/star-bold.svg +1 -0
  1306. package/vendor/public/assets/icons/bold/star-four-bold.svg +1 -0
  1307. package/vendor/public/assets/icons/bold/star-half-bold.svg +1 -0
  1308. package/vendor/public/assets/icons/bold/star-of-david-bold.svg +1 -0
  1309. package/vendor/public/assets/icons/bold/steam-logo-bold.svg +1 -0
  1310. package/vendor/public/assets/icons/bold/steering-wheel-bold.svg +1 -0
  1311. package/vendor/public/assets/icons/bold/steps-bold.svg +1 -0
  1312. package/vendor/public/assets/icons/bold/stethoscope-bold.svg +1 -0
  1313. package/vendor/public/assets/icons/bold/sticker-bold.svg +1 -0
  1314. package/vendor/public/assets/icons/bold/stool-bold.svg +1 -0
  1315. package/vendor/public/assets/icons/bold/stop-bold.svg +1 -0
  1316. package/vendor/public/assets/icons/bold/stop-circle-bold.svg +1 -0
  1317. package/vendor/public/assets/icons/bold/storefront-bold.svg +1 -0
  1318. package/vendor/public/assets/icons/bold/strategy-bold.svg +1 -0
  1319. package/vendor/public/assets/icons/bold/stripe-logo-bold.svg +1 -0
  1320. package/vendor/public/assets/icons/bold/student-bold.svg +1 -0
  1321. package/vendor/public/assets/icons/bold/subset-of-bold.svg +1 -0
  1322. package/vendor/public/assets/icons/bold/subset-proper-of-bold.svg +1 -0
  1323. package/vendor/public/assets/icons/bold/subtitles-bold.svg +1 -0
  1324. package/vendor/public/assets/icons/bold/subtitles-slash-bold.svg +1 -0
  1325. package/vendor/public/assets/icons/bold/subtract-bold.svg +1 -0
  1326. package/vendor/public/assets/icons/bold/subtract-square-bold.svg +1 -0
  1327. package/vendor/public/assets/icons/bold/subway-bold.svg +1 -0
  1328. package/vendor/public/assets/icons/bold/suitcase-bold.svg +1 -0
  1329. package/vendor/public/assets/icons/bold/suitcase-rolling-bold.svg +1 -0
  1330. package/vendor/public/assets/icons/bold/suitcase-simple-bold.svg +1 -0
  1331. package/vendor/public/assets/icons/bold/sun-bold.svg +1 -0
  1332. package/vendor/public/assets/icons/bold/sun-dim-bold.svg +1 -0
  1333. package/vendor/public/assets/icons/bold/sun-horizon-bold.svg +1 -0
  1334. package/vendor/public/assets/icons/bold/sunglasses-bold.svg +1 -0
  1335. package/vendor/public/assets/icons/bold/superset-of-bold.svg +1 -0
  1336. package/vendor/public/assets/icons/bold/superset-proper-of-bold.svg +1 -0
  1337. package/vendor/public/assets/icons/bold/swap-bold.svg +1 -0
  1338. package/vendor/public/assets/icons/bold/swatches-bold.svg +1 -0
  1339. package/vendor/public/assets/icons/bold/swimming-pool-bold.svg +1 -0
  1340. package/vendor/public/assets/icons/bold/sword-bold.svg +1 -0
  1341. package/vendor/public/assets/icons/bold/synagogue-bold.svg +1 -0
  1342. package/vendor/public/assets/icons/bold/syringe-bold.svg +1 -0
  1343. package/vendor/public/assets/icons/bold/t-shirt-bold.svg +1 -0
  1344. package/vendor/public/assets/icons/bold/table-bold.svg +1 -0
  1345. package/vendor/public/assets/icons/bold/tabs-bold.svg +1 -0
  1346. package/vendor/public/assets/icons/bold/tag-bold.svg +1 -0
  1347. package/vendor/public/assets/icons/bold/tag-chevron-bold.svg +1 -0
  1348. package/vendor/public/assets/icons/bold/tag-simple-bold.svg +1 -0
  1349. package/vendor/public/assets/icons/bold/target-bold.svg +1 -0
  1350. package/vendor/public/assets/icons/bold/taxi-bold.svg +1 -0
  1351. package/vendor/public/assets/icons/bold/tea-bag-bold.svg +1 -0
  1352. package/vendor/public/assets/icons/bold/telegram-logo-bold.svg +1 -0
  1353. package/vendor/public/assets/icons/bold/television-bold.svg +1 -0
  1354. package/vendor/public/assets/icons/bold/television-simple-bold.svg +1 -0
  1355. package/vendor/public/assets/icons/bold/tennis-ball-bold.svg +1 -0
  1356. package/vendor/public/assets/icons/bold/tent-bold.svg +1 -0
  1357. package/vendor/public/assets/icons/bold/terminal-bold.svg +1 -0
  1358. package/vendor/public/assets/icons/bold/terminal-window-bold.svg +1 -0
  1359. package/vendor/public/assets/icons/bold/test-tube-bold.svg +1 -0
  1360. package/vendor/public/assets/icons/bold/text-a-underline-bold.svg +1 -0
  1361. package/vendor/public/assets/icons/bold/text-aa-bold.svg +1 -0
  1362. package/vendor/public/assets/icons/bold/text-align-center-bold.svg +1 -0
  1363. package/vendor/public/assets/icons/bold/text-align-justify-bold.svg +1 -0
  1364. package/vendor/public/assets/icons/bold/text-align-left-bold.svg +1 -0
  1365. package/vendor/public/assets/icons/bold/text-align-right-bold.svg +1 -0
  1366. package/vendor/public/assets/icons/bold/text-b-bold.svg +1 -0
  1367. package/vendor/public/assets/icons/bold/text-columns-bold.svg +1 -0
  1368. package/vendor/public/assets/icons/bold/text-h-bold.svg +1 -0
  1369. package/vendor/public/assets/icons/bold/text-h-five-bold.svg +1 -0
  1370. package/vendor/public/assets/icons/bold/text-h-four-bold.svg +1 -0
  1371. package/vendor/public/assets/icons/bold/text-h-one-bold.svg +1 -0
  1372. package/vendor/public/assets/icons/bold/text-h-six-bold.svg +1 -0
  1373. package/vendor/public/assets/icons/bold/text-h-three-bold.svg +1 -0
  1374. package/vendor/public/assets/icons/bold/text-h-two-bold.svg +1 -0
  1375. package/vendor/public/assets/icons/bold/text-indent-bold.svg +1 -0
  1376. package/vendor/public/assets/icons/bold/text-italic-bold.svg +1 -0
  1377. package/vendor/public/assets/icons/bold/text-outdent-bold.svg +1 -0
  1378. package/vendor/public/assets/icons/bold/text-strikethrough-bold.svg +1 -0
  1379. package/vendor/public/assets/icons/bold/text-subscript-bold.svg +1 -0
  1380. package/vendor/public/assets/icons/bold/text-superscript-bold.svg +1 -0
  1381. package/vendor/public/assets/icons/bold/text-t-bold.svg +1 -0
  1382. package/vendor/public/assets/icons/bold/text-t-slash-bold.svg +1 -0
  1383. package/vendor/public/assets/icons/bold/text-underline-bold.svg +1 -0
  1384. package/vendor/public/assets/icons/bold/textbox-bold.svg +1 -0
  1385. package/vendor/public/assets/icons/bold/thermometer-bold.svg +1 -0
  1386. package/vendor/public/assets/icons/bold/thermometer-cold-bold.svg +1 -0
  1387. package/vendor/public/assets/icons/bold/thermometer-hot-bold.svg +1 -0
  1388. package/vendor/public/assets/icons/bold/thermometer-simple-bold.svg +1 -0
  1389. package/vendor/public/assets/icons/bold/threads-logo-bold.svg +1 -0
  1390. package/vendor/public/assets/icons/bold/three-d-bold.svg +1 -0
  1391. package/vendor/public/assets/icons/bold/thumbs-down-bold.svg +1 -0
  1392. package/vendor/public/assets/icons/bold/thumbs-up-bold.svg +1 -0
  1393. package/vendor/public/assets/icons/bold/ticket-bold.svg +1 -0
  1394. package/vendor/public/assets/icons/bold/tidal-logo-bold.svg +1 -0
  1395. package/vendor/public/assets/icons/bold/tiktok-logo-bold.svg +1 -0
  1396. package/vendor/public/assets/icons/bold/tilde-bold.svg +1 -0
  1397. package/vendor/public/assets/icons/bold/timer-bold.svg +1 -0
  1398. package/vendor/public/assets/icons/bold/tip-jar-bold.svg +1 -0
  1399. package/vendor/public/assets/icons/bold/tipi-bold.svg +1 -0
  1400. package/vendor/public/assets/icons/bold/tire-bold.svg +1 -0
  1401. package/vendor/public/assets/icons/bold/toggle-left-bold.svg +1 -0
  1402. package/vendor/public/assets/icons/bold/toggle-right-bold.svg +1 -0
  1403. package/vendor/public/assets/icons/bold/toilet-bold.svg +1 -0
  1404. package/vendor/public/assets/icons/bold/toilet-paper-bold.svg +1 -0
  1405. package/vendor/public/assets/icons/bold/toolbox-bold.svg +1 -0
  1406. package/vendor/public/assets/icons/bold/tooth-bold.svg +1 -0
  1407. package/vendor/public/assets/icons/bold/tornado-bold.svg +1 -0
  1408. package/vendor/public/assets/icons/bold/tote-bold.svg +1 -0
  1409. package/vendor/public/assets/icons/bold/tote-simple-bold.svg +1 -0
  1410. package/vendor/public/assets/icons/bold/towel-bold.svg +1 -0
  1411. package/vendor/public/assets/icons/bold/tractor-bold.svg +1 -0
  1412. package/vendor/public/assets/icons/bold/trademark-bold.svg +1 -0
  1413. package/vendor/public/assets/icons/bold/trademark-registered-bold.svg +1 -0
  1414. package/vendor/public/assets/icons/bold/traffic-cone-bold.svg +1 -0
  1415. package/vendor/public/assets/icons/bold/traffic-sign-bold.svg +1 -0
  1416. package/vendor/public/assets/icons/bold/traffic-signal-bold.svg +1 -0
  1417. package/vendor/public/assets/icons/bold/train-bold.svg +1 -0
  1418. package/vendor/public/assets/icons/bold/train-regional-bold.svg +1 -0
  1419. package/vendor/public/assets/icons/bold/train-simple-bold.svg +1 -0
  1420. package/vendor/public/assets/icons/bold/tram-bold.svg +1 -0
  1421. package/vendor/public/assets/icons/bold/translate-bold.svg +1 -0
  1422. package/vendor/public/assets/icons/bold/trash-bold.svg +1 -0
  1423. package/vendor/public/assets/icons/bold/trash-simple-bold.svg +1 -0
  1424. package/vendor/public/assets/icons/bold/tray-arrow-down-bold.svg +1 -0
  1425. package/vendor/public/assets/icons/bold/tray-arrow-up-bold.svg +1 -0
  1426. package/vendor/public/assets/icons/bold/tray-bold.svg +1 -0
  1427. package/vendor/public/assets/icons/bold/treasure-chest-bold.svg +1 -0
  1428. package/vendor/public/assets/icons/bold/tree-bold.svg +1 -0
  1429. package/vendor/public/assets/icons/bold/tree-evergreen-bold.svg +1 -0
  1430. package/vendor/public/assets/icons/bold/tree-palm-bold.svg +1 -0
  1431. package/vendor/public/assets/icons/bold/tree-structure-bold.svg +1 -0
  1432. package/vendor/public/assets/icons/bold/tree-view-bold.svg +1 -0
  1433. package/vendor/public/assets/icons/bold/trend-down-bold.svg +1 -0
  1434. package/vendor/public/assets/icons/bold/trend-up-bold.svg +1 -0
  1435. package/vendor/public/assets/icons/bold/triangle-bold.svg +1 -0
  1436. package/vendor/public/assets/icons/bold/triangle-dashed-bold.svg +1 -0
  1437. package/vendor/public/assets/icons/bold/trolley-bold.svg +1 -0
  1438. package/vendor/public/assets/icons/bold/trolley-suitcase-bold.svg +1 -0
  1439. package/vendor/public/assets/icons/bold/trophy-bold.svg +1 -0
  1440. package/vendor/public/assets/icons/bold/truck-bold.svg +1 -0
  1441. package/vendor/public/assets/icons/bold/truck-trailer-bold.svg +1 -0
  1442. package/vendor/public/assets/icons/bold/tumblr-logo-bold.svg +1 -0
  1443. package/vendor/public/assets/icons/bold/twitch-logo-bold.svg +1 -0
  1444. package/vendor/public/assets/icons/bold/twitter-logo-bold.svg +1 -0
  1445. package/vendor/public/assets/icons/bold/umbrella-bold.svg +1 -0
  1446. package/vendor/public/assets/icons/bold/umbrella-simple-bold.svg +1 -0
  1447. package/vendor/public/assets/icons/bold/union-bold.svg +1 -0
  1448. package/vendor/public/assets/icons/bold/unite-bold.svg +1 -0
  1449. package/vendor/public/assets/icons/bold/unite-square-bold.svg +1 -0
  1450. package/vendor/public/assets/icons/bold/upload-bold.svg +1 -0
  1451. package/vendor/public/assets/icons/bold/upload-simple-bold.svg +1 -0
  1452. package/vendor/public/assets/icons/bold/usb-bold.svg +1 -0
  1453. package/vendor/public/assets/icons/bold/user-bold.svg +1 -0
  1454. package/vendor/public/assets/icons/bold/user-check-bold.svg +1 -0
  1455. package/vendor/public/assets/icons/bold/user-circle-bold.svg +1 -0
  1456. package/vendor/public/assets/icons/bold/user-circle-check-bold.svg +1 -0
  1457. package/vendor/public/assets/icons/bold/user-circle-dashed-bold.svg +1 -0
  1458. package/vendor/public/assets/icons/bold/user-circle-gear-bold.svg +1 -0
  1459. package/vendor/public/assets/icons/bold/user-circle-minus-bold.svg +1 -0
  1460. package/vendor/public/assets/icons/bold/user-circle-plus-bold.svg +1 -0
  1461. package/vendor/public/assets/icons/bold/user-focus-bold.svg +1 -0
  1462. package/vendor/public/assets/icons/bold/user-gear-bold.svg +1 -0
  1463. package/vendor/public/assets/icons/bold/user-list-bold.svg +1 -0
  1464. package/vendor/public/assets/icons/bold/user-minus-bold.svg +1 -0
  1465. package/vendor/public/assets/icons/bold/user-plus-bold.svg +1 -0
  1466. package/vendor/public/assets/icons/bold/user-rectangle-bold.svg +1 -0
  1467. package/vendor/public/assets/icons/bold/user-sound-bold.svg +1 -0
  1468. package/vendor/public/assets/icons/bold/user-square-bold.svg +1 -0
  1469. package/vendor/public/assets/icons/bold/user-switch-bold.svg +1 -0
  1470. package/vendor/public/assets/icons/bold/users-bold.svg +1 -0
  1471. package/vendor/public/assets/icons/bold/users-four-bold.svg +1 -0
  1472. package/vendor/public/assets/icons/bold/users-three-bold.svg +1 -0
  1473. package/vendor/public/assets/icons/bold/van-bold.svg +1 -0
  1474. package/vendor/public/assets/icons/bold/vault-bold.svg +1 -0
  1475. package/vendor/public/assets/icons/bold/vector-three-bold.svg +1 -0
  1476. package/vendor/public/assets/icons/bold/vector-two-bold.svg +1 -0
  1477. package/vendor/public/assets/icons/bold/vibrate-bold.svg +1 -0
  1478. package/vendor/public/assets/icons/bold/video-bold.svg +1 -0
  1479. package/vendor/public/assets/icons/bold/video-camera-bold.svg +1 -0
  1480. package/vendor/public/assets/icons/bold/video-camera-slash-bold.svg +1 -0
  1481. package/vendor/public/assets/icons/bold/video-conference-bold.svg +1 -0
  1482. package/vendor/public/assets/icons/bold/vignette-bold.svg +1 -0
  1483. package/vendor/public/assets/icons/bold/vinyl-record-bold.svg +1 -0
  1484. package/vendor/public/assets/icons/bold/virtual-reality-bold.svg +1 -0
  1485. package/vendor/public/assets/icons/bold/virus-bold.svg +1 -0
  1486. package/vendor/public/assets/icons/bold/visor-bold.svg +1 -0
  1487. package/vendor/public/assets/icons/bold/voicemail-bold.svg +1 -0
  1488. package/vendor/public/assets/icons/bold/volleyball-bold.svg +1 -0
  1489. package/vendor/public/assets/icons/bold/wall-bold.svg +1 -0
  1490. package/vendor/public/assets/icons/bold/wallet-bold.svg +1 -0
  1491. package/vendor/public/assets/icons/bold/warehouse-bold.svg +1 -0
  1492. package/vendor/public/assets/icons/bold/warning-bold.svg +1 -0
  1493. package/vendor/public/assets/icons/bold/warning-circle-bold.svg +1 -0
  1494. package/vendor/public/assets/icons/bold/warning-diamond-bold.svg +1 -0
  1495. package/vendor/public/assets/icons/bold/warning-octagon-bold.svg +1 -0
  1496. package/vendor/public/assets/icons/bold/washing-machine-bold.svg +1 -0
  1497. package/vendor/public/assets/icons/bold/watch-bold.svg +1 -0
  1498. package/vendor/public/assets/icons/bold/wave-sawtooth-bold.svg +1 -0
  1499. package/vendor/public/assets/icons/bold/wave-sine-bold.svg +1 -0
  1500. package/vendor/public/assets/icons/bold/wave-square-bold.svg +1 -0
  1501. package/vendor/public/assets/icons/bold/wave-triangle-bold.svg +1 -0
  1502. package/vendor/public/assets/icons/bold/waveform-bold.svg +1 -0
  1503. package/vendor/public/assets/icons/bold/waveform-slash-bold.svg +1 -0
  1504. package/vendor/public/assets/icons/bold/waves-bold.svg +1 -0
  1505. package/vendor/public/assets/icons/bold/webcam-bold.svg +1 -0
  1506. package/vendor/public/assets/icons/bold/webcam-slash-bold.svg +1 -0
  1507. package/vendor/public/assets/icons/bold/webhooks-logo-bold.svg +1 -0
  1508. package/vendor/public/assets/icons/bold/wechat-logo-bold.svg +1 -0
  1509. package/vendor/public/assets/icons/bold/whatsapp-logo-bold.svg +1 -0
  1510. package/vendor/public/assets/icons/bold/wheelchair-bold.svg +1 -0
  1511. package/vendor/public/assets/icons/bold/wheelchair-motion-bold.svg +1 -0
  1512. package/vendor/public/assets/icons/bold/wifi-high-bold.svg +1 -0
  1513. package/vendor/public/assets/icons/bold/wifi-low-bold.svg +1 -0
  1514. package/vendor/public/assets/icons/bold/wifi-medium-bold.svg +1 -0
  1515. package/vendor/public/assets/icons/bold/wifi-none-bold.svg +1 -0
  1516. package/vendor/public/assets/icons/bold/wifi-slash-bold.svg +1 -0
  1517. package/vendor/public/assets/icons/bold/wifi-x-bold.svg +1 -0
  1518. package/vendor/public/assets/icons/bold/wind-bold.svg +1 -0
  1519. package/vendor/public/assets/icons/bold/windmill-bold.svg +1 -0
  1520. package/vendor/public/assets/icons/bold/windows-logo-bold.svg +1 -0
  1521. package/vendor/public/assets/icons/bold/wine-bold.svg +1 -0
  1522. package/vendor/public/assets/icons/bold/wrench-bold.svg +1 -0
  1523. package/vendor/public/assets/icons/bold/x-bold.svg +1 -0
  1524. package/vendor/public/assets/icons/bold/x-circle-bold.svg +1 -0
  1525. package/vendor/public/assets/icons/bold/x-logo-bold.svg +1 -0
  1526. package/vendor/public/assets/icons/bold/x-square-bold.svg +1 -0
  1527. package/vendor/public/assets/icons/bold/yarn-bold.svg +1 -0
  1528. package/vendor/public/assets/icons/bold/yin-yang-bold.svg +1 -0
  1529. package/vendor/public/assets/icons/bold/youtube-logo-bold.svg +1 -0
  1530. package/vendor/public/assets/icons/fill/acorn-fill.svg +1 -0
  1531. package/vendor/public/assets/icons/fill/address-book-fill.svg +1 -0
  1532. package/vendor/public/assets/icons/fill/address-book-tabs-fill.svg +1 -0
  1533. package/vendor/public/assets/icons/fill/air-traffic-control-fill.svg +1 -0
  1534. package/vendor/public/assets/icons/fill/airplane-fill.svg +1 -0
  1535. package/vendor/public/assets/icons/fill/airplane-in-flight-fill.svg +1 -0
  1536. package/vendor/public/assets/icons/fill/airplane-landing-fill.svg +1 -0
  1537. package/vendor/public/assets/icons/fill/airplane-takeoff-fill.svg +1 -0
  1538. package/vendor/public/assets/icons/fill/airplane-taxiing-fill.svg +1 -0
  1539. package/vendor/public/assets/icons/fill/airplane-tilt-fill.svg +1 -0
  1540. package/vendor/public/assets/icons/fill/airplay-fill.svg +1 -0
  1541. package/vendor/public/assets/icons/fill/alarm-fill.svg +1 -0
  1542. package/vendor/public/assets/icons/fill/alien-fill.svg +1 -0
  1543. package/vendor/public/assets/icons/fill/align-bottom-fill.svg +1 -0
  1544. package/vendor/public/assets/icons/fill/align-bottom-simple-fill.svg +1 -0
  1545. package/vendor/public/assets/icons/fill/align-center-horizontal-fill.svg +1 -0
  1546. package/vendor/public/assets/icons/fill/align-center-horizontal-simple-fill.svg +1 -0
  1547. package/vendor/public/assets/icons/fill/align-center-vertical-fill.svg +1 -0
  1548. package/vendor/public/assets/icons/fill/align-center-vertical-simple-fill.svg +1 -0
  1549. package/vendor/public/assets/icons/fill/align-left-fill.svg +1 -0
  1550. package/vendor/public/assets/icons/fill/align-left-simple-fill.svg +1 -0
  1551. package/vendor/public/assets/icons/fill/align-right-fill.svg +1 -0
  1552. package/vendor/public/assets/icons/fill/align-right-simple-fill.svg +1 -0
  1553. package/vendor/public/assets/icons/fill/align-top-fill.svg +1 -0
  1554. package/vendor/public/assets/icons/fill/align-top-simple-fill.svg +1 -0
  1555. package/vendor/public/assets/icons/fill/amazon-logo-fill.svg +1 -0
  1556. package/vendor/public/assets/icons/fill/ambulance-fill.svg +1 -0
  1557. package/vendor/public/assets/icons/fill/anchor-fill.svg +1 -0
  1558. package/vendor/public/assets/icons/fill/anchor-simple-fill.svg +1 -0
  1559. package/vendor/public/assets/icons/fill/android-logo-fill.svg +1 -0
  1560. package/vendor/public/assets/icons/fill/angle-fill.svg +1 -0
  1561. package/vendor/public/assets/icons/fill/angular-logo-fill.svg +1 -0
  1562. package/vendor/public/assets/icons/fill/aperture-fill.svg +1 -0
  1563. package/vendor/public/assets/icons/fill/app-store-logo-fill.svg +1 -0
  1564. package/vendor/public/assets/icons/fill/app-window-fill.svg +1 -0
  1565. package/vendor/public/assets/icons/fill/apple-logo-fill.svg +1 -0
  1566. package/vendor/public/assets/icons/fill/apple-podcasts-logo-fill.svg +1 -0
  1567. package/vendor/public/assets/icons/fill/approximate-equals-fill.svg +1 -0
  1568. package/vendor/public/assets/icons/fill/archive-fill.svg +1 -0
  1569. package/vendor/public/assets/icons/fill/armchair-fill.svg +1 -0
  1570. package/vendor/public/assets/icons/fill/arrow-arc-left-fill.svg +1 -0
  1571. package/vendor/public/assets/icons/fill/arrow-arc-right-fill.svg +1 -0
  1572. package/vendor/public/assets/icons/fill/arrow-bend-double-up-left-fill.svg +1 -0
  1573. package/vendor/public/assets/icons/fill/arrow-bend-double-up-right-fill.svg +1 -0
  1574. package/vendor/public/assets/icons/fill/arrow-bend-down-left-fill.svg +1 -0
  1575. package/vendor/public/assets/icons/fill/arrow-bend-down-right-fill.svg +1 -0
  1576. package/vendor/public/assets/icons/fill/arrow-bend-left-down-fill.svg +1 -0
  1577. package/vendor/public/assets/icons/fill/arrow-bend-left-up-fill.svg +1 -0
  1578. package/vendor/public/assets/icons/fill/arrow-bend-right-down-fill.svg +1 -0
  1579. package/vendor/public/assets/icons/fill/arrow-bend-right-up-fill.svg +1 -0
  1580. package/vendor/public/assets/icons/fill/arrow-bend-up-left-fill.svg +1 -0
  1581. package/vendor/public/assets/icons/fill/arrow-bend-up-right-fill.svg +1 -0
  1582. package/vendor/public/assets/icons/fill/arrow-circle-down-fill.svg +1 -0
  1583. package/vendor/public/assets/icons/fill/arrow-circle-down-left-fill.svg +1 -0
  1584. package/vendor/public/assets/icons/fill/arrow-circle-down-right-fill.svg +1 -0
  1585. package/vendor/public/assets/icons/fill/arrow-circle-left-fill.svg +1 -0
  1586. package/vendor/public/assets/icons/fill/arrow-circle-right-fill.svg +1 -0
  1587. package/vendor/public/assets/icons/fill/arrow-circle-up-fill.svg +1 -0
  1588. package/vendor/public/assets/icons/fill/arrow-circle-up-left-fill.svg +1 -0
  1589. package/vendor/public/assets/icons/fill/arrow-circle-up-right-fill.svg +1 -0
  1590. package/vendor/public/assets/icons/fill/arrow-clockwise-fill.svg +1 -0
  1591. package/vendor/public/assets/icons/fill/arrow-counter-clockwise-fill.svg +1 -0
  1592. package/vendor/public/assets/icons/fill/arrow-down-fill.svg +1 -0
  1593. package/vendor/public/assets/icons/fill/arrow-down-left-fill.svg +1 -0
  1594. package/vendor/public/assets/icons/fill/arrow-down-right-fill.svg +1 -0
  1595. package/vendor/public/assets/icons/fill/arrow-elbow-down-left-fill.svg +1 -0
  1596. package/vendor/public/assets/icons/fill/arrow-elbow-down-right-fill.svg +1 -0
  1597. package/vendor/public/assets/icons/fill/arrow-elbow-left-down-fill.svg +1 -0
  1598. package/vendor/public/assets/icons/fill/arrow-elbow-left-fill.svg +1 -0
  1599. package/vendor/public/assets/icons/fill/arrow-elbow-left-up-fill.svg +1 -0
  1600. package/vendor/public/assets/icons/fill/arrow-elbow-right-down-fill.svg +1 -0
  1601. package/vendor/public/assets/icons/fill/arrow-elbow-right-fill.svg +1 -0
  1602. package/vendor/public/assets/icons/fill/arrow-elbow-right-up-fill.svg +1 -0
  1603. package/vendor/public/assets/icons/fill/arrow-elbow-up-left-fill.svg +1 -0
  1604. package/vendor/public/assets/icons/fill/arrow-elbow-up-right-fill.svg +1 -0
  1605. package/vendor/public/assets/icons/fill/arrow-fat-down-fill.svg +1 -0
  1606. package/vendor/public/assets/icons/fill/arrow-fat-left-fill.svg +1 -0
  1607. package/vendor/public/assets/icons/fill/arrow-fat-line-down-fill.svg +1 -0
  1608. package/vendor/public/assets/icons/fill/arrow-fat-line-left-fill.svg +1 -0
  1609. package/vendor/public/assets/icons/fill/arrow-fat-line-right-fill.svg +1 -0
  1610. package/vendor/public/assets/icons/fill/arrow-fat-line-up-fill.svg +1 -0
  1611. package/vendor/public/assets/icons/fill/arrow-fat-lines-down-fill.svg +1 -0
  1612. package/vendor/public/assets/icons/fill/arrow-fat-lines-left-fill.svg +1 -0
  1613. package/vendor/public/assets/icons/fill/arrow-fat-lines-right-fill.svg +1 -0
  1614. package/vendor/public/assets/icons/fill/arrow-fat-lines-up-fill.svg +1 -0
  1615. package/vendor/public/assets/icons/fill/arrow-fat-right-fill.svg +1 -0
  1616. package/vendor/public/assets/icons/fill/arrow-fat-up-fill.svg +1 -0
  1617. package/vendor/public/assets/icons/fill/arrow-left-fill.svg +1 -0
  1618. package/vendor/public/assets/icons/fill/arrow-line-down-fill.svg +1 -0
  1619. package/vendor/public/assets/icons/fill/arrow-line-down-left-fill.svg +1 -0
  1620. package/vendor/public/assets/icons/fill/arrow-line-down-right-fill.svg +1 -0
  1621. package/vendor/public/assets/icons/fill/arrow-line-left-fill.svg +1 -0
  1622. package/vendor/public/assets/icons/fill/arrow-line-right-fill.svg +1 -0
  1623. package/vendor/public/assets/icons/fill/arrow-line-up-fill.svg +1 -0
  1624. package/vendor/public/assets/icons/fill/arrow-line-up-left-fill.svg +1 -0
  1625. package/vendor/public/assets/icons/fill/arrow-line-up-right-fill.svg +1 -0
  1626. package/vendor/public/assets/icons/fill/arrow-right-fill.svg +1 -0
  1627. package/vendor/public/assets/icons/fill/arrow-square-down-fill.svg +1 -0
  1628. package/vendor/public/assets/icons/fill/arrow-square-down-left-fill.svg +1 -0
  1629. package/vendor/public/assets/icons/fill/arrow-square-down-right-fill.svg +1 -0
  1630. package/vendor/public/assets/icons/fill/arrow-square-in-fill.svg +1 -0
  1631. package/vendor/public/assets/icons/fill/arrow-square-left-fill.svg +1 -0
  1632. package/vendor/public/assets/icons/fill/arrow-square-out-fill.svg +1 -0
  1633. package/vendor/public/assets/icons/fill/arrow-square-right-fill.svg +1 -0
  1634. package/vendor/public/assets/icons/fill/arrow-square-up-fill.svg +1 -0
  1635. package/vendor/public/assets/icons/fill/arrow-square-up-left-fill.svg +1 -0
  1636. package/vendor/public/assets/icons/fill/arrow-square-up-right-fill.svg +1 -0
  1637. package/vendor/public/assets/icons/fill/arrow-u-down-left-fill.svg +1 -0
  1638. package/vendor/public/assets/icons/fill/arrow-u-down-right-fill.svg +1 -0
  1639. package/vendor/public/assets/icons/fill/arrow-u-left-down-fill.svg +1 -0
  1640. package/vendor/public/assets/icons/fill/arrow-u-left-up-fill.svg +1 -0
  1641. package/vendor/public/assets/icons/fill/arrow-u-right-down-fill.svg +1 -0
  1642. package/vendor/public/assets/icons/fill/arrow-u-right-up-fill.svg +1 -0
  1643. package/vendor/public/assets/icons/fill/arrow-u-up-left-fill.svg +1 -0
  1644. package/vendor/public/assets/icons/fill/arrow-u-up-right-fill.svg +1 -0
  1645. package/vendor/public/assets/icons/fill/arrow-up-fill.svg +1 -0
  1646. package/vendor/public/assets/icons/fill/arrow-up-left-fill.svg +1 -0
  1647. package/vendor/public/assets/icons/fill/arrow-up-right-fill.svg +1 -0
  1648. package/vendor/public/assets/icons/fill/arrows-clockwise-fill.svg +1 -0
  1649. package/vendor/public/assets/icons/fill/arrows-counter-clockwise-fill.svg +1 -0
  1650. package/vendor/public/assets/icons/fill/arrows-down-up-fill.svg +1 -0
  1651. package/vendor/public/assets/icons/fill/arrows-horizontal-fill.svg +1 -0
  1652. package/vendor/public/assets/icons/fill/arrows-in-cardinal-fill.svg +1 -0
  1653. package/vendor/public/assets/icons/fill/arrows-in-fill.svg +1 -0
  1654. package/vendor/public/assets/icons/fill/arrows-in-line-horizontal-fill.svg +1 -0
  1655. package/vendor/public/assets/icons/fill/arrows-in-line-vertical-fill.svg +1 -0
  1656. package/vendor/public/assets/icons/fill/arrows-in-simple-fill.svg +1 -0
  1657. package/vendor/public/assets/icons/fill/arrows-left-right-fill.svg +1 -0
  1658. package/vendor/public/assets/icons/fill/arrows-merge-fill.svg +1 -0
  1659. package/vendor/public/assets/icons/fill/arrows-out-cardinal-fill.svg +1 -0
  1660. package/vendor/public/assets/icons/fill/arrows-out-fill.svg +1 -0
  1661. package/vendor/public/assets/icons/fill/arrows-out-line-horizontal-fill.svg +1 -0
  1662. package/vendor/public/assets/icons/fill/arrows-out-line-vertical-fill.svg +1 -0
  1663. package/vendor/public/assets/icons/fill/arrows-out-simple-fill.svg +1 -0
  1664. package/vendor/public/assets/icons/fill/arrows-split-fill.svg +1 -0
  1665. package/vendor/public/assets/icons/fill/arrows-vertical-fill.svg +1 -0
  1666. package/vendor/public/assets/icons/fill/article-fill.svg +1 -0
  1667. package/vendor/public/assets/icons/fill/article-medium-fill.svg +1 -0
  1668. package/vendor/public/assets/icons/fill/article-ny-times-fill.svg +1 -0
  1669. package/vendor/public/assets/icons/fill/asclepius-fill.svg +1 -0
  1670. package/vendor/public/assets/icons/fill/asterisk-fill.svg +1 -0
  1671. package/vendor/public/assets/icons/fill/asterisk-simple-fill.svg +1 -0
  1672. package/vendor/public/assets/icons/fill/at-fill.svg +1 -0
  1673. package/vendor/public/assets/icons/fill/atom-fill.svg +1 -0
  1674. package/vendor/public/assets/icons/fill/avocado-fill.svg +1 -0
  1675. package/vendor/public/assets/icons/fill/axe-fill.svg +1 -0
  1676. package/vendor/public/assets/icons/fill/baby-carriage-fill.svg +1 -0
  1677. package/vendor/public/assets/icons/fill/baby-fill.svg +1 -0
  1678. package/vendor/public/assets/icons/fill/backpack-fill.svg +1 -0
  1679. package/vendor/public/assets/icons/fill/backspace-fill.svg +1 -0
  1680. package/vendor/public/assets/icons/fill/bag-fill.svg +1 -0
  1681. package/vendor/public/assets/icons/fill/bag-simple-fill.svg +1 -0
  1682. package/vendor/public/assets/icons/fill/balloon-fill.svg +1 -0
  1683. package/vendor/public/assets/icons/fill/bandaids-fill.svg +1 -0
  1684. package/vendor/public/assets/icons/fill/bank-fill.svg +1 -0
  1685. package/vendor/public/assets/icons/fill/barbell-fill.svg +1 -0
  1686. package/vendor/public/assets/icons/fill/barcode-fill.svg +1 -0
  1687. package/vendor/public/assets/icons/fill/barn-fill.svg +1 -0
  1688. package/vendor/public/assets/icons/fill/barricade-fill.svg +1 -0
  1689. package/vendor/public/assets/icons/fill/baseball-cap-fill.svg +1 -0
  1690. package/vendor/public/assets/icons/fill/baseball-fill.svg +1 -0
  1691. package/vendor/public/assets/icons/fill/baseball-helmet-fill.svg +1 -0
  1692. package/vendor/public/assets/icons/fill/basket-fill.svg +1 -0
  1693. package/vendor/public/assets/icons/fill/basketball-fill.svg +1 -0
  1694. package/vendor/public/assets/icons/fill/bathtub-fill.svg +1 -0
  1695. package/vendor/public/assets/icons/fill/battery-charging-fill.svg +1 -0
  1696. package/vendor/public/assets/icons/fill/battery-charging-vertical-fill.svg +1 -0
  1697. package/vendor/public/assets/icons/fill/battery-empty-fill.svg +1 -0
  1698. package/vendor/public/assets/icons/fill/battery-full-fill.svg +1 -0
  1699. package/vendor/public/assets/icons/fill/battery-high-fill.svg +1 -0
  1700. package/vendor/public/assets/icons/fill/battery-low-fill.svg +1 -0
  1701. package/vendor/public/assets/icons/fill/battery-medium-fill.svg +1 -0
  1702. package/vendor/public/assets/icons/fill/battery-plus-fill.svg +1 -0
  1703. package/vendor/public/assets/icons/fill/battery-plus-vertical-fill.svg +1 -0
  1704. package/vendor/public/assets/icons/fill/battery-vertical-empty-fill.svg +1 -0
  1705. package/vendor/public/assets/icons/fill/battery-vertical-full-fill.svg +1 -0
  1706. package/vendor/public/assets/icons/fill/battery-vertical-high-fill.svg +1 -0
  1707. package/vendor/public/assets/icons/fill/battery-vertical-low-fill.svg +1 -0
  1708. package/vendor/public/assets/icons/fill/battery-vertical-medium-fill.svg +1 -0
  1709. package/vendor/public/assets/icons/fill/battery-warning-fill.svg +1 -0
  1710. package/vendor/public/assets/icons/fill/battery-warning-vertical-fill.svg +1 -0
  1711. package/vendor/public/assets/icons/fill/beach-ball-fill.svg +1 -0
  1712. package/vendor/public/assets/icons/fill/beanie-fill.svg +1 -0
  1713. package/vendor/public/assets/icons/fill/bed-fill.svg +1 -0
  1714. package/vendor/public/assets/icons/fill/beer-bottle-fill.svg +1 -0
  1715. package/vendor/public/assets/icons/fill/beer-stein-fill.svg +1 -0
  1716. package/vendor/public/assets/icons/fill/behance-logo-fill.svg +1 -0
  1717. package/vendor/public/assets/icons/fill/bell-fill.svg +1 -0
  1718. package/vendor/public/assets/icons/fill/bell-ringing-fill.svg +1 -0
  1719. package/vendor/public/assets/icons/fill/bell-simple-fill.svg +1 -0
  1720. package/vendor/public/assets/icons/fill/bell-simple-ringing-fill.svg +1 -0
  1721. package/vendor/public/assets/icons/fill/bell-simple-slash-fill.svg +1 -0
  1722. package/vendor/public/assets/icons/fill/bell-simple-z-fill.svg +1 -0
  1723. package/vendor/public/assets/icons/fill/bell-slash-fill.svg +1 -0
  1724. package/vendor/public/assets/icons/fill/bell-z-fill.svg +1 -0
  1725. package/vendor/public/assets/icons/fill/belt-fill.svg +1 -0
  1726. package/vendor/public/assets/icons/fill/bezier-curve-fill.svg +1 -0
  1727. package/vendor/public/assets/icons/fill/bicycle-fill.svg +1 -0
  1728. package/vendor/public/assets/icons/fill/binary-fill.svg +1 -0
  1729. package/vendor/public/assets/icons/fill/binoculars-fill.svg +1 -0
  1730. package/vendor/public/assets/icons/fill/biohazard-fill.svg +1 -0
  1731. package/vendor/public/assets/icons/fill/bird-fill.svg +1 -0
  1732. package/vendor/public/assets/icons/fill/blueprint-fill.svg +1 -0
  1733. package/vendor/public/assets/icons/fill/bluetooth-connected-fill.svg +1 -0
  1734. package/vendor/public/assets/icons/fill/bluetooth-fill.svg +1 -0
  1735. package/vendor/public/assets/icons/fill/bluetooth-slash-fill.svg +1 -0
  1736. package/vendor/public/assets/icons/fill/bluetooth-x-fill.svg +1 -0
  1737. package/vendor/public/assets/icons/fill/boat-fill.svg +1 -0
  1738. package/vendor/public/assets/icons/fill/bomb-fill.svg +1 -0
  1739. package/vendor/public/assets/icons/fill/bone-fill.svg +1 -0
  1740. package/vendor/public/assets/icons/fill/book-bookmark-fill.svg +1 -0
  1741. package/vendor/public/assets/icons/fill/book-fill.svg +1 -0
  1742. package/vendor/public/assets/icons/fill/book-open-fill.svg +1 -0
  1743. package/vendor/public/assets/icons/fill/book-open-text-fill.svg +1 -0
  1744. package/vendor/public/assets/icons/fill/book-open-user-fill.svg +1 -0
  1745. package/vendor/public/assets/icons/fill/bookmark-fill.svg +1 -0
  1746. package/vendor/public/assets/icons/fill/bookmark-simple-fill.svg +1 -0
  1747. package/vendor/public/assets/icons/fill/bookmarks-fill.svg +1 -0
  1748. package/vendor/public/assets/icons/fill/bookmarks-simple-fill.svg +1 -0
  1749. package/vendor/public/assets/icons/fill/books-fill.svg +1 -0
  1750. package/vendor/public/assets/icons/fill/boot-fill.svg +1 -0
  1751. package/vendor/public/assets/icons/fill/boules-fill.svg +1 -0
  1752. package/vendor/public/assets/icons/fill/bounding-box-fill.svg +1 -0
  1753. package/vendor/public/assets/icons/fill/bowl-food-fill.svg +1 -0
  1754. package/vendor/public/assets/icons/fill/bowl-steam-fill.svg +1 -0
  1755. package/vendor/public/assets/icons/fill/bowling-ball-fill.svg +1 -0
  1756. package/vendor/public/assets/icons/fill/box-arrow-down-fill.svg +1 -0
  1757. package/vendor/public/assets/icons/fill/box-arrow-up-fill.svg +1 -0
  1758. package/vendor/public/assets/icons/fill/boxing-glove-fill.svg +1 -0
  1759. package/vendor/public/assets/icons/fill/brackets-angle-fill.svg +1 -0
  1760. package/vendor/public/assets/icons/fill/brackets-curly-fill.svg +1 -0
  1761. package/vendor/public/assets/icons/fill/brackets-round-fill.svg +1 -0
  1762. package/vendor/public/assets/icons/fill/brackets-square-fill.svg +1 -0
  1763. package/vendor/public/assets/icons/fill/brain-fill.svg +1 -0
  1764. package/vendor/public/assets/icons/fill/brandy-fill.svg +1 -0
  1765. package/vendor/public/assets/icons/fill/bread-fill.svg +1 -0
  1766. package/vendor/public/assets/icons/fill/bridge-fill.svg +1 -0
  1767. package/vendor/public/assets/icons/fill/briefcase-fill.svg +1 -0
  1768. package/vendor/public/assets/icons/fill/briefcase-metal-fill.svg +1 -0
  1769. package/vendor/public/assets/icons/fill/broadcast-fill.svg +1 -0
  1770. package/vendor/public/assets/icons/fill/broom-fill.svg +1 -0
  1771. package/vendor/public/assets/icons/fill/browser-fill.svg +1 -0
  1772. package/vendor/public/assets/icons/fill/browsers-fill.svg +1 -0
  1773. package/vendor/public/assets/icons/fill/bug-beetle-fill.svg +1 -0
  1774. package/vendor/public/assets/icons/fill/bug-droid-fill.svg +1 -0
  1775. package/vendor/public/assets/icons/fill/bug-fill.svg +1 -0
  1776. package/vendor/public/assets/icons/fill/building-apartment-fill.svg +1 -0
  1777. package/vendor/public/assets/icons/fill/building-fill.svg +1 -0
  1778. package/vendor/public/assets/icons/fill/building-office-fill.svg +1 -0
  1779. package/vendor/public/assets/icons/fill/buildings-fill.svg +1 -0
  1780. package/vendor/public/assets/icons/fill/bulldozer-fill.svg +1 -0
  1781. package/vendor/public/assets/icons/fill/bus-fill.svg +1 -0
  1782. package/vendor/public/assets/icons/fill/butterfly-fill.svg +1 -0
  1783. package/vendor/public/assets/icons/fill/cable-car-fill.svg +1 -0
  1784. package/vendor/public/assets/icons/fill/cactus-fill.svg +1 -0
  1785. package/vendor/public/assets/icons/fill/cake-fill.svg +1 -0
  1786. package/vendor/public/assets/icons/fill/calculator-fill.svg +1 -0
  1787. package/vendor/public/assets/icons/fill/calendar-blank-fill.svg +1 -0
  1788. package/vendor/public/assets/icons/fill/calendar-check-fill.svg +1 -0
  1789. package/vendor/public/assets/icons/fill/calendar-dot-fill.svg +1 -0
  1790. package/vendor/public/assets/icons/fill/calendar-dots-fill.svg +1 -0
  1791. package/vendor/public/assets/icons/fill/calendar-fill.svg +1 -0
  1792. package/vendor/public/assets/icons/fill/calendar-heart-fill.svg +1 -0
  1793. package/vendor/public/assets/icons/fill/calendar-minus-fill.svg +1 -0
  1794. package/vendor/public/assets/icons/fill/calendar-plus-fill.svg +1 -0
  1795. package/vendor/public/assets/icons/fill/calendar-slash-fill.svg +1 -0
  1796. package/vendor/public/assets/icons/fill/calendar-star-fill.svg +1 -0
  1797. package/vendor/public/assets/icons/fill/calendar-x-fill.svg +1 -0
  1798. package/vendor/public/assets/icons/fill/call-bell-fill.svg +1 -0
  1799. package/vendor/public/assets/icons/fill/camera-fill.svg +1 -0
  1800. package/vendor/public/assets/icons/fill/camera-plus-fill.svg +1 -0
  1801. package/vendor/public/assets/icons/fill/camera-rotate-fill.svg +1 -0
  1802. package/vendor/public/assets/icons/fill/camera-slash-fill.svg +1 -0
  1803. package/vendor/public/assets/icons/fill/campfire-fill.svg +1 -0
  1804. package/vendor/public/assets/icons/fill/car-battery-fill.svg +1 -0
  1805. package/vendor/public/assets/icons/fill/car-fill.svg +1 -0
  1806. package/vendor/public/assets/icons/fill/car-profile-fill.svg +1 -0
  1807. package/vendor/public/assets/icons/fill/car-simple-fill.svg +1 -0
  1808. package/vendor/public/assets/icons/fill/card.svg +5 -0
  1809. package/vendor/public/assets/icons/fill/cardholder-fill.svg +1 -0
  1810. package/vendor/public/assets/icons/fill/cards-fill.svg +1 -0
  1811. package/vendor/public/assets/icons/fill/cards-three-fill.svg +1 -0
  1812. package/vendor/public/assets/icons/fill/caret-circle-double-down-fill.svg +1 -0
  1813. package/vendor/public/assets/icons/fill/caret-circle-double-left-fill.svg +1 -0
  1814. package/vendor/public/assets/icons/fill/caret-circle-double-right-fill.svg +1 -0
  1815. package/vendor/public/assets/icons/fill/caret-circle-double-up-fill.svg +1 -0
  1816. package/vendor/public/assets/icons/fill/caret-circle-down-fill.svg +1 -0
  1817. package/vendor/public/assets/icons/fill/caret-circle-left-fill.svg +1 -0
  1818. package/vendor/public/assets/icons/fill/caret-circle-right-fill.svg +1 -0
  1819. package/vendor/public/assets/icons/fill/caret-circle-up-down-fill.svg +1 -0
  1820. package/vendor/public/assets/icons/fill/caret-circle-up-fill.svg +1 -0
  1821. package/vendor/public/assets/icons/fill/caret-double-down-fill.svg +1 -0
  1822. package/vendor/public/assets/icons/fill/caret-double-left-fill.svg +1 -0
  1823. package/vendor/public/assets/icons/fill/caret-double-right-fill.svg +1 -0
  1824. package/vendor/public/assets/icons/fill/caret-double-up-fill.svg +1 -0
  1825. package/vendor/public/assets/icons/fill/caret-down-fill.svg +1 -0
  1826. package/vendor/public/assets/icons/fill/caret-left-fill.svg +1 -0
  1827. package/vendor/public/assets/icons/fill/caret-line-down-fill.svg +1 -0
  1828. package/vendor/public/assets/icons/fill/caret-line-left-fill.svg +1 -0
  1829. package/vendor/public/assets/icons/fill/caret-line-right-fill.svg +1 -0
  1830. package/vendor/public/assets/icons/fill/caret-line-up-fill.svg +1 -0
  1831. package/vendor/public/assets/icons/fill/caret-right-fill.svg +1 -0
  1832. package/vendor/public/assets/icons/fill/caret-up-down-fill.svg +1 -0
  1833. package/vendor/public/assets/icons/fill/caret-up-fill.svg +1 -0
  1834. package/vendor/public/assets/icons/fill/carrot-fill.svg +1 -0
  1835. package/vendor/public/assets/icons/fill/cash-register-fill.svg +1 -0
  1836. package/vendor/public/assets/icons/fill/cassette-tape-fill.svg +1 -0
  1837. package/vendor/public/assets/icons/fill/castle-turret-fill.svg +1 -0
  1838. package/vendor/public/assets/icons/fill/cat-fill.svg +1 -0
  1839. package/vendor/public/assets/icons/fill/cell-signal-full-fill.svg +1 -0
  1840. package/vendor/public/assets/icons/fill/cell-signal-high-fill.svg +1 -0
  1841. package/vendor/public/assets/icons/fill/cell-signal-low-fill.svg +1 -0
  1842. package/vendor/public/assets/icons/fill/cell-signal-medium-fill.svg +1 -0
  1843. package/vendor/public/assets/icons/fill/cell-signal-none-fill.svg +1 -0
  1844. package/vendor/public/assets/icons/fill/cell-signal-slash-fill.svg +1 -0
  1845. package/vendor/public/assets/icons/fill/cell-signal-x-fill.svg +1 -0
  1846. package/vendor/public/assets/icons/fill/cell-tower-fill.svg +1 -0
  1847. package/vendor/public/assets/icons/fill/certificate-fill.svg +1 -0
  1848. package/vendor/public/assets/icons/fill/chair-fill.svg +1 -0
  1849. package/vendor/public/assets/icons/fill/chalkboard-fill.svg +1 -0
  1850. package/vendor/public/assets/icons/fill/chalkboard-simple-fill.svg +1 -0
  1851. package/vendor/public/assets/icons/fill/chalkboard-teacher-fill.svg +1 -0
  1852. package/vendor/public/assets/icons/fill/champagne-fill.svg +1 -0
  1853. package/vendor/public/assets/icons/fill/charging-station-fill.svg +1 -0
  1854. package/vendor/public/assets/icons/fill/chart-bar-fill.svg +1 -0
  1855. package/vendor/public/assets/icons/fill/chart-bar-horizontal-fill.svg +1 -0
  1856. package/vendor/public/assets/icons/fill/chart-donut-fill.svg +1 -0
  1857. package/vendor/public/assets/icons/fill/chart-line-down-fill.svg +1 -0
  1858. package/vendor/public/assets/icons/fill/chart-line-fill.svg +1 -0
  1859. package/vendor/public/assets/icons/fill/chart-line-up-fill.svg +1 -0
  1860. package/vendor/public/assets/icons/fill/chart-pie-fill.svg +1 -0
  1861. package/vendor/public/assets/icons/fill/chart-pie-slice-fill.svg +1 -0
  1862. package/vendor/public/assets/icons/fill/chart-polar-fill.svg +1 -0
  1863. package/vendor/public/assets/icons/fill/chart-scatter-fill.svg +1 -0
  1864. package/vendor/public/assets/icons/fill/chat-centered-dots-fill.svg +1 -0
  1865. package/vendor/public/assets/icons/fill/chat-centered-fill.svg +1 -0
  1866. package/vendor/public/assets/icons/fill/chat-centered-slash-fill.svg +1 -0
  1867. package/vendor/public/assets/icons/fill/chat-centered-text-fill.svg +1 -0
  1868. package/vendor/public/assets/icons/fill/chat-circle-dots-fill.svg +1 -0
  1869. package/vendor/public/assets/icons/fill/chat-circle-fill.svg +1 -0
  1870. package/vendor/public/assets/icons/fill/chat-circle-slash-fill.svg +1 -0
  1871. package/vendor/public/assets/icons/fill/chat-circle-text-fill.svg +1 -0
  1872. package/vendor/public/assets/icons/fill/chat-dots-fill.svg +1 -0
  1873. package/vendor/public/assets/icons/fill/chat-fill.svg +1 -0
  1874. package/vendor/public/assets/icons/fill/chat-slash-fill.svg +1 -0
  1875. package/vendor/public/assets/icons/fill/chat-teardrop-dots-fill.svg +1 -0
  1876. package/vendor/public/assets/icons/fill/chat-teardrop-fill.svg +1 -0
  1877. package/vendor/public/assets/icons/fill/chat-teardrop-slash-fill.svg +1 -0
  1878. package/vendor/public/assets/icons/fill/chat-teardrop-text-fill.svg +1 -0
  1879. package/vendor/public/assets/icons/fill/chat-text-fill.svg +1 -0
  1880. package/vendor/public/assets/icons/fill/chats-circle-fill.svg +1 -0
  1881. package/vendor/public/assets/icons/fill/chats-fill.svg +1 -0
  1882. package/vendor/public/assets/icons/fill/chats-teardrop-fill.svg +1 -0
  1883. package/vendor/public/assets/icons/fill/check-circle-fill.svg +1 -0
  1884. package/vendor/public/assets/icons/fill/check-fat-fill.svg +3 -0
  1885. package/vendor/public/assets/icons/fill/check-fill.svg +1 -0
  1886. package/vendor/public/assets/icons/fill/check-square-fill.svg +1 -0
  1887. package/vendor/public/assets/icons/fill/check-square-offset-fill.svg +1 -0
  1888. package/vendor/public/assets/icons/fill/checkerboard-fill.svg +1 -0
  1889. package/vendor/public/assets/icons/fill/checks-fill.svg +1 -0
  1890. package/vendor/public/assets/icons/fill/cheers-fill.svg +1 -0
  1891. package/vendor/public/assets/icons/fill/cheese-fill.svg +1 -0
  1892. package/vendor/public/assets/icons/fill/chef-hat-fill.svg +1 -0
  1893. package/vendor/public/assets/icons/fill/cherries-fill.svg +1 -0
  1894. package/vendor/public/assets/icons/fill/church-fill.svg +1 -0
  1895. package/vendor/public/assets/icons/fill/cigarette-fill.svg +1 -0
  1896. package/vendor/public/assets/icons/fill/cigarette-slash-fill.svg +1 -0
  1897. package/vendor/public/assets/icons/fill/circle-dashed-fill.svg +1 -0
  1898. package/vendor/public/assets/icons/fill/circle-fill.svg +1 -0
  1899. package/vendor/public/assets/icons/fill/circle-half-fill.svg +1 -0
  1900. package/vendor/public/assets/icons/fill/circle-half-tilt-fill.svg +1 -0
  1901. package/vendor/public/assets/icons/fill/circle-notch-fill.svg +1 -0
  1902. package/vendor/public/assets/icons/fill/circles-four-fill.svg +1 -0
  1903. package/vendor/public/assets/icons/fill/circles-three-fill.svg +1 -0
  1904. package/vendor/public/assets/icons/fill/circles-three-plus-fill.svg +1 -0
  1905. package/vendor/public/assets/icons/fill/circuitry-fill.svg +1 -0
  1906. package/vendor/public/assets/icons/fill/city-fill.svg +1 -0
  1907. package/vendor/public/assets/icons/fill/clipboard-fill.svg +1 -0
  1908. package/vendor/public/assets/icons/fill/clipboard-text-fill.svg +1 -0
  1909. package/vendor/public/assets/icons/fill/clock-afternoon-fill.svg +1 -0
  1910. package/vendor/public/assets/icons/fill/clock-clockwise-fill.svg +1 -0
  1911. package/vendor/public/assets/icons/fill/clock-countdown-fill.svg +1 -0
  1912. package/vendor/public/assets/icons/fill/clock-counter-clockwise-fill.svg +1 -0
  1913. package/vendor/public/assets/icons/fill/clock-fill.svg +1 -0
  1914. package/vendor/public/assets/icons/fill/clock-user-fill.svg +1 -0
  1915. package/vendor/public/assets/icons/fill/closed-captioning-fill.svg +1 -0
  1916. package/vendor/public/assets/icons/fill/cloud-arrow-down-fill.svg +1 -0
  1917. package/vendor/public/assets/icons/fill/cloud-arrow-up-fill.svg +1 -0
  1918. package/vendor/public/assets/icons/fill/cloud-check-fill.svg +1 -0
  1919. package/vendor/public/assets/icons/fill/cloud-fill.svg +1 -0
  1920. package/vendor/public/assets/icons/fill/cloud-fog-fill.svg +1 -0
  1921. package/vendor/public/assets/icons/fill/cloud-lightning-fill.svg +1 -0
  1922. package/vendor/public/assets/icons/fill/cloud-moon-fill.svg +1 -0
  1923. package/vendor/public/assets/icons/fill/cloud-rain-fill.svg +1 -0
  1924. package/vendor/public/assets/icons/fill/cloud-slash-fill.svg +1 -0
  1925. package/vendor/public/assets/icons/fill/cloud-snow-fill.svg +1 -0
  1926. package/vendor/public/assets/icons/fill/cloud-sun-fill.svg +1 -0
  1927. package/vendor/public/assets/icons/fill/cloud-warning-fill.svg +1 -0
  1928. package/vendor/public/assets/icons/fill/cloud-x-fill.svg +1 -0
  1929. package/vendor/public/assets/icons/fill/clover-fill.svg +1 -0
  1930. package/vendor/public/assets/icons/fill/club-fill.svg +1 -0
  1931. package/vendor/public/assets/icons/fill/coat-hanger-fill.svg +1 -0
  1932. package/vendor/public/assets/icons/fill/coda-logo-fill.svg +1 -0
  1933. package/vendor/public/assets/icons/fill/code-block-fill.svg +1 -0
  1934. package/vendor/public/assets/icons/fill/code-fill.svg +1 -0
  1935. package/vendor/public/assets/icons/fill/code-simple-fill.svg +1 -0
  1936. package/vendor/public/assets/icons/fill/codepen-logo-fill.svg +1 -0
  1937. package/vendor/public/assets/icons/fill/codesandbox-logo-fill.svg +1 -0
  1938. package/vendor/public/assets/icons/fill/coffee-bean-fill.svg +1 -0
  1939. package/vendor/public/assets/icons/fill/coffee-fill.svg +1 -0
  1940. package/vendor/public/assets/icons/fill/coin-fill.svg +1 -0
  1941. package/vendor/public/assets/icons/fill/coin-vertical-fill.svg +1 -0
  1942. package/vendor/public/assets/icons/fill/coins-fill.svg +1 -0
  1943. package/vendor/public/assets/icons/fill/columns-fill.svg +1 -0
  1944. package/vendor/public/assets/icons/fill/columns-plus-left-fill.svg +1 -0
  1945. package/vendor/public/assets/icons/fill/columns-plus-right-fill.svg +1 -0
  1946. package/vendor/public/assets/icons/fill/command-fill.svg +1 -0
  1947. package/vendor/public/assets/icons/fill/compass-fill.svg +1 -0
  1948. package/vendor/public/assets/icons/fill/compass-rose-fill.svg +1 -0
  1949. package/vendor/public/assets/icons/fill/compass-tool-fill.svg +1 -0
  1950. package/vendor/public/assets/icons/fill/computer-tower-fill.svg +1 -0
  1951. package/vendor/public/assets/icons/fill/confetti-fill.svg +1 -0
  1952. package/vendor/public/assets/icons/fill/contactless-payment-fill.svg +1 -0
  1953. package/vendor/public/assets/icons/fill/control-fill.svg +1 -0
  1954. package/vendor/public/assets/icons/fill/cookie-fill.svg +1 -0
  1955. package/vendor/public/assets/icons/fill/cooking-pot-fill.svg +1 -0
  1956. package/vendor/public/assets/icons/fill/copy-fill.svg +1 -0
  1957. package/vendor/public/assets/icons/fill/copy-simple-fill.svg +1 -0
  1958. package/vendor/public/assets/icons/fill/copyleft-fill.svg +1 -0
  1959. package/vendor/public/assets/icons/fill/copyright-fill.svg +1 -0
  1960. package/vendor/public/assets/icons/fill/corners-in-fill.svg +1 -0
  1961. package/vendor/public/assets/icons/fill/corners-out-fill.svg +1 -0
  1962. package/vendor/public/assets/icons/fill/couch-fill.svg +1 -0
  1963. package/vendor/public/assets/icons/fill/court-basketball-fill.svg +1 -0
  1964. package/vendor/public/assets/icons/fill/cow-fill.svg +1 -0
  1965. package/vendor/public/assets/icons/fill/cowboy-hat-fill.svg +1 -0
  1966. package/vendor/public/assets/icons/fill/cpu-fill.svg +1 -0
  1967. package/vendor/public/assets/icons/fill/crane-fill.svg +1 -0
  1968. package/vendor/public/assets/icons/fill/crane-tower-fill.svg +1 -0
  1969. package/vendor/public/assets/icons/fill/credit-card-fill.svg +1 -0
  1970. package/vendor/public/assets/icons/fill/cricket-fill.svg +1 -0
  1971. package/vendor/public/assets/icons/fill/crop-fill.svg +1 -0
  1972. package/vendor/public/assets/icons/fill/cross-fill.svg +1 -0
  1973. package/vendor/public/assets/icons/fill/crosshair-fill.svg +1 -0
  1974. package/vendor/public/assets/icons/fill/crosshair-simple-fill.svg +1 -0
  1975. package/vendor/public/assets/icons/fill/crown-cross-fill.svg +1 -0
  1976. package/vendor/public/assets/icons/fill/crown-fill.svg +1 -0
  1977. package/vendor/public/assets/icons/fill/crown-simple-fill.svg +1 -0
  1978. package/vendor/public/assets/icons/fill/cube-fill.svg +1 -0
  1979. package/vendor/public/assets/icons/fill/cube-focus-fill.svg +1 -0
  1980. package/vendor/public/assets/icons/fill/cube-transparent-fill.svg +1 -0
  1981. package/vendor/public/assets/icons/fill/currency-btc-fill.svg +1 -0
  1982. package/vendor/public/assets/icons/fill/currency-circle-dollar-fill.svg +1 -0
  1983. package/vendor/public/assets/icons/fill/currency-cny-fill.svg +1 -0
  1984. package/vendor/public/assets/icons/fill/currency-dollar-fill.svg +1 -0
  1985. package/vendor/public/assets/icons/fill/currency-dollar-simple-fill.svg +1 -0
  1986. package/vendor/public/assets/icons/fill/currency-eth-fill.svg +1 -0
  1987. package/vendor/public/assets/icons/fill/currency-eur-fill.svg +1 -0
  1988. package/vendor/public/assets/icons/fill/currency-gbp-fill.svg +1 -0
  1989. package/vendor/public/assets/icons/fill/currency-inr-fill.svg +1 -0
  1990. package/vendor/public/assets/icons/fill/currency-jpy-fill.svg +1 -0
  1991. package/vendor/public/assets/icons/fill/currency-krw-fill.svg +1 -0
  1992. package/vendor/public/assets/icons/fill/currency-kzt-fill.svg +1 -0
  1993. package/vendor/public/assets/icons/fill/currency-ngn-fill.svg +1 -0
  1994. package/vendor/public/assets/icons/fill/currency-rub-fill.svg +1 -0
  1995. package/vendor/public/assets/icons/fill/cursor-click-fill.svg +1 -0
  1996. package/vendor/public/assets/icons/fill/cursor-fill.svg +1 -0
  1997. package/vendor/public/assets/icons/fill/cursor-text-fill.svg +1 -0
  1998. package/vendor/public/assets/icons/fill/cylinder-fill.svg +1 -0
  1999. package/vendor/public/assets/icons/fill/database-fill.svg +1 -0
  2000. package/vendor/public/assets/icons/fill/desk-fill.svg +1 -0
  2001. package/vendor/public/assets/icons/fill/desktop-fill.svg +1 -0
  2002. package/vendor/public/assets/icons/fill/desktop-tower-fill.svg +1 -0
  2003. package/vendor/public/assets/icons/fill/detective-fill.svg +1 -0
  2004. package/vendor/public/assets/icons/fill/dev-to-logo-fill.svg +1 -0
  2005. package/vendor/public/assets/icons/fill/device-mobile-camera-fill.svg +1 -0
  2006. package/vendor/public/assets/icons/fill/device-mobile-fill.svg +1 -0
  2007. package/vendor/public/assets/icons/fill/device-mobile-slash-fill.svg +1 -0
  2008. package/vendor/public/assets/icons/fill/device-mobile-speaker-fill.svg +1 -0
  2009. package/vendor/public/assets/icons/fill/device-rotate-fill.svg +1 -0
  2010. package/vendor/public/assets/icons/fill/device-tablet-camera-fill.svg +1 -0
  2011. package/vendor/public/assets/icons/fill/device-tablet-fill.svg +1 -0
  2012. package/vendor/public/assets/icons/fill/device-tablet-speaker-fill.svg +1 -0
  2013. package/vendor/public/assets/icons/fill/devices-fill.svg +1 -0
  2014. package/vendor/public/assets/icons/fill/diamond-fill.svg +1 -0
  2015. package/vendor/public/assets/icons/fill/diamonds-four-fill.svg +1 -0
  2016. package/vendor/public/assets/icons/fill/dice-five-fill.svg +1 -0
  2017. package/vendor/public/assets/icons/fill/dice-four-fill.svg +1 -0
  2018. package/vendor/public/assets/icons/fill/dice-one-fill.svg +1 -0
  2019. package/vendor/public/assets/icons/fill/dice-six-fill.svg +1 -0
  2020. package/vendor/public/assets/icons/fill/dice-three-fill.svg +1 -0
  2021. package/vendor/public/assets/icons/fill/dice-two-fill.svg +1 -0
  2022. package/vendor/public/assets/icons/fill/disc-fill.svg +1 -0
  2023. package/vendor/public/assets/icons/fill/disco-ball-fill.svg +1 -0
  2024. package/vendor/public/assets/icons/fill/discord-logo-fill.svg +1 -0
  2025. package/vendor/public/assets/icons/fill/divide-fill.svg +1 -0
  2026. package/vendor/public/assets/icons/fill/dna-fill.svg +1 -0
  2027. package/vendor/public/assets/icons/fill/dog-fill.svg +1 -0
  2028. package/vendor/public/assets/icons/fill/door-fill.svg +1 -0
  2029. package/vendor/public/assets/icons/fill/door-open-fill.svg +1 -0
  2030. package/vendor/public/assets/icons/fill/dot-fill.svg +1 -0
  2031. package/vendor/public/assets/icons/fill/dot-outline-fill.svg +1 -0
  2032. package/vendor/public/assets/icons/fill/dots-nine-fill.svg +1 -0
  2033. package/vendor/public/assets/icons/fill/dots-six-fill.svg +1 -0
  2034. package/vendor/public/assets/icons/fill/dots-six-vertical-fill.svg +1 -0
  2035. package/vendor/public/assets/icons/fill/dots-three-circle-fill.svg +1 -0
  2036. package/vendor/public/assets/icons/fill/dots-three-circle-vertical-fill.svg +1 -0
  2037. package/vendor/public/assets/icons/fill/dots-three-fill.svg +1 -0
  2038. package/vendor/public/assets/icons/fill/dots-three-outline-fill.svg +1 -0
  2039. package/vendor/public/assets/icons/fill/dots-three-outline-vertical-fill.svg +1 -0
  2040. package/vendor/public/assets/icons/fill/dots-three-vertical-fill.svg +1 -0
  2041. package/vendor/public/assets/icons/fill/download-fill.svg +1 -0
  2042. package/vendor/public/assets/icons/fill/download-simple-fill.svg +1 -0
  2043. package/vendor/public/assets/icons/fill/dress-fill.svg +1 -0
  2044. package/vendor/public/assets/icons/fill/dresser-fill.svg +1 -0
  2045. package/vendor/public/assets/icons/fill/dribbble-logo-fill.svg +1 -0
  2046. package/vendor/public/assets/icons/fill/drone-fill.svg +1 -0
  2047. package/vendor/public/assets/icons/fill/drop-fill.svg +1 -0
  2048. package/vendor/public/assets/icons/fill/drop-half-bottom-fill.svg +1 -0
  2049. package/vendor/public/assets/icons/fill/drop-half-fill.svg +1 -0
  2050. package/vendor/public/assets/icons/fill/drop-simple-fill.svg +1 -0
  2051. package/vendor/public/assets/icons/fill/drop-slash-fill.svg +1 -0
  2052. package/vendor/public/assets/icons/fill/dropbox-logo-fill.svg +1 -0
  2053. package/vendor/public/assets/icons/fill/ear-fill.svg +1 -0
  2054. package/vendor/public/assets/icons/fill/ear-slash-fill.svg +1 -0
  2055. package/vendor/public/assets/icons/fill/egg-crack-fill.svg +1 -0
  2056. package/vendor/public/assets/icons/fill/egg-fill.svg +1 -0
  2057. package/vendor/public/assets/icons/fill/eject-fill.svg +1 -0
  2058. package/vendor/public/assets/icons/fill/eject-simple-fill.svg +1 -0
  2059. package/vendor/public/assets/icons/fill/elevator-fill.svg +1 -0
  2060. package/vendor/public/assets/icons/fill/empty-fill.svg +1 -0
  2061. package/vendor/public/assets/icons/fill/engine-fill.svg +1 -0
  2062. package/vendor/public/assets/icons/fill/envelope-fill.svg +1 -0
  2063. package/vendor/public/assets/icons/fill/envelope-open-fill.svg +1 -0
  2064. package/vendor/public/assets/icons/fill/envelope-simple-fill.svg +1 -0
  2065. package/vendor/public/assets/icons/fill/envelope-simple-open-fill.svg +1 -0
  2066. package/vendor/public/assets/icons/fill/equalizer-fill.svg +1 -0
  2067. package/vendor/public/assets/icons/fill/equals-fill.svg +1 -0
  2068. package/vendor/public/assets/icons/fill/eraser-fill.svg +1 -0
  2069. package/vendor/public/assets/icons/fill/escalator-down-fill.svg +1 -0
  2070. package/vendor/public/assets/icons/fill/escalator-up-fill.svg +1 -0
  2071. package/vendor/public/assets/icons/fill/exam-fill.svg +1 -0
  2072. package/vendor/public/assets/icons/fill/exclamation-mark-fill.svg +1 -0
  2073. package/vendor/public/assets/icons/fill/exclude-fill.svg +1 -0
  2074. package/vendor/public/assets/icons/fill/exclude-square-fill.svg +1 -0
  2075. package/vendor/public/assets/icons/fill/export-fill.svg +1 -0
  2076. package/vendor/public/assets/icons/fill/eye-closed-fill.svg +1 -0
  2077. package/vendor/public/assets/icons/fill/eye-fill.svg +1 -0
  2078. package/vendor/public/assets/icons/fill/eye-slash-fill.svg +1 -0
  2079. package/vendor/public/assets/icons/fill/eyedropper-fill.svg +1 -0
  2080. package/vendor/public/assets/icons/fill/eyedropper-sample-fill.svg +1 -0
  2081. package/vendor/public/assets/icons/fill/eyeglasses-fill.svg +1 -0
  2082. package/vendor/public/assets/icons/fill/eyes-fill.svg +1 -0
  2083. package/vendor/public/assets/icons/fill/face-mask-fill.svg +1 -0
  2084. package/vendor/public/assets/icons/fill/facebook-logo-fill.svg +1 -0
  2085. package/vendor/public/assets/icons/fill/factory-fill.svg +1 -0
  2086. package/vendor/public/assets/icons/fill/faders-fill.svg +1 -0
  2087. package/vendor/public/assets/icons/fill/faders-horizontal-fill.svg +1 -0
  2088. package/vendor/public/assets/icons/fill/fallout-shelter-fill.svg +1 -0
  2089. package/vendor/public/assets/icons/fill/fan-fill.svg +1 -0
  2090. package/vendor/public/assets/icons/fill/farm-fill.svg +1 -0
  2091. package/vendor/public/assets/icons/fill/fast-forward-circle-fill.svg +1 -0
  2092. package/vendor/public/assets/icons/fill/fast-forward-fill.svg +1 -0
  2093. package/vendor/public/assets/icons/fill/feather-fill.svg +1 -0
  2094. package/vendor/public/assets/icons/fill/fediverse-logo-fill.svg +1 -0
  2095. package/vendor/public/assets/icons/fill/figma-logo-fill.svg +1 -0
  2096. package/vendor/public/assets/icons/fill/file-archive-fill.svg +1 -0
  2097. package/vendor/public/assets/icons/fill/file-arrow-down-fill.svg +1 -0
  2098. package/vendor/public/assets/icons/fill/file-arrow-up-fill.svg +1 -0
  2099. package/vendor/public/assets/icons/fill/file-audio-fill.svg +1 -0
  2100. package/vendor/public/assets/icons/fill/file-c-fill.svg +1 -0
  2101. package/vendor/public/assets/icons/fill/file-c-sharp-fill.svg +1 -0
  2102. package/vendor/public/assets/icons/fill/file-cloud-fill.svg +1 -0
  2103. package/vendor/public/assets/icons/fill/file-code-fill.svg +1 -0
  2104. package/vendor/public/assets/icons/fill/file-cpp-fill.svg +1 -0
  2105. package/vendor/public/assets/icons/fill/file-css-fill.svg +1 -0
  2106. package/vendor/public/assets/icons/fill/file-csv-fill.svg +1 -0
  2107. package/vendor/public/assets/icons/fill/file-dashed-fill.svg +1 -0
  2108. package/vendor/public/assets/icons/fill/file-doc-fill.svg +1 -0
  2109. package/vendor/public/assets/icons/fill/file-fill.svg +1 -0
  2110. package/vendor/public/assets/icons/fill/file-html-fill.svg +1 -0
  2111. package/vendor/public/assets/icons/fill/file-image-fill.svg +1 -0
  2112. package/vendor/public/assets/icons/fill/file-ini-fill.svg +1 -0
  2113. package/vendor/public/assets/icons/fill/file-jpg-fill.svg +1 -0
  2114. package/vendor/public/assets/icons/fill/file-js-fill.svg +1 -0
  2115. package/vendor/public/assets/icons/fill/file-jsx-fill.svg +1 -0
  2116. package/vendor/public/assets/icons/fill/file-lock-fill.svg +1 -0
  2117. package/vendor/public/assets/icons/fill/file-magnifying-glass-fill.svg +1 -0
  2118. package/vendor/public/assets/icons/fill/file-md-fill.svg +1 -0
  2119. package/vendor/public/assets/icons/fill/file-minus-fill.svg +1 -0
  2120. package/vendor/public/assets/icons/fill/file-pdf-fill.svg +1 -0
  2121. package/vendor/public/assets/icons/fill/file-plus-fill.svg +1 -0
  2122. package/vendor/public/assets/icons/fill/file-png-fill.svg +1 -0
  2123. package/vendor/public/assets/icons/fill/file-ppt-fill.svg +1 -0
  2124. package/vendor/public/assets/icons/fill/file-py-fill.svg +1 -0
  2125. package/vendor/public/assets/icons/fill/file-rs-fill.svg +1 -0
  2126. package/vendor/public/assets/icons/fill/file-sql-fill.svg +1 -0
  2127. package/vendor/public/assets/icons/fill/file-svg-fill.svg +1 -0
  2128. package/vendor/public/assets/icons/fill/file-text-fill.svg +1 -0
  2129. package/vendor/public/assets/icons/fill/file-ts-fill.svg +1 -0
  2130. package/vendor/public/assets/icons/fill/file-tsx-fill.svg +1 -0
  2131. package/vendor/public/assets/icons/fill/file-txt-fill.svg +1 -0
  2132. package/vendor/public/assets/icons/fill/file-video-fill.svg +1 -0
  2133. package/vendor/public/assets/icons/fill/file-vue-fill.svg +1 -0
  2134. package/vendor/public/assets/icons/fill/file-x-fill.svg +1 -0
  2135. package/vendor/public/assets/icons/fill/file-xls-fill.svg +1 -0
  2136. package/vendor/public/assets/icons/fill/file-zip-fill.svg +1 -0
  2137. package/vendor/public/assets/icons/fill/files-fill.svg +1 -0
  2138. package/vendor/public/assets/icons/fill/film-reel-fill.svg +1 -0
  2139. package/vendor/public/assets/icons/fill/film-script-fill.svg +1 -0
  2140. package/vendor/public/assets/icons/fill/film-slate-fill.svg +1 -0
  2141. package/vendor/public/assets/icons/fill/film-strip-fill.svg +1 -0
  2142. package/vendor/public/assets/icons/fill/fingerprint-fill.svg +1 -0
  2143. package/vendor/public/assets/icons/fill/fingerprint-simple-fill.svg +1 -0
  2144. package/vendor/public/assets/icons/fill/finn-the-human-fill.svg +1 -0
  2145. package/vendor/public/assets/icons/fill/fire-extinguisher-fill.svg +1 -0
  2146. package/vendor/public/assets/icons/fill/fire-fill.svg +1 -0
  2147. package/vendor/public/assets/icons/fill/fire-simple-fill.svg +1 -0
  2148. package/vendor/public/assets/icons/fill/fire-truck-fill.svg +1 -0
  2149. package/vendor/public/assets/icons/fill/first-aid-fill.svg +1 -0
  2150. package/vendor/public/assets/icons/fill/first-aid-kit-fill.svg +1 -0
  2151. package/vendor/public/assets/icons/fill/fish-fill.svg +1 -0
  2152. package/vendor/public/assets/icons/fill/fish-simple-fill.svg +1 -0
  2153. package/vendor/public/assets/icons/fill/flag-banner-fill.svg +1 -0
  2154. package/vendor/public/assets/icons/fill/flag-banner-fold-fill.svg +1 -0
  2155. package/vendor/public/assets/icons/fill/flag-checkered-fill.svg +1 -0
  2156. package/vendor/public/assets/icons/fill/flag-fill.svg +1 -0
  2157. package/vendor/public/assets/icons/fill/flag-pennant-fill.svg +1 -0
  2158. package/vendor/public/assets/icons/fill/flame-fill.svg +1 -0
  2159. package/vendor/public/assets/icons/fill/flashlight-fill.svg +1 -0
  2160. package/vendor/public/assets/icons/fill/flask-fill.svg +1 -0
  2161. package/vendor/public/assets/icons/fill/flip-horizontal-fill.svg +1 -0
  2162. package/vendor/public/assets/icons/fill/flip-vertical-fill.svg +1 -0
  2163. package/vendor/public/assets/icons/fill/floppy-disk-back-fill.svg +1 -0
  2164. package/vendor/public/assets/icons/fill/floppy-disk-fill.svg +1 -0
  2165. package/vendor/public/assets/icons/fill/flow-arrow-fill.svg +1 -0
  2166. package/vendor/public/assets/icons/fill/flower-fill.svg +1 -0
  2167. package/vendor/public/assets/icons/fill/flower-lotus-fill.svg +1 -0
  2168. package/vendor/public/assets/icons/fill/flower-tulip-fill.svg +1 -0
  2169. package/vendor/public/assets/icons/fill/flying-saucer-fill.svg +1 -0
  2170. package/vendor/public/assets/icons/fill/folder-dashed-fill.svg +1 -0
  2171. package/vendor/public/assets/icons/fill/folder-fill.svg +1 -0
  2172. package/vendor/public/assets/icons/fill/folder-lock-fill.svg +1 -0
  2173. package/vendor/public/assets/icons/fill/folder-minus-fill.svg +1 -0
  2174. package/vendor/public/assets/icons/fill/folder-open-fill.svg +1 -0
  2175. package/vendor/public/assets/icons/fill/folder-plus-fill.svg +1 -0
  2176. package/vendor/public/assets/icons/fill/folder-simple-dashed-fill.svg +1 -0
  2177. package/vendor/public/assets/icons/fill/folder-simple-fill.svg +1 -0
  2178. package/vendor/public/assets/icons/fill/folder-simple-lock-fill.svg +1 -0
  2179. package/vendor/public/assets/icons/fill/folder-simple-minus-fill.svg +1 -0
  2180. package/vendor/public/assets/icons/fill/folder-simple-plus-fill.svg +1 -0
  2181. package/vendor/public/assets/icons/fill/folder-simple-star-fill.svg +1 -0
  2182. package/vendor/public/assets/icons/fill/folder-simple-user-fill.svg +1 -0
  2183. package/vendor/public/assets/icons/fill/folder-star-fill.svg +1 -0
  2184. package/vendor/public/assets/icons/fill/folder-user-fill.svg +1 -0
  2185. package/vendor/public/assets/icons/fill/folders-fill.svg +1 -0
  2186. package/vendor/public/assets/icons/fill/football-fill.svg +1 -0
  2187. package/vendor/public/assets/icons/fill/football-helmet-fill.svg +1 -0
  2188. package/vendor/public/assets/icons/fill/footprints-fill.svg +1 -0
  2189. package/vendor/public/assets/icons/fill/fork-knife-fill.svg +1 -0
  2190. package/vendor/public/assets/icons/fill/four-k-fill.svg +1 -0
  2191. package/vendor/public/assets/icons/fill/frame-corners-fill.svg +1 -0
  2192. package/vendor/public/assets/icons/fill/framer-logo-fill.svg +1 -0
  2193. package/vendor/public/assets/icons/fill/function-fill.svg +1 -0
  2194. package/vendor/public/assets/icons/fill/funnel-fill.svg +1 -0
  2195. package/vendor/public/assets/icons/fill/funnel-simple-fill.svg +1 -0
  2196. package/vendor/public/assets/icons/fill/funnel-simple-x-fill.svg +1 -0
  2197. package/vendor/public/assets/icons/fill/funnel-x-fill.svg +1 -0
  2198. package/vendor/public/assets/icons/fill/game-controller-fill.svg +1 -0
  2199. package/vendor/public/assets/icons/fill/garage-fill.svg +1 -0
  2200. package/vendor/public/assets/icons/fill/gas-can-fill.svg +1 -0
  2201. package/vendor/public/assets/icons/fill/gas-pump-fill.svg +1 -0
  2202. package/vendor/public/assets/icons/fill/gauge-fill.svg +1 -0
  2203. package/vendor/public/assets/icons/fill/gavel-fill.svg +1 -0
  2204. package/vendor/public/assets/icons/fill/gear-fill.svg +1 -0
  2205. package/vendor/public/assets/icons/fill/gear-fine-fill.svg +1 -0
  2206. package/vendor/public/assets/icons/fill/gear-six-fill.svg +1 -0
  2207. package/vendor/public/assets/icons/fill/gender-female-fill.svg +1 -0
  2208. package/vendor/public/assets/icons/fill/gender-intersex-fill.svg +1 -0
  2209. package/vendor/public/assets/icons/fill/gender-male-fill.svg +1 -0
  2210. package/vendor/public/assets/icons/fill/gender-neuter-fill.svg +1 -0
  2211. package/vendor/public/assets/icons/fill/gender-nonbinary-fill.svg +1 -0
  2212. package/vendor/public/assets/icons/fill/gender-transgender-fill.svg +1 -0
  2213. package/vendor/public/assets/icons/fill/ghost-fill.svg +1 -0
  2214. package/vendor/public/assets/icons/fill/gif-fill.svg +1 -0
  2215. package/vendor/public/assets/icons/fill/gift-fill.svg +1 -0
  2216. package/vendor/public/assets/icons/fill/git-branch-fill.svg +1 -0
  2217. package/vendor/public/assets/icons/fill/git-commit-fill.svg +1 -0
  2218. package/vendor/public/assets/icons/fill/git-diff-fill.svg +1 -0
  2219. package/vendor/public/assets/icons/fill/git-fork-fill.svg +1 -0
  2220. package/vendor/public/assets/icons/fill/git-merge-fill.svg +1 -0
  2221. package/vendor/public/assets/icons/fill/git-pull-request-fill.svg +1 -0
  2222. package/vendor/public/assets/icons/fill/github-logo-fill.svg +1 -0
  2223. package/vendor/public/assets/icons/fill/gitlab-logo-fill.svg +1 -0
  2224. package/vendor/public/assets/icons/fill/gitlab-logo-simple-fill.svg +1 -0
  2225. package/vendor/public/assets/icons/fill/globe-fill.svg +1 -0
  2226. package/vendor/public/assets/icons/fill/globe-hemisphere-east-fill.svg +1 -0
  2227. package/vendor/public/assets/icons/fill/globe-hemisphere-west-fill.svg +1 -0
  2228. package/vendor/public/assets/icons/fill/globe-simple-fill.svg +1 -0
  2229. package/vendor/public/assets/icons/fill/globe-simple-x-fill.svg +1 -0
  2230. package/vendor/public/assets/icons/fill/globe-stand-fill.svg +1 -0
  2231. package/vendor/public/assets/icons/fill/globe-x-fill.svg +1 -0
  2232. package/vendor/public/assets/icons/fill/goggles-fill.svg +1 -0
  2233. package/vendor/public/assets/icons/fill/golf-fill.svg +1 -0
  2234. package/vendor/public/assets/icons/fill/goodreads-logo-fill.svg +1 -0
  2235. package/vendor/public/assets/icons/fill/google-cardboard-logo-fill.svg +1 -0
  2236. package/vendor/public/assets/icons/fill/google-chrome-logo-fill.svg +1 -0
  2237. package/vendor/public/assets/icons/fill/google-drive-logo-fill.svg +1 -0
  2238. package/vendor/public/assets/icons/fill/google-logo-fill.svg +1 -0
  2239. package/vendor/public/assets/icons/fill/google-photos-logo-fill.svg +1 -0
  2240. package/vendor/public/assets/icons/fill/google-play-logo-fill.svg +1 -0
  2241. package/vendor/public/assets/icons/fill/google-podcasts-logo-fill.svg +1 -0
  2242. package/vendor/public/assets/icons/fill/gps-fill.svg +1 -0
  2243. package/vendor/public/assets/icons/fill/gps-fix-fill.svg +1 -0
  2244. package/vendor/public/assets/icons/fill/gps-slash-fill.svg +1 -0
  2245. package/vendor/public/assets/icons/fill/gradient-fill.svg +1 -0
  2246. package/vendor/public/assets/icons/fill/graduation-cap-fill.svg +1 -0
  2247. package/vendor/public/assets/icons/fill/grains-fill.svg +1 -0
  2248. package/vendor/public/assets/icons/fill/grains-slash-fill.svg +1 -0
  2249. package/vendor/public/assets/icons/fill/graph-fill.svg +1 -0
  2250. package/vendor/public/assets/icons/fill/graphics-card-fill.svg +1 -0
  2251. package/vendor/public/assets/icons/fill/greater-than-fill.svg +1 -0
  2252. package/vendor/public/assets/icons/fill/greater-than-or-equal-fill.svg +1 -0
  2253. package/vendor/public/assets/icons/fill/grid-four-fill.svg +1 -0
  2254. package/vendor/public/assets/icons/fill/grid-nine-fill.svg +1 -0
  2255. package/vendor/public/assets/icons/fill/guitar-fill.svg +1 -0
  2256. package/vendor/public/assets/icons/fill/hair-dryer-fill.svg +1 -0
  2257. package/vendor/public/assets/icons/fill/hamburger-fill.svg +1 -0
  2258. package/vendor/public/assets/icons/fill/hammer-fill.svg +1 -0
  2259. package/vendor/public/assets/icons/fill/hand-arrow-down-fill.svg +1 -0
  2260. package/vendor/public/assets/icons/fill/hand-arrow-up-fill.svg +1 -0
  2261. package/vendor/public/assets/icons/fill/hand-coins-fill.svg +1 -0
  2262. package/vendor/public/assets/icons/fill/hand-deposit-fill.svg +1 -0
  2263. package/vendor/public/assets/icons/fill/hand-eye-fill.svg +1 -0
  2264. package/vendor/public/assets/icons/fill/hand-fill.svg +1 -0
  2265. package/vendor/public/assets/icons/fill/hand-fist-fill.svg +1 -0
  2266. package/vendor/public/assets/icons/fill/hand-grabbing-fill.svg +1 -0
  2267. package/vendor/public/assets/icons/fill/hand-heart-fill.svg +1 -0
  2268. package/vendor/public/assets/icons/fill/hand-palm-fill.svg +1 -0
  2269. package/vendor/public/assets/icons/fill/hand-peace-fill.svg +1 -0
  2270. package/vendor/public/assets/icons/fill/hand-pointing-fill.svg +1 -0
  2271. package/vendor/public/assets/icons/fill/hand-soap-fill.svg +1 -0
  2272. package/vendor/public/assets/icons/fill/hand-swipe-left-fill.svg +1 -0
  2273. package/vendor/public/assets/icons/fill/hand-swipe-right-fill.svg +1 -0
  2274. package/vendor/public/assets/icons/fill/hand-tap-fill.svg +1 -0
  2275. package/vendor/public/assets/icons/fill/hand-waving-fill.svg +1 -0
  2276. package/vendor/public/assets/icons/fill/hand-withdraw-fill.svg +1 -0
  2277. package/vendor/public/assets/icons/fill/handbag-fill.svg +1 -0
  2278. package/vendor/public/assets/icons/fill/handbag-simple-fill.svg +1 -0
  2279. package/vendor/public/assets/icons/fill/hands-clapping-fill.svg +1 -0
  2280. package/vendor/public/assets/icons/fill/hands-praying-fill.svg +1 -0
  2281. package/vendor/public/assets/icons/fill/handshake-fill.svg +1 -0
  2282. package/vendor/public/assets/icons/fill/hard-drive-fill.svg +1 -0
  2283. package/vendor/public/assets/icons/fill/hard-drives-fill.svg +1 -0
  2284. package/vendor/public/assets/icons/fill/hard-hat-fill.svg +1 -0
  2285. package/vendor/public/assets/icons/fill/hash-fill.svg +1 -0
  2286. package/vendor/public/assets/icons/fill/hash-straight-fill.svg +1 -0
  2287. package/vendor/public/assets/icons/fill/head-circuit-fill.svg +1 -0
  2288. package/vendor/public/assets/icons/fill/headlights-fill.svg +1 -0
  2289. package/vendor/public/assets/icons/fill/headphones-fill.svg +1 -0
  2290. package/vendor/public/assets/icons/fill/headset-fill.svg +1 -0
  2291. package/vendor/public/assets/icons/fill/heart-break-fill.svg +1 -0
  2292. package/vendor/public/assets/icons/fill/heart-fill.svg +1 -0
  2293. package/vendor/public/assets/icons/fill/heart-half-fill.svg +1 -0
  2294. package/vendor/public/assets/icons/fill/heart-straight-break-fill.svg +1 -0
  2295. package/vendor/public/assets/icons/fill/heart-straight-fill.svg +1 -0
  2296. package/vendor/public/assets/icons/fill/heartbeat-fill.svg +1 -0
  2297. package/vendor/public/assets/icons/fill/hexagon-fill.svg +1 -0
  2298. package/vendor/public/assets/icons/fill/high-definition-fill.svg +1 -0
  2299. package/vendor/public/assets/icons/fill/high-heel-fill.svg +1 -0
  2300. package/vendor/public/assets/icons/fill/highlighter-circle-fill.svg +1 -0
  2301. package/vendor/public/assets/icons/fill/highlighter-fill.svg +1 -0
  2302. package/vendor/public/assets/icons/fill/hockey-fill.svg +1 -0
  2303. package/vendor/public/assets/icons/fill/hoodie-fill.svg +1 -0
  2304. package/vendor/public/assets/icons/fill/horse-fill.svg +1 -0
  2305. package/vendor/public/assets/icons/fill/hospital-fill.svg +1 -0
  2306. package/vendor/public/assets/icons/fill/hourglass-fill.svg +1 -0
  2307. package/vendor/public/assets/icons/fill/hourglass-high-fill.svg +1 -0
  2308. package/vendor/public/assets/icons/fill/hourglass-low-fill.svg +1 -0
  2309. package/vendor/public/assets/icons/fill/hourglass-medium-fill.svg +1 -0
  2310. package/vendor/public/assets/icons/fill/hourglass-simple-fill.svg +1 -0
  2311. package/vendor/public/assets/icons/fill/hourglass-simple-high-fill.svg +1 -0
  2312. package/vendor/public/assets/icons/fill/hourglass-simple-low-fill.svg +1 -0
  2313. package/vendor/public/assets/icons/fill/hourglass-simple-medium-fill.svg +1 -0
  2314. package/vendor/public/assets/icons/fill/house-fill.svg +1 -0
  2315. package/vendor/public/assets/icons/fill/house-line-fill.svg +1 -0
  2316. package/vendor/public/assets/icons/fill/house-simple-fill.svg +1 -0
  2317. package/vendor/public/assets/icons/fill/hurricane-fill.svg +1 -0
  2318. package/vendor/public/assets/icons/fill/ice-cream-fill.svg +1 -0
  2319. package/vendor/public/assets/icons/fill/identification-badge-fill.svg +1 -0
  2320. package/vendor/public/assets/icons/fill/identification-card-fill.svg +1 -0
  2321. package/vendor/public/assets/icons/fill/image-broken-fill.svg +1 -0
  2322. package/vendor/public/assets/icons/fill/image-fill.svg +1 -0
  2323. package/vendor/public/assets/icons/fill/image-square-fill.svg +1 -0
  2324. package/vendor/public/assets/icons/fill/images-fill.svg +1 -0
  2325. package/vendor/public/assets/icons/fill/images-square-fill.svg +1 -0
  2326. package/vendor/public/assets/icons/fill/infinity-fill.svg +1 -0
  2327. package/vendor/public/assets/icons/fill/info-fill.svg +1 -0
  2328. package/vendor/public/assets/icons/fill/instagram-logo-fill.svg +1 -0
  2329. package/vendor/public/assets/icons/fill/intersect-fill.svg +1 -0
  2330. package/vendor/public/assets/icons/fill/intersect-square-fill.svg +1 -0
  2331. package/vendor/public/assets/icons/fill/intersect-three-fill.svg +1 -0
  2332. package/vendor/public/assets/icons/fill/intersection-fill.svg +1 -0
  2333. package/vendor/public/assets/icons/fill/invoice-fill.svg +1 -0
  2334. package/vendor/public/assets/icons/fill/island-fill.svg +1 -0
  2335. package/vendor/public/assets/icons/fill/jar-fill.svg +1 -0
  2336. package/vendor/public/assets/icons/fill/jar-label-fill.svg +1 -0
  2337. package/vendor/public/assets/icons/fill/jeep-fill.svg +1 -0
  2338. package/vendor/public/assets/icons/fill/joystick-fill.svg +1 -0
  2339. package/vendor/public/assets/icons/fill/kanban-fill.svg +1 -0
  2340. package/vendor/public/assets/icons/fill/key-fill.svg +1 -0
  2341. package/vendor/public/assets/icons/fill/key-return-fill.svg +1 -0
  2342. package/vendor/public/assets/icons/fill/keyboard-fill.svg +1 -0
  2343. package/vendor/public/assets/icons/fill/keyhole-fill.svg +1 -0
  2344. package/vendor/public/assets/icons/fill/knife-fill.svg +1 -0
  2345. package/vendor/public/assets/icons/fill/ladder-fill.svg +1 -0
  2346. package/vendor/public/assets/icons/fill/ladder-simple-fill.svg +1 -0
  2347. package/vendor/public/assets/icons/fill/lamp-fill.svg +1 -0
  2348. package/vendor/public/assets/icons/fill/lamp-pendant-fill.svg +1 -0
  2349. package/vendor/public/assets/icons/fill/laptop-fill.svg +1 -0
  2350. package/vendor/public/assets/icons/fill/lasso-fill.svg +1 -0
  2351. package/vendor/public/assets/icons/fill/lastfm-logo-fill.svg +1 -0
  2352. package/vendor/public/assets/icons/fill/layout-fill.svg +1 -0
  2353. package/vendor/public/assets/icons/fill/leaf-fill.svg +1 -0
  2354. package/vendor/public/assets/icons/fill/lectern-fill.svg +1 -0
  2355. package/vendor/public/assets/icons/fill/lego-fill.svg +1 -0
  2356. package/vendor/public/assets/icons/fill/lego-smiley-fill.svg +1 -0
  2357. package/vendor/public/assets/icons/fill/less-than-fill.svg +1 -0
  2358. package/vendor/public/assets/icons/fill/less-than-or-equal-fill.svg +1 -0
  2359. package/vendor/public/assets/icons/fill/letter-circle-h-fill.svg +1 -0
  2360. package/vendor/public/assets/icons/fill/letter-circle-p-fill.svg +1 -0
  2361. package/vendor/public/assets/icons/fill/letter-circle-v-fill.svg +1 -0
  2362. package/vendor/public/assets/icons/fill/lifebuoy-fill.svg +1 -0
  2363. package/vendor/public/assets/icons/fill/lightbulb-filament-fill.svg +1 -0
  2364. package/vendor/public/assets/icons/fill/lightbulb-fill.svg +1 -0
  2365. package/vendor/public/assets/icons/fill/lighthouse-fill.svg +1 -0
  2366. package/vendor/public/assets/icons/fill/lightning-a-fill.svg +1 -0
  2367. package/vendor/public/assets/icons/fill/lightning-fill.svg +1 -0
  2368. package/vendor/public/assets/icons/fill/lightning-slash-fill.svg +1 -0
  2369. package/vendor/public/assets/icons/fill/line-segment-fill.svg +1 -0
  2370. package/vendor/public/assets/icons/fill/line-segments-fill.svg +1 -0
  2371. package/vendor/public/assets/icons/fill/line-vertical-fill.svg +1 -0
  2372. package/vendor/public/assets/icons/fill/link-break-fill.svg +1 -0
  2373. package/vendor/public/assets/icons/fill/link-fill.svg +1 -0
  2374. package/vendor/public/assets/icons/fill/link-simple-break-fill.svg +1 -0
  2375. package/vendor/public/assets/icons/fill/link-simple-fill.svg +1 -0
  2376. package/vendor/public/assets/icons/fill/link-simple-horizontal-break-fill.svg +1 -0
  2377. package/vendor/public/assets/icons/fill/link-simple-horizontal-fill.svg +1 -0
  2378. package/vendor/public/assets/icons/fill/linkedin-logo-fill.svg +1 -0
  2379. package/vendor/public/assets/icons/fill/linktree-logo-fill.svg +1 -0
  2380. package/vendor/public/assets/icons/fill/linux-logo-fill.svg +1 -0
  2381. package/vendor/public/assets/icons/fill/list-bullets-fill.svg +1 -0
  2382. package/vendor/public/assets/icons/fill/list-checks-fill.svg +1 -0
  2383. package/vendor/public/assets/icons/fill/list-dashes-fill.svg +1 -0
  2384. package/vendor/public/assets/icons/fill/list-fill.svg +1 -0
  2385. package/vendor/public/assets/icons/fill/list-heart-fill.svg +1 -0
  2386. package/vendor/public/assets/icons/fill/list-magnifying-glass-fill.svg +1 -0
  2387. package/vendor/public/assets/icons/fill/list-numbers-fill.svg +1 -0
  2388. package/vendor/public/assets/icons/fill/list-plus-fill.svg +1 -0
  2389. package/vendor/public/assets/icons/fill/list-star-fill.svg +1 -0
  2390. package/vendor/public/assets/icons/fill/lock-fill.svg +1 -0
  2391. package/vendor/public/assets/icons/fill/lock-key-fill.svg +1 -0
  2392. package/vendor/public/assets/icons/fill/lock-key-open-fill.svg +1 -0
  2393. package/vendor/public/assets/icons/fill/lock-laminated-fill.svg +1 -0
  2394. package/vendor/public/assets/icons/fill/lock-laminated-open-fill.svg +1 -0
  2395. package/vendor/public/assets/icons/fill/lock-open-fill.svg +1 -0
  2396. package/vendor/public/assets/icons/fill/lock-simple-fill.svg +1 -0
  2397. package/vendor/public/assets/icons/fill/lock-simple-open-fill.svg +1 -0
  2398. package/vendor/public/assets/icons/fill/lockers-fill.svg +1 -0
  2399. package/vendor/public/assets/icons/fill/log-fill.svg +1 -0
  2400. package/vendor/public/assets/icons/fill/magic-wand-fill.svg +1 -0
  2401. package/vendor/public/assets/icons/fill/magnet-fill.svg +1 -0
  2402. package/vendor/public/assets/icons/fill/magnet-straight-fill.svg +1 -0
  2403. package/vendor/public/assets/icons/fill/magnifying-glass-fill.svg +1 -0
  2404. package/vendor/public/assets/icons/fill/magnifying-glass-minus-fill.svg +1 -0
  2405. package/vendor/public/assets/icons/fill/magnifying-glass-plus-fill.svg +1 -0
  2406. package/vendor/public/assets/icons/fill/mailbox-fill.svg +1 -0
  2407. package/vendor/public/assets/icons/fill/map-pin-area-fill.svg +1 -0
  2408. package/vendor/public/assets/icons/fill/map-pin-fill.svg +1 -0
  2409. package/vendor/public/assets/icons/fill/map-pin-line-fill.svg +1 -0
  2410. package/vendor/public/assets/icons/fill/map-pin-plus-fill.svg +1 -0
  2411. package/vendor/public/assets/icons/fill/map-pin-simple-area-fill.svg +1 -0
  2412. package/vendor/public/assets/icons/fill/map-pin-simple-fill.svg +1 -0
  2413. package/vendor/public/assets/icons/fill/map-pin-simple-line-fill.svg +1 -0
  2414. package/vendor/public/assets/icons/fill/map-trifold-fill.svg +1 -0
  2415. package/vendor/public/assets/icons/fill/markdown-logo-fill.svg +1 -0
  2416. package/vendor/public/assets/icons/fill/marker-circle-fill.svg +1 -0
  2417. package/vendor/public/assets/icons/fill/martini-fill.svg +1 -0
  2418. package/vendor/public/assets/icons/fill/mask-happy-fill.svg +1 -0
  2419. package/vendor/public/assets/icons/fill/mask-sad-fill.svg +1 -0
  2420. package/vendor/public/assets/icons/fill/mastodon-logo-fill.svg +1 -0
  2421. package/vendor/public/assets/icons/fill/math-operations-fill.svg +1 -0
  2422. package/vendor/public/assets/icons/fill/matrix-logo-fill.svg +1 -0
  2423. package/vendor/public/assets/icons/fill/medal-fill.svg +1 -0
  2424. package/vendor/public/assets/icons/fill/medal-military-fill.svg +1 -0
  2425. package/vendor/public/assets/icons/fill/medium-logo-fill.svg +1 -0
  2426. package/vendor/public/assets/icons/fill/megaphone-fill.svg +1 -0
  2427. package/vendor/public/assets/icons/fill/megaphone-simple-fill.svg +1 -0
  2428. package/vendor/public/assets/icons/fill/member-of-fill.svg +1 -0
  2429. package/vendor/public/assets/icons/fill/memory-fill.svg +1 -0
  2430. package/vendor/public/assets/icons/fill/menu-close-grab-fill.svg +10 -0
  2431. package/vendor/public/assets/icons/fill/menu-open-grab-fill.svg +13 -0
  2432. package/vendor/public/assets/icons/fill/messenger-logo-fill.svg +1 -0
  2433. package/vendor/public/assets/icons/fill/meta-logo-fill.svg +1 -0
  2434. package/vendor/public/assets/icons/fill/meteor-fill.svg +1 -0
  2435. package/vendor/public/assets/icons/fill/metronome-fill.svg +1 -0
  2436. package/vendor/public/assets/icons/fill/microphone-fill.svg +1 -0
  2437. package/vendor/public/assets/icons/fill/microphone-slash-fill.svg +1 -0
  2438. package/vendor/public/assets/icons/fill/microphone-stage-fill.svg +1 -0
  2439. package/vendor/public/assets/icons/fill/microscope-fill.svg +1 -0
  2440. package/vendor/public/assets/icons/fill/microsoft-excel-logo-fill.svg +1 -0
  2441. package/vendor/public/assets/icons/fill/microsoft-outlook-logo-fill.svg +1 -0
  2442. package/vendor/public/assets/icons/fill/microsoft-powerpoint-logo-fill.svg +1 -0
  2443. package/vendor/public/assets/icons/fill/microsoft-teams-logo-fill.svg +1 -0
  2444. package/vendor/public/assets/icons/fill/microsoft-word-logo-fill.svg +1 -0
  2445. package/vendor/public/assets/icons/fill/minus-circle-fill.svg +1 -0
  2446. package/vendor/public/assets/icons/fill/minus-fill.svg +1 -0
  2447. package/vendor/public/assets/icons/fill/minus-square-fill.svg +1 -0
  2448. package/vendor/public/assets/icons/fill/money-fill.svg +1 -0
  2449. package/vendor/public/assets/icons/fill/money-wavy-fill.svg +1 -0
  2450. package/vendor/public/assets/icons/fill/monitor-arrow-up-fill.svg +1 -0
  2451. package/vendor/public/assets/icons/fill/monitor-fill.svg +1 -0
  2452. package/vendor/public/assets/icons/fill/monitor-play-fill.svg +1 -0
  2453. package/vendor/public/assets/icons/fill/moon-fill.svg +1 -0
  2454. package/vendor/public/assets/icons/fill/moon-stars-fill.svg +1 -0
  2455. package/vendor/public/assets/icons/fill/moped-fill.svg +1 -0
  2456. package/vendor/public/assets/icons/fill/moped-front-fill.svg +1 -0
  2457. package/vendor/public/assets/icons/fill/mosque-fill.svg +1 -0
  2458. package/vendor/public/assets/icons/fill/motorcycle-fill.svg +1 -0
  2459. package/vendor/public/assets/icons/fill/mountains-fill.svg +1 -0
  2460. package/vendor/public/assets/icons/fill/mouse-fill.svg +1 -0
  2461. package/vendor/public/assets/icons/fill/mouse-left-click-fill.svg +1 -0
  2462. package/vendor/public/assets/icons/fill/mouse-middle-click-fill.svg +1 -0
  2463. package/vendor/public/assets/icons/fill/mouse-right-click-fill.svg +1 -0
  2464. package/vendor/public/assets/icons/fill/mouse-scroll-fill.svg +1 -0
  2465. package/vendor/public/assets/icons/fill/mouse-simple-fill.svg +1 -0
  2466. package/vendor/public/assets/icons/fill/music-note-fill.svg +1 -0
  2467. package/vendor/public/assets/icons/fill/music-note-simple-fill.svg +1 -0
  2468. package/vendor/public/assets/icons/fill/music-notes-fill.svg +1 -0
  2469. package/vendor/public/assets/icons/fill/music-notes-minus-fill.svg +1 -0
  2470. package/vendor/public/assets/icons/fill/music-notes-plus-fill.svg +1 -0
  2471. package/vendor/public/assets/icons/fill/music-notes-simple-fill.svg +1 -0
  2472. package/vendor/public/assets/icons/fill/navigation-arrow-fill.svg +1 -0
  2473. package/vendor/public/assets/icons/fill/navigation-arrow-left.svg +3 -0
  2474. package/vendor/public/assets/icons/fill/needle-fill.svg +1 -0
  2475. package/vendor/public/assets/icons/fill/network-fill.svg +1 -0
  2476. package/vendor/public/assets/icons/fill/network-slash-fill.svg +1 -0
  2477. package/vendor/public/assets/icons/fill/network-x-fill.svg +1 -0
  2478. package/vendor/public/assets/icons/fill/newspaper-clipping-fill.svg +1 -0
  2479. package/vendor/public/assets/icons/fill/newspaper-fill.svg +1 -0
  2480. package/vendor/public/assets/icons/fill/not-equals-fill.svg +1 -0
  2481. package/vendor/public/assets/icons/fill/not-member-of-fill.svg +1 -0
  2482. package/vendor/public/assets/icons/fill/not-subset-of-fill.svg +1 -0
  2483. package/vendor/public/assets/icons/fill/not-superset-of-fill.svg +1 -0
  2484. package/vendor/public/assets/icons/fill/notches-fill.svg +1 -0
  2485. package/vendor/public/assets/icons/fill/note-blank-fill.svg +1 -0
  2486. package/vendor/public/assets/icons/fill/note-fill.svg +1 -0
  2487. package/vendor/public/assets/icons/fill/note-pencil-fill.svg +1 -0
  2488. package/vendor/public/assets/icons/fill/notebook-fill.svg +1 -0
  2489. package/vendor/public/assets/icons/fill/notepad-fill.svg +1 -0
  2490. package/vendor/public/assets/icons/fill/notification-fill.svg +1 -0
  2491. package/vendor/public/assets/icons/fill/notion-logo-fill.svg +1 -0
  2492. package/vendor/public/assets/icons/fill/nuclear-plant-fill.svg +1 -0
  2493. package/vendor/public/assets/icons/fill/number-circle-eight-fill.svg +1 -0
  2494. package/vendor/public/assets/icons/fill/number-circle-five-fill.svg +1 -0
  2495. package/vendor/public/assets/icons/fill/number-circle-four-fill.svg +1 -0
  2496. package/vendor/public/assets/icons/fill/number-circle-nine-fill.svg +1 -0
  2497. package/vendor/public/assets/icons/fill/number-circle-one-fill.svg +1 -0
  2498. package/vendor/public/assets/icons/fill/number-circle-seven-fill.svg +1 -0
  2499. package/vendor/public/assets/icons/fill/number-circle-six-fill.svg +1 -0
  2500. package/vendor/public/assets/icons/fill/number-circle-three-fill.svg +1 -0
  2501. package/vendor/public/assets/icons/fill/number-circle-two-fill.svg +1 -0
  2502. package/vendor/public/assets/icons/fill/number-circle-zero-fill.svg +1 -0
  2503. package/vendor/public/assets/icons/fill/number-eight-fill.svg +1 -0
  2504. package/vendor/public/assets/icons/fill/number-five-fill.svg +1 -0
  2505. package/vendor/public/assets/icons/fill/number-four-fill.svg +1 -0
  2506. package/vendor/public/assets/icons/fill/number-nine-fill.svg +1 -0
  2507. package/vendor/public/assets/icons/fill/number-one-fill.svg +1 -0
  2508. package/vendor/public/assets/icons/fill/number-seven-fill.svg +1 -0
  2509. package/vendor/public/assets/icons/fill/number-six-fill.svg +1 -0
  2510. package/vendor/public/assets/icons/fill/number-square-eight-fill.svg +1 -0
  2511. package/vendor/public/assets/icons/fill/number-square-five-fill.svg +1 -0
  2512. package/vendor/public/assets/icons/fill/number-square-four-fill.svg +1 -0
  2513. package/vendor/public/assets/icons/fill/number-square-nine-fill.svg +1 -0
  2514. package/vendor/public/assets/icons/fill/number-square-one-fill.svg +1 -0
  2515. package/vendor/public/assets/icons/fill/number-square-seven-fill.svg +1 -0
  2516. package/vendor/public/assets/icons/fill/number-square-six-fill.svg +1 -0
  2517. package/vendor/public/assets/icons/fill/number-square-three-fill.svg +1 -0
  2518. package/vendor/public/assets/icons/fill/number-square-two-fill.svg +1 -0
  2519. package/vendor/public/assets/icons/fill/number-square-zero-fill.svg +1 -0
  2520. package/vendor/public/assets/icons/fill/number-three-fill.svg +1 -0
  2521. package/vendor/public/assets/icons/fill/number-two-fill.svg +1 -0
  2522. package/vendor/public/assets/icons/fill/number-zero-fill.svg +1 -0
  2523. package/vendor/public/assets/icons/fill/numpad-fill.svg +1 -0
  2524. package/vendor/public/assets/icons/fill/nut-fill.svg +1 -0
  2525. package/vendor/public/assets/icons/fill/ny-times-logo-fill.svg +1 -0
  2526. package/vendor/public/assets/icons/fill/octagon-fill.svg +1 -0
  2527. package/vendor/public/assets/icons/fill/office-chair-fill.svg +1 -0
  2528. package/vendor/public/assets/icons/fill/onigiri-fill.svg +1 -0
  2529. package/vendor/public/assets/icons/fill/open-ai-logo-fill.svg +1 -0
  2530. package/vendor/public/assets/icons/fill/option-fill.svg +1 -0
  2531. package/vendor/public/assets/icons/fill/orange-fill.svg +1 -0
  2532. package/vendor/public/assets/icons/fill/orange-slice-fill.svg +1 -0
  2533. package/vendor/public/assets/icons/fill/oven-fill.svg +1 -0
  2534. package/vendor/public/assets/icons/fill/package-fill.svg +1 -0
  2535. package/vendor/public/assets/icons/fill/paint-brush-broad-fill.svg +1 -0
  2536. package/vendor/public/assets/icons/fill/paint-brush-fill.svg +1 -0
  2537. package/vendor/public/assets/icons/fill/paint-brush-household-fill.svg +1 -0
  2538. package/vendor/public/assets/icons/fill/paint-bucket-fill.svg +1 -0
  2539. package/vendor/public/assets/icons/fill/paint-roller-fill.svg +1 -0
  2540. package/vendor/public/assets/icons/fill/palette-fill.svg +1 -0
  2541. package/vendor/public/assets/icons/fill/panorama-fill.svg +1 -0
  2542. package/vendor/public/assets/icons/fill/pants-fill.svg +1 -0
  2543. package/vendor/public/assets/icons/fill/paper-plane-fill.svg +1 -0
  2544. package/vendor/public/assets/icons/fill/paper-plane-right-fill.svg +1 -0
  2545. package/vendor/public/assets/icons/fill/paper-plane-tilt-fill.svg +1 -0
  2546. package/vendor/public/assets/icons/fill/paperclip-fill.svg +1 -0
  2547. package/vendor/public/assets/icons/fill/paperclip-horizontal-fill.svg +1 -0
  2548. package/vendor/public/assets/icons/fill/parachute-fill.svg +1 -0
  2549. package/vendor/public/assets/icons/fill/paragraph-fill.svg +1 -0
  2550. package/vendor/public/assets/icons/fill/parallelogram-fill.svg +1 -0
  2551. package/vendor/public/assets/icons/fill/park-fill.svg +1 -0
  2552. package/vendor/public/assets/icons/fill/password-fill.svg +1 -0
  2553. package/vendor/public/assets/icons/fill/path-fill.svg +1 -0
  2554. package/vendor/public/assets/icons/fill/patreon-logo-fill.svg +1 -0
  2555. package/vendor/public/assets/icons/fill/pause-circle-fill.svg +1 -0
  2556. package/vendor/public/assets/icons/fill/pause-fill.svg +1 -0
  2557. package/vendor/public/assets/icons/fill/paw-print-fill.svg +1 -0
  2558. package/vendor/public/assets/icons/fill/paypal-logo-fill.svg +1 -0
  2559. package/vendor/public/assets/icons/fill/peace-fill.svg +1 -0
  2560. package/vendor/public/assets/icons/fill/pen-fill.svg +1 -0
  2561. package/vendor/public/assets/icons/fill/pen-nib-fill.svg +1 -0
  2562. package/vendor/public/assets/icons/fill/pen-nib-straight-fill.svg +1 -0
  2563. package/vendor/public/assets/icons/fill/pencil-circle-fill.svg +1 -0
  2564. package/vendor/public/assets/icons/fill/pencil-fill.svg +1 -0
  2565. package/vendor/public/assets/icons/fill/pencil-line-fill.svg +1 -0
  2566. package/vendor/public/assets/icons/fill/pencil-ruler-fill.svg +1 -0
  2567. package/vendor/public/assets/icons/fill/pencil-simple-fill.svg +1 -0
  2568. package/vendor/public/assets/icons/fill/pencil-simple-line-fill.svg +1 -0
  2569. package/vendor/public/assets/icons/fill/pencil-simple-slash-fill.svg +1 -0
  2570. package/vendor/public/assets/icons/fill/pencil-slash-fill.svg +1 -0
  2571. package/vendor/public/assets/icons/fill/pentagon-fill.svg +1 -0
  2572. package/vendor/public/assets/icons/fill/pentagram-fill.svg +1 -0
  2573. package/vendor/public/assets/icons/fill/pepper-fill.svg +1 -0
  2574. package/vendor/public/assets/icons/fill/percent-fill.svg +1 -0
  2575. package/vendor/public/assets/icons/fill/person-arms-spread-fill.svg +1 -0
  2576. package/vendor/public/assets/icons/fill/person-fill.svg +1 -0
  2577. package/vendor/public/assets/icons/fill/person-simple-bike-fill.svg +1 -0
  2578. package/vendor/public/assets/icons/fill/person-simple-circle-fill.svg +1 -0
  2579. package/vendor/public/assets/icons/fill/person-simple-fill.svg +1 -0
  2580. package/vendor/public/assets/icons/fill/person-simple-hike-fill.svg +1 -0
  2581. package/vendor/public/assets/icons/fill/person-simple-run-fill.svg +1 -0
  2582. package/vendor/public/assets/icons/fill/person-simple-ski-fill.svg +1 -0
  2583. package/vendor/public/assets/icons/fill/person-simple-snowboard-fill.svg +1 -0
  2584. package/vendor/public/assets/icons/fill/person-simple-swim-fill.svg +1 -0
  2585. package/vendor/public/assets/icons/fill/person-simple-tai-chi-fill.svg +1 -0
  2586. package/vendor/public/assets/icons/fill/person-simple-throw-fill.svg +1 -0
  2587. package/vendor/public/assets/icons/fill/person-simple-walk-fill.svg +1 -0
  2588. package/vendor/public/assets/icons/fill/perspective-fill.svg +1 -0
  2589. package/vendor/public/assets/icons/fill/phone-call-fill.svg +1 -0
  2590. package/vendor/public/assets/icons/fill/phone-disconnect-fill.svg +1 -0
  2591. package/vendor/public/assets/icons/fill/phone-fill.svg +1 -0
  2592. package/vendor/public/assets/icons/fill/phone-incoming-fill.svg +1 -0
  2593. package/vendor/public/assets/icons/fill/phone-list-fill.svg +1 -0
  2594. package/vendor/public/assets/icons/fill/phone-outgoing-fill.svg +1 -0
  2595. package/vendor/public/assets/icons/fill/phone-pause-fill.svg +1 -0
  2596. package/vendor/public/assets/icons/fill/phone-plus-fill.svg +1 -0
  2597. package/vendor/public/assets/icons/fill/phone-slash-fill.svg +1 -0
  2598. package/vendor/public/assets/icons/fill/phone-transfer-fill.svg +1 -0
  2599. package/vendor/public/assets/icons/fill/phone-x-fill.svg +1 -0
  2600. package/vendor/public/assets/icons/fill/phosphor-logo-fill.svg +1 -0
  2601. package/vendor/public/assets/icons/fill/pi-fill.svg +1 -0
  2602. package/vendor/public/assets/icons/fill/piano-keys-fill.svg +1 -0
  2603. package/vendor/public/assets/icons/fill/picnic-table-fill.svg +1 -0
  2604. package/vendor/public/assets/icons/fill/picture-in-picture-fill.svg +1 -0
  2605. package/vendor/public/assets/icons/fill/piggy-bank-fill.svg +1 -0
  2606. package/vendor/public/assets/icons/fill/pill-fill.svg +1 -0
  2607. package/vendor/public/assets/icons/fill/ping-pong-fill.svg +1 -0
  2608. package/vendor/public/assets/icons/fill/pint-glass-fill.svg +1 -0
  2609. package/vendor/public/assets/icons/fill/pinterest-logo-fill.svg +1 -0
  2610. package/vendor/public/assets/icons/fill/pinwheel-fill.svg +1 -0
  2611. package/vendor/public/assets/icons/fill/pipe-fill.svg +1 -0
  2612. package/vendor/public/assets/icons/fill/pipe-wrench-fill.svg +1 -0
  2613. package/vendor/public/assets/icons/fill/pix-logo-fill.svg +1 -0
  2614. package/vendor/public/assets/icons/fill/pizza-fill.svg +1 -0
  2615. package/vendor/public/assets/icons/fill/placeholder-fill.svg +1 -0
  2616. package/vendor/public/assets/icons/fill/planet-fill.svg +1 -0
  2617. package/vendor/public/assets/icons/fill/plant-fill.svg +1 -0
  2618. package/vendor/public/assets/icons/fill/play-circle-fill.svg +1 -0
  2619. package/vendor/public/assets/icons/fill/play-fill.svg +1 -0
  2620. package/vendor/public/assets/icons/fill/play-pause-fill.svg +1 -0
  2621. package/vendor/public/assets/icons/fill/playlist-fill.svg +1 -0
  2622. package/vendor/public/assets/icons/fill/plug-charging-fill.svg +1 -0
  2623. package/vendor/public/assets/icons/fill/plug-fill.svg +1 -0
  2624. package/vendor/public/assets/icons/fill/plugs-connected-fill.svg +1 -0
  2625. package/vendor/public/assets/icons/fill/plugs-fill.svg +1 -0
  2626. package/vendor/public/assets/icons/fill/plus-circle-fill.svg +1 -0
  2627. package/vendor/public/assets/icons/fill/plus-fill.svg +1 -0
  2628. package/vendor/public/assets/icons/fill/plus-minus-fill.svg +1 -0
  2629. package/vendor/public/assets/icons/fill/plus-square-fill.svg +1 -0
  2630. package/vendor/public/assets/icons/fill/poker-chip-fill.svg +1 -0
  2631. package/vendor/public/assets/icons/fill/police-car-fill.svg +1 -0
  2632. package/vendor/public/assets/icons/fill/polygon-fill.svg +1 -0
  2633. package/vendor/public/assets/icons/fill/popcorn-fill.svg +1 -0
  2634. package/vendor/public/assets/icons/fill/popsicle-fill.svg +1 -0
  2635. package/vendor/public/assets/icons/fill/potted-plant-fill.svg +1 -0
  2636. package/vendor/public/assets/icons/fill/power-fill.svg +1 -0
  2637. package/vendor/public/assets/icons/fill/prescription-fill.svg +1 -0
  2638. package/vendor/public/assets/icons/fill/presentation-chart-fill.svg +1 -0
  2639. package/vendor/public/assets/icons/fill/presentation-fill.svg +1 -0
  2640. package/vendor/public/assets/icons/fill/printer-fill.svg +1 -0
  2641. package/vendor/public/assets/icons/fill/prohibit-fill.svg +1 -0
  2642. package/vendor/public/assets/icons/fill/prohibit-inset-fill.svg +1 -0
  2643. package/vendor/public/assets/icons/fill/projector-screen-chart-fill.svg +1 -0
  2644. package/vendor/public/assets/icons/fill/projector-screen-fill.svg +1 -0
  2645. package/vendor/public/assets/icons/fill/pulse-fill.svg +1 -0
  2646. package/vendor/public/assets/icons/fill/push-pin-fill.svg +1 -0
  2647. package/vendor/public/assets/icons/fill/push-pin-simple-fill.svg +1 -0
  2648. package/vendor/public/assets/icons/fill/push-pin-simple-slash-fill.svg +1 -0
  2649. package/vendor/public/assets/icons/fill/push-pin-slash-fill.svg +1 -0
  2650. package/vendor/public/assets/icons/fill/puzzle-piece-fill.svg +1 -0
  2651. package/vendor/public/assets/icons/fill/qr-code-fill.svg +1 -0
  2652. package/vendor/public/assets/icons/fill/question-fill.svg +1 -0
  2653. package/vendor/public/assets/icons/fill/question-mark-fill.svg +1 -0
  2654. package/vendor/public/assets/icons/fill/queue-fill.svg +1 -0
  2655. package/vendor/public/assets/icons/fill/quotes-fill.svg +1 -0
  2656. package/vendor/public/assets/icons/fill/rabbit-fill.svg +1 -0
  2657. package/vendor/public/assets/icons/fill/racquet-fill.svg +1 -0
  2658. package/vendor/public/assets/icons/fill/radical-fill.svg +1 -0
  2659. package/vendor/public/assets/icons/fill/radio-button-fill.svg +1 -0
  2660. package/vendor/public/assets/icons/fill/radio-fill.svg +1 -0
  2661. package/vendor/public/assets/icons/fill/radioactive-fill.svg +1 -0
  2662. package/vendor/public/assets/icons/fill/rainbow-cloud-fill.svg +1 -0
  2663. package/vendor/public/assets/icons/fill/rainbow-fill.svg +1 -0
  2664. package/vendor/public/assets/icons/fill/ranking-fill.svg +1 -0
  2665. package/vendor/public/assets/icons/fill/read-cv-logo-fill.svg +1 -0
  2666. package/vendor/public/assets/icons/fill/receipt-fill.svg +1 -0
  2667. package/vendor/public/assets/icons/fill/receipt-x-fill.svg +1 -0
  2668. package/vendor/public/assets/icons/fill/record-fill.svg +1 -0
  2669. package/vendor/public/assets/icons/fill/rectangle-dashed-fill.svg +1 -0
  2670. package/vendor/public/assets/icons/fill/rectangle-fill.svg +1 -0
  2671. package/vendor/public/assets/icons/fill/recycle-fill.svg +1 -0
  2672. package/vendor/public/assets/icons/fill/reddit-logo-fill.svg +1 -0
  2673. package/vendor/public/assets/icons/fill/repeat-fill.svg +1 -0
  2674. package/vendor/public/assets/icons/fill/repeat-once-fill.svg +1 -0
  2675. package/vendor/public/assets/icons/fill/replit-logo-fill.svg +1 -0
  2676. package/vendor/public/assets/icons/fill/resize-fill.svg +1 -0
  2677. package/vendor/public/assets/icons/fill/rewind-circle-fill.svg +1 -0
  2678. package/vendor/public/assets/icons/fill/rewind-fill.svg +1 -0
  2679. package/vendor/public/assets/icons/fill/road-horizon-fill.svg +1 -0
  2680. package/vendor/public/assets/icons/fill/robot-fill.svg +1 -0
  2681. package/vendor/public/assets/icons/fill/rocket-fill.svg +1 -0
  2682. package/vendor/public/assets/icons/fill/rocket-launch-fill.svg +1 -0
  2683. package/vendor/public/assets/icons/fill/rows-fill.svg +1 -0
  2684. package/vendor/public/assets/icons/fill/rows-plus-bottom-fill.svg +1 -0
  2685. package/vendor/public/assets/icons/fill/rows-plus-top-fill.svg +1 -0
  2686. package/vendor/public/assets/icons/fill/rss-fill.svg +1 -0
  2687. package/vendor/public/assets/icons/fill/rss-simple-fill.svg +1 -0
  2688. package/vendor/public/assets/icons/fill/rug-fill.svg +1 -0
  2689. package/vendor/public/assets/icons/fill/ruler-fill.svg +1 -0
  2690. package/vendor/public/assets/icons/fill/sailboat-fill.svg +1 -0
  2691. package/vendor/public/assets/icons/fill/scales-fill.svg +1 -0
  2692. package/vendor/public/assets/icons/fill/scan-fill.svg +1 -0
  2693. package/vendor/public/assets/icons/fill/scan-smiley-fill.svg +1 -0
  2694. package/vendor/public/assets/icons/fill/scissors-fill.svg +1 -0
  2695. package/vendor/public/assets/icons/fill/scooter-fill.svg +1 -0
  2696. package/vendor/public/assets/icons/fill/screencast-fill.svg +1 -0
  2697. package/vendor/public/assets/icons/fill/screwdriver-fill.svg +1 -0
  2698. package/vendor/public/assets/icons/fill/scribble-fill.svg +1 -0
  2699. package/vendor/public/assets/icons/fill/scribble-loop-fill.svg +1 -0
  2700. package/vendor/public/assets/icons/fill/scroll-fill.svg +1 -0
  2701. package/vendor/public/assets/icons/fill/seal-check-fill.svg +1 -0
  2702. package/vendor/public/assets/icons/fill/seal-fill.svg +1 -0
  2703. package/vendor/public/assets/icons/fill/seal-percent-fill.svg +1 -0
  2704. package/vendor/public/assets/icons/fill/seal-question-fill.svg +1 -0
  2705. package/vendor/public/assets/icons/fill/seal-warning-fill.svg +1 -0
  2706. package/vendor/public/assets/icons/fill/seat-fill.svg +1 -0
  2707. package/vendor/public/assets/icons/fill/seatbelt-fill.svg +1 -0
  2708. package/vendor/public/assets/icons/fill/security-camera-fill.svg +1 -0
  2709. package/vendor/public/assets/icons/fill/selection-all-fill.svg +1 -0
  2710. package/vendor/public/assets/icons/fill/selection-background-fill.svg +1 -0
  2711. package/vendor/public/assets/icons/fill/selection-fill.svg +1 -0
  2712. package/vendor/public/assets/icons/fill/selection-foreground-fill.svg +1 -0
  2713. package/vendor/public/assets/icons/fill/selection-inverse-fill.svg +1 -0
  2714. package/vendor/public/assets/icons/fill/selection-plus-fill.svg +1 -0
  2715. package/vendor/public/assets/icons/fill/selection-slash-fill.svg +1 -0
  2716. package/vendor/public/assets/icons/fill/shapes-fill.svg +1 -0
  2717. package/vendor/public/assets/icons/fill/share-fat-fill.svg +1 -0
  2718. package/vendor/public/assets/icons/fill/share-fill.svg +1 -0
  2719. package/vendor/public/assets/icons/fill/share-network-fill.svg +1 -0
  2720. package/vendor/public/assets/icons/fill/shield-check-fill.svg +1 -0
  2721. package/vendor/public/assets/icons/fill/shield-checkered-fill.svg +1 -0
  2722. package/vendor/public/assets/icons/fill/shield-chevron-fill.svg +1 -0
  2723. package/vendor/public/assets/icons/fill/shield-fill.svg +1 -0
  2724. package/vendor/public/assets/icons/fill/shield-plus-fill.svg +1 -0
  2725. package/vendor/public/assets/icons/fill/shield-slash-fill.svg +1 -0
  2726. package/vendor/public/assets/icons/fill/shield-star-fill.svg +1 -0
  2727. package/vendor/public/assets/icons/fill/shield-warning-fill.svg +1 -0
  2728. package/vendor/public/assets/icons/fill/shipping-container-fill.svg +1 -0
  2729. package/vendor/public/assets/icons/fill/shirt-folded-fill.svg +1 -0
  2730. package/vendor/public/assets/icons/fill/shooting-star-fill.svg +1 -0
  2731. package/vendor/public/assets/icons/fill/shopping-bag-fill.svg +1 -0
  2732. package/vendor/public/assets/icons/fill/shopping-bag-open-fill.svg +1 -0
  2733. package/vendor/public/assets/icons/fill/shopping-cart-fill.svg +1 -0
  2734. package/vendor/public/assets/icons/fill/shopping-cart-simple-fill.svg +1 -0
  2735. package/vendor/public/assets/icons/fill/shovel-fill.svg +1 -0
  2736. package/vendor/public/assets/icons/fill/shower-fill.svg +1 -0
  2737. package/vendor/public/assets/icons/fill/shrimp-fill.svg +1 -0
  2738. package/vendor/public/assets/icons/fill/shuffle-angular-fill.svg +1 -0
  2739. package/vendor/public/assets/icons/fill/shuffle-fill.svg +1 -0
  2740. package/vendor/public/assets/icons/fill/shuffle-simple-fill.svg +1 -0
  2741. package/vendor/public/assets/icons/fill/sidebar-fill.svg +1 -0
  2742. package/vendor/public/assets/icons/fill/sidebar-simple-fill.svg +1 -0
  2743. package/vendor/public/assets/icons/fill/sigma-fill.svg +1 -0
  2744. package/vendor/public/assets/icons/fill/sign-in-fill.svg +1 -0
  2745. package/vendor/public/assets/icons/fill/sign-out-fill.svg +1 -0
  2746. package/vendor/public/assets/icons/fill/signature-fill.svg +1 -0
  2747. package/vendor/public/assets/icons/fill/signpost-fill.svg +1 -0
  2748. package/vendor/public/assets/icons/fill/sim-card-fill.svg +1 -0
  2749. package/vendor/public/assets/icons/fill/siren-fill.svg +1 -0
  2750. package/vendor/public/assets/icons/fill/sketch-logo-fill.svg +1 -0
  2751. package/vendor/public/assets/icons/fill/skip-back-circle-fill.svg +1 -0
  2752. package/vendor/public/assets/icons/fill/skip-back-fill.svg +1 -0
  2753. package/vendor/public/assets/icons/fill/skip-forward-circle-fill.svg +1 -0
  2754. package/vendor/public/assets/icons/fill/skip-forward-fill.svg +1 -0
  2755. package/vendor/public/assets/icons/fill/skull-fill.svg +1 -0
  2756. package/vendor/public/assets/icons/fill/skype-logo-fill.svg +1 -0
  2757. package/vendor/public/assets/icons/fill/slack-logo-fill.svg +1 -0
  2758. package/vendor/public/assets/icons/fill/sliders-fill.svg +1 -0
  2759. package/vendor/public/assets/icons/fill/sliders-horizontal-fill.svg +1 -0
  2760. package/vendor/public/assets/icons/fill/slideshow-fill.svg +1 -0
  2761. package/vendor/public/assets/icons/fill/smiley-angry-fill.svg +1 -0
  2762. package/vendor/public/assets/icons/fill/smiley-blank-fill.svg +1 -0
  2763. package/vendor/public/assets/icons/fill/smiley-fill.svg +1 -0
  2764. package/vendor/public/assets/icons/fill/smiley-meh-fill.svg +1 -0
  2765. package/vendor/public/assets/icons/fill/smiley-melting-fill.svg +1 -0
  2766. package/vendor/public/assets/icons/fill/smiley-nervous-fill.svg +1 -0
  2767. package/vendor/public/assets/icons/fill/smiley-sad-fill.svg +1 -0
  2768. package/vendor/public/assets/icons/fill/smiley-sticker-fill.svg +1 -0
  2769. package/vendor/public/assets/icons/fill/smiley-wink-fill.svg +1 -0
  2770. package/vendor/public/assets/icons/fill/smiley-x-eyes-fill.svg +1 -0
  2771. package/vendor/public/assets/icons/fill/snapchat-logo-fill.svg +1 -0
  2772. package/vendor/public/assets/icons/fill/sneaker-fill.svg +1 -0
  2773. package/vendor/public/assets/icons/fill/sneaker-move-fill.svg +1 -0
  2774. package/vendor/public/assets/icons/fill/snowflake-fill.svg +1 -0
  2775. package/vendor/public/assets/icons/fill/soccer-ball-fill.svg +1 -0
  2776. package/vendor/public/assets/icons/fill/sock-fill.svg +1 -0
  2777. package/vendor/public/assets/icons/fill/solar-panel-fill.svg +1 -0
  2778. package/vendor/public/assets/icons/fill/solar-roof-fill.svg +1 -0
  2779. package/vendor/public/assets/icons/fill/sort-ascending-fill.svg +1 -0
  2780. package/vendor/public/assets/icons/fill/sort-descending-fill.svg +1 -0
  2781. package/vendor/public/assets/icons/fill/soundcloud-logo-fill.svg +1 -0
  2782. package/vendor/public/assets/icons/fill/spade-fill.svg +1 -0
  2783. package/vendor/public/assets/icons/fill/sparkle-fill.svg +1 -0
  2784. package/vendor/public/assets/icons/fill/speaker-hifi-fill.svg +1 -0
  2785. package/vendor/public/assets/icons/fill/speaker-high-fill.svg +1 -0
  2786. package/vendor/public/assets/icons/fill/speaker-low-fill.svg +1 -0
  2787. package/vendor/public/assets/icons/fill/speaker-none-fill.svg +1 -0
  2788. package/vendor/public/assets/icons/fill/speaker-simple-high-fill.svg +1 -0
  2789. package/vendor/public/assets/icons/fill/speaker-simple-low-fill.svg +1 -0
  2790. package/vendor/public/assets/icons/fill/speaker-simple-none-fill.svg +1 -0
  2791. package/vendor/public/assets/icons/fill/speaker-simple-slash-fill.svg +1 -0
  2792. package/vendor/public/assets/icons/fill/speaker-simple-x-fill.svg +1 -0
  2793. package/vendor/public/assets/icons/fill/speaker-slash-fill.svg +1 -0
  2794. package/vendor/public/assets/icons/fill/speaker-x-fill.svg +1 -0
  2795. package/vendor/public/assets/icons/fill/speedometer-fill.svg +1 -0
  2796. package/vendor/public/assets/icons/fill/sphere-fill.svg +1 -0
  2797. package/vendor/public/assets/icons/fill/spinner-ball-fill.svg +1 -0
  2798. package/vendor/public/assets/icons/fill/spinner-fill.svg +1 -0
  2799. package/vendor/public/assets/icons/fill/spinner-gap-fill.svg +1 -0
  2800. package/vendor/public/assets/icons/fill/spiral-fill.svg +1 -0
  2801. package/vendor/public/assets/icons/fill/split-horizontal-fill.svg +1 -0
  2802. package/vendor/public/assets/icons/fill/split-vertical-fill.svg +1 -0
  2803. package/vendor/public/assets/icons/fill/spotify-logo-fill.svg +1 -0
  2804. package/vendor/public/assets/icons/fill/spray-bottle-fill.svg +1 -0
  2805. package/vendor/public/assets/icons/fill/square-fill.svg +1 -0
  2806. package/vendor/public/assets/icons/fill/square-half-bottom-fill.svg +1 -0
  2807. package/vendor/public/assets/icons/fill/square-half-fill.svg +1 -0
  2808. package/vendor/public/assets/icons/fill/square-logo-fill.svg +1 -0
  2809. package/vendor/public/assets/icons/fill/square-split-horizontal-fill.svg +1 -0
  2810. package/vendor/public/assets/icons/fill/square-split-vertical-fill.svg +1 -0
  2811. package/vendor/public/assets/icons/fill/squares-four-fill.svg +1 -0
  2812. package/vendor/public/assets/icons/fill/stack-fill.svg +1 -0
  2813. package/vendor/public/assets/icons/fill/stack-minus-fill.svg +1 -0
  2814. package/vendor/public/assets/icons/fill/stack-overflow-logo-fill.svg +1 -0
  2815. package/vendor/public/assets/icons/fill/stack-plus-fill.svg +1 -0
  2816. package/vendor/public/assets/icons/fill/stack-simple-fill.svg +1 -0
  2817. package/vendor/public/assets/icons/fill/stairs-fill.svg +1 -0
  2818. package/vendor/public/assets/icons/fill/stamp-fill.svg +1 -0
  2819. package/vendor/public/assets/icons/fill/standard-definition-fill.svg +1 -0
  2820. package/vendor/public/assets/icons/fill/star-and-crescent-fill.svg +1 -0
  2821. package/vendor/public/assets/icons/fill/star-fill.svg +1 -0
  2822. package/vendor/public/assets/icons/fill/star-four-fill.svg +1 -0
  2823. package/vendor/public/assets/icons/fill/star-four-plus.svg +4 -0
  2824. package/vendor/public/assets/icons/fill/star-half-fill.svg +1 -0
  2825. package/vendor/public/assets/icons/fill/star-of-david-fill.svg +1 -0
  2826. package/vendor/public/assets/icons/fill/steam-logo-fill.svg +1 -0
  2827. package/vendor/public/assets/icons/fill/steering-wheel-fill.svg +1 -0
  2828. package/vendor/public/assets/icons/fill/steps-fill.svg +1 -0
  2829. package/vendor/public/assets/icons/fill/stethoscope-fill.svg +1 -0
  2830. package/vendor/public/assets/icons/fill/sticker-fill.svg +1 -0
  2831. package/vendor/public/assets/icons/fill/stool-fill.svg +1 -0
  2832. package/vendor/public/assets/icons/fill/stop-circle-fill.svg +1 -0
  2833. package/vendor/public/assets/icons/fill/stop-fill.svg +1 -0
  2834. package/vendor/public/assets/icons/fill/storefront-fill.svg +1 -0
  2835. package/vendor/public/assets/icons/fill/strategy-fill.svg +1 -0
  2836. package/vendor/public/assets/icons/fill/stripe-logo-fill.svg +1 -0
  2837. package/vendor/public/assets/icons/fill/student-fill.svg +1 -0
  2838. package/vendor/public/assets/icons/fill/subset-of-fill.svg +1 -0
  2839. package/vendor/public/assets/icons/fill/subset-proper-of-fill.svg +1 -0
  2840. package/vendor/public/assets/icons/fill/subtitles-fill.svg +1 -0
  2841. package/vendor/public/assets/icons/fill/subtitles-slash-fill.svg +1 -0
  2842. package/vendor/public/assets/icons/fill/subtract-fill.svg +1 -0
  2843. package/vendor/public/assets/icons/fill/subtract-square-fill.svg +1 -0
  2844. package/vendor/public/assets/icons/fill/subway-fill.svg +1 -0
  2845. package/vendor/public/assets/icons/fill/suitcase-fill.svg +1 -0
  2846. package/vendor/public/assets/icons/fill/suitcase-rolling-fill.svg +1 -0
  2847. package/vendor/public/assets/icons/fill/suitcase-simple-fill.svg +1 -0
  2848. package/vendor/public/assets/icons/fill/sun-dim-fill.svg +1 -0
  2849. package/vendor/public/assets/icons/fill/sun-fill.svg +1 -0
  2850. package/vendor/public/assets/icons/fill/sun-horizon-fill.svg +1 -0
  2851. package/vendor/public/assets/icons/fill/sunglasses-fill.svg +1 -0
  2852. package/vendor/public/assets/icons/fill/superset-of-fill.svg +1 -0
  2853. package/vendor/public/assets/icons/fill/superset-proper-of-fill.svg +1 -0
  2854. package/vendor/public/assets/icons/fill/swap-fill.svg +1 -0
  2855. package/vendor/public/assets/icons/fill/swatches-fill.svg +1 -0
  2856. package/vendor/public/assets/icons/fill/swimming-pool-fill.svg +1 -0
  2857. package/vendor/public/assets/icons/fill/sword-fill.svg +1 -0
  2858. package/vendor/public/assets/icons/fill/synagogue-fill.svg +1 -0
  2859. package/vendor/public/assets/icons/fill/syringe-fill.svg +1 -0
  2860. package/vendor/public/assets/icons/fill/t-shirt-fill.svg +1 -0
  2861. package/vendor/public/assets/icons/fill/table-fill.svg +1 -0
  2862. package/vendor/public/assets/icons/fill/tabs-fill.svg +1 -0
  2863. package/vendor/public/assets/icons/fill/tag-chevron-fill.svg +1 -0
  2864. package/vendor/public/assets/icons/fill/tag-fill.svg +1 -0
  2865. package/vendor/public/assets/icons/fill/tag-simple-fill.svg +1 -0
  2866. package/vendor/public/assets/icons/fill/target-fill.svg +1 -0
  2867. package/vendor/public/assets/icons/fill/taxi-fill.svg +1 -0
  2868. package/vendor/public/assets/icons/fill/tea-bag-fill.svg +1 -0
  2869. package/vendor/public/assets/icons/fill/telegram-logo-fill.svg +1 -0
  2870. package/vendor/public/assets/icons/fill/television-fill.svg +1 -0
  2871. package/vendor/public/assets/icons/fill/television-simple-fill.svg +1 -0
  2872. package/vendor/public/assets/icons/fill/tennis-ball-fill.svg +1 -0
  2873. package/vendor/public/assets/icons/fill/tent-fill.svg +1 -0
  2874. package/vendor/public/assets/icons/fill/terminal-fill.svg +1 -0
  2875. package/vendor/public/assets/icons/fill/terminal-window-fill.svg +1 -0
  2876. package/vendor/public/assets/icons/fill/test-tube-fill.svg +1 -0
  2877. package/vendor/public/assets/icons/fill/text-a-underline-fill.svg +1 -0
  2878. package/vendor/public/assets/icons/fill/text-aa-fill.svg +1 -0
  2879. package/vendor/public/assets/icons/fill/text-align-center-fill.svg +1 -0
  2880. package/vendor/public/assets/icons/fill/text-align-justify-fill.svg +1 -0
  2881. package/vendor/public/assets/icons/fill/text-align-left-fill.svg +1 -0
  2882. package/vendor/public/assets/icons/fill/text-align-right-fill.svg +1 -0
  2883. package/vendor/public/assets/icons/fill/text-b-fill.svg +1 -0
  2884. package/vendor/public/assets/icons/fill/text-columns-fill.svg +1 -0
  2885. package/vendor/public/assets/icons/fill/text-h-fill.svg +1 -0
  2886. package/vendor/public/assets/icons/fill/text-h-five-fill.svg +1 -0
  2887. package/vendor/public/assets/icons/fill/text-h-four-fill.svg +1 -0
  2888. package/vendor/public/assets/icons/fill/text-h-one-fill.svg +1 -0
  2889. package/vendor/public/assets/icons/fill/text-h-six-fill.svg +1 -0
  2890. package/vendor/public/assets/icons/fill/text-h-three-fill.svg +1 -0
  2891. package/vendor/public/assets/icons/fill/text-h-two-fill.svg +1 -0
  2892. package/vendor/public/assets/icons/fill/text-indent-fill.svg +1 -0
  2893. package/vendor/public/assets/icons/fill/text-italic-fill.svg +1 -0
  2894. package/vendor/public/assets/icons/fill/text-outdent-fill.svg +1 -0
  2895. package/vendor/public/assets/icons/fill/text-strikethrough-fill.svg +1 -0
  2896. package/vendor/public/assets/icons/fill/text-subscript-fill.svg +1 -0
  2897. package/vendor/public/assets/icons/fill/text-superscript-fill.svg +1 -0
  2898. package/vendor/public/assets/icons/fill/text-t-fill.svg +1 -0
  2899. package/vendor/public/assets/icons/fill/text-t-slash-fill.svg +1 -0
  2900. package/vendor/public/assets/icons/fill/text-underline-fill.svg +1 -0
  2901. package/vendor/public/assets/icons/fill/textbox-fill.svg +1 -0
  2902. package/vendor/public/assets/icons/fill/thermometer-cold-fill.svg +1 -0
  2903. package/vendor/public/assets/icons/fill/thermometer-fill.svg +1 -0
  2904. package/vendor/public/assets/icons/fill/thermometer-hot-fill.svg +1 -0
  2905. package/vendor/public/assets/icons/fill/thermometer-simple-fill.svg +1 -0
  2906. package/vendor/public/assets/icons/fill/threads-logo-fill.svg +1 -0
  2907. package/vendor/public/assets/icons/fill/three-d-fill.svg +1 -0
  2908. package/vendor/public/assets/icons/fill/thumbs-down-fill.svg +1 -0
  2909. package/vendor/public/assets/icons/fill/thumbs-up-fill.svg +1 -0
  2910. package/vendor/public/assets/icons/fill/ticket-fill.svg +1 -0
  2911. package/vendor/public/assets/icons/fill/tidal-logo-fill.svg +1 -0
  2912. package/vendor/public/assets/icons/fill/tiktok-logo-fill.svg +1 -0
  2913. package/vendor/public/assets/icons/fill/tilde-fill.svg +1 -0
  2914. package/vendor/public/assets/icons/fill/timer-fill.svg +1 -0
  2915. package/vendor/public/assets/icons/fill/tip-jar-fill.svg +1 -0
  2916. package/vendor/public/assets/icons/fill/tipi-fill.svg +1 -0
  2917. package/vendor/public/assets/icons/fill/tire-fill.svg +1 -0
  2918. package/vendor/public/assets/icons/fill/toggle-left-fill.svg +1 -0
  2919. package/vendor/public/assets/icons/fill/toggle-right-fill.svg +1 -0
  2920. package/vendor/public/assets/icons/fill/toilet-fill.svg +1 -0
  2921. package/vendor/public/assets/icons/fill/toilet-paper-fill.svg +1 -0
  2922. package/vendor/public/assets/icons/fill/toolbox-fill.svg +1 -0
  2923. package/vendor/public/assets/icons/fill/tooth-fill.svg +1 -0
  2924. package/vendor/public/assets/icons/fill/tornado-fill.svg +1 -0
  2925. package/vendor/public/assets/icons/fill/tote-fill.svg +1 -0
  2926. package/vendor/public/assets/icons/fill/tote-simple-fill.svg +1 -0
  2927. package/vendor/public/assets/icons/fill/towel-fill.svg +1 -0
  2928. package/vendor/public/assets/icons/fill/tractor-fill.svg +1 -0
  2929. package/vendor/public/assets/icons/fill/trademark-fill.svg +1 -0
  2930. package/vendor/public/assets/icons/fill/trademark-registered-fill.svg +1 -0
  2931. package/vendor/public/assets/icons/fill/traffic-cone-fill.svg +1 -0
  2932. package/vendor/public/assets/icons/fill/traffic-sign-fill.svg +1 -0
  2933. package/vendor/public/assets/icons/fill/traffic-signal-fill.svg +1 -0
  2934. package/vendor/public/assets/icons/fill/train-fill.svg +1 -0
  2935. package/vendor/public/assets/icons/fill/train-regional-fill.svg +1 -0
  2936. package/vendor/public/assets/icons/fill/train-simple-fill.svg +1 -0
  2937. package/vendor/public/assets/icons/fill/tram-fill.svg +1 -0
  2938. package/vendor/public/assets/icons/fill/translate-fill.svg +1 -0
  2939. package/vendor/public/assets/icons/fill/trash-fill.svg +1 -0
  2940. package/vendor/public/assets/icons/fill/trash-simple-fill.svg +1 -0
  2941. package/vendor/public/assets/icons/fill/tray-arrow-down-fill.svg +1 -0
  2942. package/vendor/public/assets/icons/fill/tray-arrow-up-fill.svg +1 -0
  2943. package/vendor/public/assets/icons/fill/tray-fill.svg +1 -0
  2944. package/vendor/public/assets/icons/fill/treasure-chest-fill.svg +1 -0
  2945. package/vendor/public/assets/icons/fill/tree-evergreen-fill.svg +1 -0
  2946. package/vendor/public/assets/icons/fill/tree-fill.svg +1 -0
  2947. package/vendor/public/assets/icons/fill/tree-palm-fill.svg +1 -0
  2948. package/vendor/public/assets/icons/fill/tree-structure-fill.svg +1 -0
  2949. package/vendor/public/assets/icons/fill/tree-view-fill.svg +1 -0
  2950. package/vendor/public/assets/icons/fill/trend-down-fill.svg +1 -0
  2951. package/vendor/public/assets/icons/fill/trend-up-fill.svg +1 -0
  2952. package/vendor/public/assets/icons/fill/triangle-dashed-fill.svg +1 -0
  2953. package/vendor/public/assets/icons/fill/triangle-fill.svg +1 -0
  2954. package/vendor/public/assets/icons/fill/trolley-fill.svg +1 -0
  2955. package/vendor/public/assets/icons/fill/trolley-suitcase-fill.svg +1 -0
  2956. package/vendor/public/assets/icons/fill/trophy-fill.svg +1 -0
  2957. package/vendor/public/assets/icons/fill/truck-fill.svg +1 -0
  2958. package/vendor/public/assets/icons/fill/truck-trailer-fill.svg +1 -0
  2959. package/vendor/public/assets/icons/fill/tumblr-logo-fill.svg +1 -0
  2960. package/vendor/public/assets/icons/fill/twitch-logo-fill.svg +1 -0
  2961. package/vendor/public/assets/icons/fill/twitter-logo-fill.svg +1 -0
  2962. package/vendor/public/assets/icons/fill/umbrella-fill.svg +1 -0
  2963. package/vendor/public/assets/icons/fill/umbrella-simple-fill.svg +1 -0
  2964. package/vendor/public/assets/icons/fill/union-fill.svg +1 -0
  2965. package/vendor/public/assets/icons/fill/unite-fill.svg +1 -0
  2966. package/vendor/public/assets/icons/fill/unite-square-fill.svg +1 -0
  2967. package/vendor/public/assets/icons/fill/upload-fill.svg +1 -0
  2968. package/vendor/public/assets/icons/fill/upload-simple-fill.svg +1 -0
  2969. package/vendor/public/assets/icons/fill/usb-fill.svg +1 -0
  2970. package/vendor/public/assets/icons/fill/user-check-fill.svg +1 -0
  2971. package/vendor/public/assets/icons/fill/user-circle-check-fill.svg +1 -0
  2972. package/vendor/public/assets/icons/fill/user-circle-dashed-fill.svg +1 -0
  2973. package/vendor/public/assets/icons/fill/user-circle-fill.svg +1 -0
  2974. package/vendor/public/assets/icons/fill/user-circle-gear-fill.svg +1 -0
  2975. package/vendor/public/assets/icons/fill/user-circle-minus-fill.svg +1 -0
  2976. package/vendor/public/assets/icons/fill/user-circle-plus-fill.svg +1 -0
  2977. package/vendor/public/assets/icons/fill/user-fill.svg +1 -0
  2978. package/vendor/public/assets/icons/fill/user-focus-fill.svg +1 -0
  2979. package/vendor/public/assets/icons/fill/user-gear-fill.svg +1 -0
  2980. package/vendor/public/assets/icons/fill/user-list-fill.svg +1 -0
  2981. package/vendor/public/assets/icons/fill/user-minus-fill.svg +1 -0
  2982. package/vendor/public/assets/icons/fill/user-plus-fill.svg +1 -0
  2983. package/vendor/public/assets/icons/fill/user-rectangle-fill.svg +1 -0
  2984. package/vendor/public/assets/icons/fill/user-sound-fill.svg +1 -0
  2985. package/vendor/public/assets/icons/fill/user-square-fill.svg +1 -0
  2986. package/vendor/public/assets/icons/fill/user-switch-fill.svg +1 -0
  2987. package/vendor/public/assets/icons/fill/users-fill.svg +1 -0
  2988. package/vendor/public/assets/icons/fill/users-four-fill.svg +1 -0
  2989. package/vendor/public/assets/icons/fill/users-three-fill.svg +1 -0
  2990. package/vendor/public/assets/icons/fill/van-fill.svg +1 -0
  2991. package/vendor/public/assets/icons/fill/vault-fill.svg +1 -0
  2992. package/vendor/public/assets/icons/fill/vector-three-fill.svg +1 -0
  2993. package/vendor/public/assets/icons/fill/vector-two-fill.svg +1 -0
  2994. package/vendor/public/assets/icons/fill/vibrate-fill.svg +1 -0
  2995. package/vendor/public/assets/icons/fill/video-camera-fill.svg +1 -0
  2996. package/vendor/public/assets/icons/fill/video-camera-slash-fill.svg +1 -0
  2997. package/vendor/public/assets/icons/fill/video-conference-fill.svg +1 -0
  2998. package/vendor/public/assets/icons/fill/video-fill.svg +1 -0
  2999. package/vendor/public/assets/icons/fill/vignette-fill.svg +1 -0
  3000. package/vendor/public/assets/icons/fill/vinyl-record-fill.svg +1 -0
  3001. package/vendor/public/assets/icons/fill/virtual-reality-fill.svg +1 -0
  3002. package/vendor/public/assets/icons/fill/virus-fill.svg +1 -0
  3003. package/vendor/public/assets/icons/fill/visor-fill.svg +1 -0
  3004. package/vendor/public/assets/icons/fill/voicemail-fill.svg +1 -0
  3005. package/vendor/public/assets/icons/fill/volleyball-fill.svg +1 -0
  3006. package/vendor/public/assets/icons/fill/wall-fill.svg +1 -0
  3007. package/vendor/public/assets/icons/fill/wallet-fill.svg +1 -0
  3008. package/vendor/public/assets/icons/fill/warehouse-fill.svg +1 -0
  3009. package/vendor/public/assets/icons/fill/warning-circle-fill.svg +1 -0
  3010. package/vendor/public/assets/icons/fill/warning-diamond-fill.svg +1 -0
  3011. package/vendor/public/assets/icons/fill/warning-fill.svg +1 -0
  3012. package/vendor/public/assets/icons/fill/warning-octagon-fill.svg +1 -0
  3013. package/vendor/public/assets/icons/fill/washing-machine-fill.svg +1 -0
  3014. package/vendor/public/assets/icons/fill/watch-fill.svg +1 -0
  3015. package/vendor/public/assets/icons/fill/wave-sawtooth-fill.svg +1 -0
  3016. package/vendor/public/assets/icons/fill/wave-sine-fill.svg +1 -0
  3017. package/vendor/public/assets/icons/fill/wave-square-fill.svg +1 -0
  3018. package/vendor/public/assets/icons/fill/wave-triangle-fill.svg +1 -0
  3019. package/vendor/public/assets/icons/fill/waveform-fill.svg +1 -0
  3020. package/vendor/public/assets/icons/fill/waveform-slash-fill.svg +1 -0
  3021. package/vendor/public/assets/icons/fill/waves-fill.svg +1 -0
  3022. package/vendor/public/assets/icons/fill/webcam-fill.svg +1 -0
  3023. package/vendor/public/assets/icons/fill/webcam-slash-fill.svg +1 -0
  3024. package/vendor/public/assets/icons/fill/webhooks-logo-fill.svg +1 -0
  3025. package/vendor/public/assets/icons/fill/wechat-logo-fill.svg +1 -0
  3026. package/vendor/public/assets/icons/fill/whatsapp-logo-fill.svg +1 -0
  3027. package/vendor/public/assets/icons/fill/wheelchair-fill.svg +1 -0
  3028. package/vendor/public/assets/icons/fill/wheelchair-motion-fill.svg +1 -0
  3029. package/vendor/public/assets/icons/fill/wifi-high-fill.svg +1 -0
  3030. package/vendor/public/assets/icons/fill/wifi-low-fill.svg +1 -0
  3031. package/vendor/public/assets/icons/fill/wifi-medium-fill.svg +1 -0
  3032. package/vendor/public/assets/icons/fill/wifi-none-fill.svg +1 -0
  3033. package/vendor/public/assets/icons/fill/wifi-slash-fill.svg +1 -0
  3034. package/vendor/public/assets/icons/fill/wifi-x-fill.svg +1 -0
  3035. package/vendor/public/assets/icons/fill/wind-fill.svg +1 -0
  3036. package/vendor/public/assets/icons/fill/windmill-fill.svg +1 -0
  3037. package/vendor/public/assets/icons/fill/windows-logo-fill.svg +1 -0
  3038. package/vendor/public/assets/icons/fill/wine-fill.svg +1 -0
  3039. package/vendor/public/assets/icons/fill/wrench-fill.svg +1 -0
  3040. package/vendor/public/assets/icons/fill/x-circle-fill.svg +1 -0
  3041. package/vendor/public/assets/icons/fill/x-fill.svg +1 -0
  3042. package/vendor/public/assets/icons/fill/x-logo-fill.svg +1 -0
  3043. package/vendor/public/assets/icons/fill/x-square-fill.svg +1 -0
  3044. package/vendor/public/assets/icons/fill/yarn-fill.svg +1 -0
  3045. package/vendor/public/assets/icons/fill/yin-yang-fill.svg +1 -0
  3046. package/vendor/public/assets/icons/fill/youtube-logo-fill.svg +1 -0
  3047. package/vendor/public/assets/img/work-graph-analytics-drawer.png +0 -0
  3048. package/vendor/public/assets/img/work-graph-analytics-list.png +0 -0
  3049. package/vendor/public/assets/img/work-graph-architecture-drawer.png +0 -0
  3050. package/vendor/public/assets/img/work-graph-kanban-board-dark.png +0 -0
  3051. package/vendor/public/assets/img/work-graph-kanban-board-light.png +0 -0
  3052. package/vendor/public/assets/img/work-graph-memory-list.png +0 -0
  3053. package/vendor/public/assets/img/work-graph-prompt-rules.png +0 -0
  3054. package/vendor/public/assets/img/work-graph-task-drawer.png +0 -0
  3055. package/vendor/public/assets/img/work-graph-verification-matrix.png +0 -0
  3056. package/vendor/public/assets/workgraph-emblem.svg +3 -0
  3057. package/vendor/public/assets/workgraph-logo.svg +11 -10
  3058. package/vendor/src/analyticsLineageProjection.mjs +221 -0
  3059. package/vendor/src/analyticsPanelProjection.mjs +3 -1
  3060. package/vendor/src/analyticsRecordStore.mjs +8 -0
  3061. package/vendor/src/appVersionApi.mjs +62 -0
  3062. package/vendor/src/architectureSnapshot.mjs +2 -73
  3063. package/vendor/src/backlogFileWatch.mjs +68 -0
  3064. package/vendor/src/backlogRevision.mjs +46 -0
  3065. package/vendor/src/backlogSchemaLint.mjs +40 -0
  3066. package/vendor/src/backlogUiEventsHub.mjs +157 -0
  3067. package/vendor/src/codeSyntaxHighlight.mjs +2 -1
  3068. package/vendor/src/detailDrawerStack.mjs +136 -0
  3069. package/vendor/src/kanbanBoardDelta.mjs +64 -0
  3070. package/vendor/src/missionControlUiClient.mjs +1 -1
  3071. package/vendor/src/publicSiteContent.mjs +543 -0
  3072. package/vendor/src/publicSiteServer.mjs +850 -0
  3073. package/vendor/src/publicSiteStandaloneServer.mjs +97 -0
  3074. package/vendor/src/stepAtomFormatter.mjs +2 -0
  3075. package/vendor/src/structuredEvidenceV1.mjs +271 -0
  3076. package/vendor/src/ui/atoms/badge.mjs +75 -12
  3077. package/vendor/src/ui/atoms/badgeClient.mjs +1 -0
  3078. package/vendor/src/ui/backlogShellButtons.mjs +60 -8
  3079. package/vendor/src/ui/i18n/resolveUiLocale.mjs +60 -0
  3080. package/vendor/src/ui/i18n/uiCatalog.mjs +58 -0
  3081. package/vendor/src/ui/iconAssets.mjs +98 -0
  3082. package/vendor/src/ui/kanbanBoardPatcher.mjs +97 -0
  3083. package/vendor/src/ui/liveSyncCoordinator.mjs +126 -0
  3084. package/vendor/src/ui/liveSyncSseAdapter.mjs +60 -0
  3085. package/vendor/src/ui/pages/uiKitPage.mjs +2 -1
  3086. package/vendor/src/ui/panelSearchQuery.mjs +21 -0
  3087. package/vendor/src/ui/userAvatars.mjs +59 -0
  3088. package/vendor/src/ui/workItemClassifierBadge.mjs +92 -0
  3089. package/vendor/src/ui/workItemIssueType.mjs +65 -0
  3090. package/vendor/src/ui/workItemStatusTone.mjs +9 -2
  3091. package/vendor/src/verificationLoop.mjs +24 -0
  3092. package/vendor/src/workGraphBacklogUiServer.mjs +1999 -320
  3093. package/vendor/src/workGraphRuntime.mjs +13 -1
  3094. package/vendor/src/workGraphToolSurfaceAudit.mjs +8 -0
  3095. package/vendor/src/workItemBlockClassifier.mjs +72 -0
  3096. package/vendor/src/workItemContractProjection.mjs +164 -0
  3097. package/vendor/src/workItemReadyForDone.mjs +296 -0
  3098. package/vendor/src/workItemTextRusify.mjs +848 -15
  3099. package/vendor/src/workItemTitleRuCatalog.mjs +485 -0
@@ -23,7 +23,8 @@ import { UI_BADGE_CSS } from './ui/atoms/badge.mjs';
23
23
  import { UI_SELECT_CSS } from './ui/atoms/select.mjs';
24
24
  import {
25
25
  renderNavTab,
26
- renderThemeToggleButton,
26
+ renderHeaderThemeToggleButton,
27
+ renderSettingsNavTab,
27
28
  renderDetailCloseButton,
28
29
  renderDetailSubCloseButton,
29
30
  renderAgentRunDockCloseButton,
@@ -37,7 +38,14 @@ import {
37
38
  renderWorkflowSubtabsShell,
38
39
  renderArchitectureSubtabsShell,
39
40
  renderWorkflowDisplayModeSelect,
41
+ renderSettingsLocaleOptions,
40
42
  } from './ui/backlogShellButtons.mjs';
43
+ import { renderThemeIcon } from './ui/iconAssets.mjs';
44
+ import { buildAppVersionResponse } from './appVersionApi.mjs';
45
+ import { computeBacklogRevision } from './backlogRevision.mjs';
46
+ import { createBacklogUiEventsHub } from './backlogUiEventsHub.mjs';
47
+ import { createUiTranslator, loadUiCatalogSync } from './ui/i18n/uiCatalog.mjs';
48
+ import { resolveUiLocale, UI_LOCALE_COOKIE } from './ui/i18n/resolveUiLocale.mjs';
41
49
  import { UI_TABS_CSS } from './ui/molecules/tabs.mjs';
42
50
  import { buildPvrgTaskScopeSlice } from './pvrgTaskScope.mjs';
43
51
  import { buildWorkItemLinkageDrilldown } from './unifiedLinkageProjection.mjs';
@@ -73,6 +81,7 @@ import {
73
81
  executeIntentComposerProposal,
74
82
  } from './intentComposerApi.mjs';
75
83
  import { buildWorkItemPipelineView } from './workItemDecisionPipeline.mjs';
84
+ import { getFieldSectionsForDialect } from './bvcDialectRegistry.mjs';
76
85
  import {
77
86
  attachUiReference,
78
87
  listUiReferences,
@@ -116,6 +125,57 @@ function contentTypeForPublicFont(filePath) {
116
125
  return 'application/octet-stream';
117
126
  }
118
127
 
128
+ function tryServePublicIconsAsset(url, response) {
129
+ if (!url.pathname.startsWith('/assets/icons/')) {
130
+ return false;
131
+ }
132
+ return tryServePublicAssetDir(url, response, join(PUBLIC_ROOT, 'assets', 'icons'), '/assets/icons/');
133
+ }
134
+
135
+ function tryServePublicAvatarsAsset(url, response) {
136
+ if (!url.pathname.startsWith('/assets/avatars/')) {
137
+ return false;
138
+ }
139
+ return tryServePublicAssetDir(url, response, join(PUBLIC_ROOT, 'assets', 'avatars'), '/assets/avatars/');
140
+ }
141
+
142
+ function tryServePublicImagesAsset(url, response) {
143
+ if (!url.pathname.startsWith('/assets/img/')) {
144
+ return false;
145
+ }
146
+ return tryServePublicAssetDir(url, response, join(PUBLIC_ROOT, 'assets', 'img'), '/assets/img/');
147
+ }
148
+
149
+ function tryServePublicAssetDir(url, response, rootDir, urlPrefix) {
150
+ const relativePath = decodeURIComponent(url.pathname.slice(urlPrefix.length));
151
+ if (!relativePath || relativePath.includes('..')) {
152
+ sendText(response, 403, 'forbidden');
153
+ return true;
154
+ }
155
+ const filePath = join(rootDir, relativePath);
156
+ if (!filePath.startsWith(rootDir)) {
157
+ sendText(response, 403, 'forbidden');
158
+ return true;
159
+ }
160
+ try {
161
+ const source = readFileSync(filePath);
162
+ const contentType = filePath.endsWith('.svg')
163
+ ? 'image/svg+xml; charset=utf-8'
164
+ : filePath.endsWith('.png')
165
+ ? 'image/png'
166
+ : 'application/octet-stream';
167
+ response.writeHead(200, {
168
+ 'content-type': contentType,
169
+ 'cache-control': 'public, max-age=3600',
170
+ });
171
+ response.end(source);
172
+ return true;
173
+ } catch {
174
+ sendText(response, 404, 'not_found');
175
+ return true;
176
+ }
177
+ }
178
+
119
179
  function tryServePublicFontsAsset(url, response) {
120
180
  if (!url.pathname.startsWith('/assets/fonts/')) {
121
181
  return false;
@@ -144,6 +204,17 @@ function tryServePublicFontsAsset(url, response) {
144
204
  }
145
205
  }
146
206
 
207
+ function stripBrowserInlineLocalFunctions(source, names) {
208
+ let result = source;
209
+ for (const name of names) {
210
+ result = result.replace(
211
+ new RegExp(`\\nfunction ${name}\\([^)]*\\) \\{[\\s\\S]*?\\n\\}\\n`, 'g'),
212
+ '\n',
213
+ );
214
+ }
215
+ return result;
216
+ }
217
+
147
218
  function stripModuleForBrowserInline(source) {
148
219
  return source
149
220
  .replace(/^import\s[\s\S]*?from\s+['"][^'"]+['"];?\s*$/gm, '')
@@ -168,23 +239,33 @@ function loadBrowserArchitectureLayoutSource() {
168
239
  }
169
240
 
170
241
  function loadBrowserMarkdownDocumentRenderSource() {
171
- return [
172
- readFileSync(join(__dirname, 'codeSyntaxHighlight.mjs'), 'utf8'),
173
- readFileSync(join(__dirname, 'markdownDocumentRender.mjs'), 'utf8'),
174
- ].join('\n')
242
+ const codeSyntaxHighlight = readFileSync(join(__dirname, 'codeSyntaxHighlight.mjs'), 'utf8')
175
243
  .replace(/^import\s.+$/gm, '')
176
244
  .replace(/^export /gm, '');
245
+ const markdownDocumentRender = stripBrowserInlineLocalFunctions(
246
+ readFileSync(join(__dirname, 'markdownDocumentRender.mjs'), 'utf8')
247
+ .replace(/^import\s.+$/gm, '')
248
+ .replace(/^export /gm, ''),
249
+ ['escapeHtml'],
250
+ );
251
+ return `${codeSyntaxHighlight}\n${markdownDocumentRender}`;
177
252
  }
178
253
 
179
254
  function loadBrowserPipelineProseRenderSource() {
180
- return readFileSync(join(__dirname, 'pipelineProseRender.mjs'), 'utf8')
181
- .replace(/^import\s.+$/gm, '')
182
- .replace(/^export /gm, '');
255
+ return stripBrowserInlineLocalFunctions(
256
+ readFileSync(join(__dirname, 'pipelineProseRender.mjs'), 'utf8')
257
+ .replace(/^import\s.+$/gm, '')
258
+ .replace(/^export /gm, ''),
259
+ ['escapeHtml'],
260
+ );
183
261
  }
184
262
 
185
263
  function loadBrowserMissionControlClientSource() {
186
- return stripModuleForBrowserInline(
187
- readFileSync(join(__dirname, 'missionControlUiClient.mjs'), 'utf8'),
264
+ return stripBrowserInlineLocalFunctions(
265
+ stripModuleForBrowserInline(
266
+ readFileSync(join(__dirname, 'missionControlUiClient.mjs'), 'utf8'),
267
+ ),
268
+ ['escapeHtml'],
188
269
  );
189
270
  }
190
271
 
@@ -224,6 +305,55 @@ function loadBrowserWorkItemStatusToneSource() {
224
305
  );
225
306
  }
226
307
 
308
+ function loadBrowserKanbanBoardDeltaSource() {
309
+ return stripModuleForBrowserInline(
310
+ readFileSync(join(__dirname, 'kanbanBoardDelta.mjs'), 'utf8'),
311
+ );
312
+ }
313
+
314
+ function loadBrowserKanbanBoardPatcherSource() {
315
+ return stripModuleForBrowserInline(
316
+ readFileSync(join(__dirname, 'ui/kanbanBoardPatcher.mjs'), 'utf8'),
317
+ );
318
+ }
319
+
320
+ function loadBrowserUserAvatarsSource() {
321
+ return stripModuleForBrowserInline(
322
+ readFileSync(join(__dirname, 'ui/userAvatars.mjs'), 'utf8'),
323
+ );
324
+ }
325
+
326
+ function loadBrowserWorkItemIssueTypeSource() {
327
+ return stripModuleForBrowserInline(
328
+ readFileSync(join(__dirname, 'ui/workItemIssueType.mjs'), 'utf8'),
329
+ );
330
+ }
331
+
332
+ function loadBrowserWorkItemClassifierSource() {
333
+ return [
334
+ stripModuleForBrowserInline(readFileSync(join(__dirname, 'workItemBlockClassifier.mjs'), 'utf8')),
335
+ stripModuleForBrowserInline(readFileSync(join(__dirname, 'ui/workItemClassifierBadge.mjs'), 'utf8')),
336
+ ].join('\n');
337
+ }
338
+
339
+ function loadBrowserDetailDrawerStackSource() {
340
+ return stripModuleForBrowserInline(
341
+ readFileSync(join(__dirname, 'detailDrawerStack.mjs'), 'utf8'),
342
+ );
343
+ }
344
+
345
+ function loadBrowserLiveSyncCoordinatorSource() {
346
+ return stripModuleForBrowserInline(
347
+ readFileSync(join(__dirname, 'ui/liveSyncCoordinator.mjs'), 'utf8'),
348
+ );
349
+ }
350
+
351
+ function loadBrowserLiveSyncSseAdapterSource() {
352
+ return stripModuleForBrowserInline(
353
+ readFileSync(join(__dirname, 'ui/liveSyncSseAdapter.mjs'), 'utf8'),
354
+ );
355
+ }
356
+
227
357
  const DEFAULT_HOST = '127.0.0.1';
228
358
  const DEFAULT_PORT = 4177;
229
359
 
@@ -334,7 +464,10 @@ export async function readArchitectureSnapshot(options = {}) {
334
464
  });
335
465
  }
336
466
 
337
- export function renderBacklogHtml() {
467
+ export function renderBacklogHtml(options = {}) {
468
+ const catalog = options.catalog ?? loadUiCatalogSync(options.locale ?? 'ru', options);
469
+ const { locale, t, messages } = createUiTranslator(catalog);
470
+ const i18nBootstrapScript = JSON.stringify({ locale, messages });
338
471
  const schematicModelFull = buildSchematicViewModel({ viewMode: GRAPH_CANVAS_VIEW_FULL });
339
472
  const schematicModelPipeline = buildSchematicViewModel({ viewMode: GRAPH_CANVAS_VIEW_PIPELINE });
340
473
  const architectureLayoutSource = loadBrowserArchitectureLayoutSource();
@@ -348,15 +481,27 @@ export function renderBacklogHtml() {
348
481
  const uiButtonClientSource = loadBrowserUiButtonClientSource();
349
482
  const uiBadgeClientSource = loadBrowserUiBadgeClientSource();
350
483
  const workItemStatusToneSource = loadBrowserWorkItemStatusToneSource();
351
- const shellNavHome = renderNavTab({ view: 'home', label: 'Главная', selected: true });
352
- const shellNavBoard = renderNavTab({ view: 'board', label: 'Доска', selected: false });
353
- const shellNavWorkflow = renderNavTab({ view: 'workflow', label: 'Задачи', selected: false });
354
- const shellNavVerification = renderNavTab({ view: 'verification', label: 'Проверки', selected: false });
355
- const shellNavPrompts = renderNavTab({ view: 'prompts', label: 'Промпты', selected: false });
356
- const shellNavMemory = renderNavTab({ view: 'memory', label: 'Память', selected: false });
357
- const shellNavAnalytics = renderNavTab({ view: 'analytics', label: 'Аналитика', selected: false });
358
- const shellNavArchitecture = renderNavTab({ view: 'architecture', label: 'Архитектура', selected: false });
359
- const shellThemeToggle = renderThemeToggleButton();
484
+ const kanbanBoardDeltaSource = loadBrowserKanbanBoardDeltaSource();
485
+ const kanbanBoardPatcherSource = loadBrowserKanbanBoardPatcherSource();
486
+ const userAvatarsSource = loadBrowserUserAvatarsSource();
487
+ const workItemIssueTypeSource = loadBrowserWorkItemIssueTypeSource();
488
+ const workItemClassifierSource = loadBrowserWorkItemClassifierSource();
489
+ const detailDrawerStackSource = loadBrowserDetailDrawerStackSource();
490
+ const liveSyncCoordinatorSource = loadBrowserLiveSyncCoordinatorSource();
491
+ const liveSyncSseAdapterSource = loadBrowserLiveSyncSseAdapterSource();
492
+ const bvcDialectSectionTitles = Object.fromEntries(
493
+ ['en', 'ru'].map((lang) => [lang, Object.fromEntries(getFieldSectionsForDialect(lang))]),
494
+ );
495
+ const shellNavAnalytics = renderNavTab({ view: 'analytics', label: t('nav.analytics'), selected: true });
496
+ const shellNavWorkflow = renderNavTab({ view: 'workflow', label: t('nav.workflow'), selected: false });
497
+ const shellNavBoard = renderNavTab({ view: 'board', label: t('nav.board'), selected: false });
498
+ const shellNavVerification = renderNavTab({ view: 'verification', label: t('nav.verification'), selected: false });
499
+ const shellNavMemory = renderNavTab({ view: 'memory', label: t('nav.memory'), selected: false });
500
+ const shellNavArchitecture = renderNavTab({ view: 'architecture', label: t('nav.architecture'), selected: false });
501
+ const shellNavPrompts = renderNavTab({ view: 'prompts', label: t('nav.prompts'), selected: false });
502
+ const shellSettingsNav = renderSettingsNavTab({ label: t('nav.settings') });
503
+ const shellHeaderThemeToggle = renderHeaderThemeToggleButton({ ariaLabel: t('theme.toggleAria') });
504
+ const shellSettingsLocaleOptions = renderSettingsLocaleOptions({ locale, t });
360
505
  const shellDetailClose = renderDetailCloseButton();
361
506
  const shellDetailSubClose = renderDetailSubCloseButton();
362
507
  const shellAgentDockClose = renderAgentRunDockCloseButton();
@@ -367,14 +512,34 @@ export function renderBacklogHtml() {
367
512
  const shellCycleFilterSelect = renderCycleFilterSelect();
368
513
  const shellIntentDomainFilterSelect = renderIntentDomainFilterSelect();
369
514
  const shellAnalyticsSubtabs = renderAnalyticsSubtabsShell();
370
- const shellWorkflowSubtabs = renderWorkflowSubtabsShell();
515
+ const shellWorkflowSubtabs = renderWorkflowSubtabsShell({
516
+ backlog: t('workflow.tab.backlog'),
517
+ archive: t('workflow.tab.archive'),
518
+ });
371
519
  const shellArchitectureSubtabs = renderArchitectureSubtabsShell();
372
520
  const shellWorkflowDisplayModeSelect = renderWorkflowDisplayModeSelect();
521
+ const themeIconMoonHtml = renderThemeIcon('moon');
522
+ const themeIconSunHtml = renderThemeIcon('sun');
373
523
  return `<!doctype html>
374
- <html lang="ru" data-iohasc-theme="workgraph-dark">
524
+ <html lang="${locale}" data-iohasc-theme="workgraph-dark">
375
525
  <head>
376
526
  <meta charset="utf-8">
377
527
  <meta name="viewport" content="width=device-width, initial-scale=1">
528
+ <script id="sidebar-width-bootstrap">
529
+ (function () {
530
+ var key = 'workGraphSidebarWidth';
531
+ var min = 56;
532
+ var max = 360;
533
+ var fallback = 252;
534
+ var compactMax = 80;
535
+ var raw = Number(localStorage.getItem(key));
536
+ var width = Number.isFinite(raw) ? Math.max(min, Math.min(max, raw)) : fallback;
537
+ document.documentElement.style.setProperty('--sidebar-width', width + 'px');
538
+ if (width <= compactMax) {
539
+ document.documentElement.classList.add('is-sidebar-compact');
540
+ }
541
+ })();
542
+ </script>
378
543
  <title>Work Graph: атомы задач</title>
379
544
  <link rel="stylesheet" href="/assets/fonts/GraphikLCG/stylesheet.css">
380
545
  <link rel="stylesheet" href="/assets/graph-canvas-lit-flow.css">
@@ -402,31 +567,37 @@ export function renderBacklogHtml() {
402
567
  --scrollbar-thumb: rgba(9, 30, 66, 0.28);
403
568
  --scrollbar-thumb-hover: rgba(9, 30, 66, 0.42);
404
569
  --scrollbar-thumb-active: var(--accent);
405
- --sidebar-width: 224px;
570
+ --sidebar-width: 252px;
571
+ --sidebar-width-compact: 56px;
572
+ --sidebar-width-min: 56px;
573
+ --sidebar-width-max: 360px;
574
+ --sidebar-width-default: 252px;
575
+ --sidebar-compact-ui-max: 80px;
406
576
  }
407
577
 
408
578
  body[data-theme="dark"] {
409
579
  color-scheme: dark;
410
- --bg: rgb(var(--brand-bg-rgb, 30 30 30));
411
- --header-bg: rgb(var(--brand-bg-rgb, 24 24 24));
412
- --panel: rgb(var(--ui-surface-rgb, 37 37 38));
413
- --panel-2: rgb(var(--ui-surface-muted-rgb, 45 45 48));
414
- --card: rgb(var(--ui-surface-rgb, 31 31 31));
415
- --border: rgb(var(--brand-border-rgb, 60 60 60));
416
- --text: rgb(var(--ui-text-rgb, 212 212 212));
417
- --muted: rgb(var(--ui-muted-rgb, 157 157 157));
418
- --accent: rgb(var(--ui-accent-rgb, 0 102 255));
419
- --accent-soft: rgba(var(--ui-accent-rgb, 0 102 255), 0.16);
420
- --warn: #f0ad4e;
421
- --danger: rgb(var(--ui-danger-rgb, 241 76 76));
422
- --ok: #6a9955;
423
- --shadow-card: 0 1px 1px rgba(0, 0, 0, .28);
580
+ --bg: rgb(var(--brand-bg-rgb, 29 33 37));
581
+ --header-bg: rgb(22 26 29);
582
+ --panel: rgb(var(--ui-surface-rgb, 44 51 56));
583
+ --panel-2: rgb(var(--ui-surface-muted-rgb, 56 65 74));
584
+ --column-bg: rgb(22 26 29);
585
+ --card: rgb(40 46 51);
586
+ --border: rgb(var(--brand-border-rgb, 61 71 77));
587
+ --text: rgb(var(--ui-text-rgb, 199 209 219));
588
+ --muted: rgb(var(--ui-muted-rgb, 159 173 188));
589
+ --accent: rgb(var(--ui-accent-rgb, 133 184 255));
590
+ --accent-soft: rgba(9, 41, 87, 0.72);
591
+ --warn: #e2b203;
592
+ --danger: rgb(var(--ui-danger-rgb, 255 156 143));
593
+ --ok: #4bce97;
594
+ --shadow-card: 0 1px 1px rgba(0, 0, 0, .32);
424
595
  --scrollbar-track: var(--bg);
425
- --scrollbar-thumb: rgba(255, 255, 255, 0.22);
426
- --scrollbar-thumb-hover: rgba(255, 255, 255, 0.34);
596
+ --scrollbar-thumb: rgba(161, 189, 217, 0.22);
597
+ --scrollbar-thumb-hover: rgba(161, 189, 217, 0.34);
427
598
  --scrollbar-thumb-active: var(--accent);
428
- --cursor-accent: rgb(var(--ui-accent-rgb, 0 102 255));
429
- --cursor-accent-hover: rgb(var(--ui-accent-hover-rgb, 0 90 230));
599
+ --cursor-accent: rgb(var(--ui-accent-rgb, 133 184 255));
600
+ --cursor-accent-hover: rgb(var(--ui-accent-hover-rgb, 87 157 255));
430
601
  }
431
602
 
432
603
  * { box-sizing: border-box; }
@@ -517,9 +688,40 @@ export function renderBacklogHtml() {
517
688
  overflow-x: hidden;
518
689
  overflow-y: auto;
519
690
  padding: 16px 0 12px;
691
+ position: relative;
520
692
  width: var(--sidebar-width);
521
693
  }
522
694
 
695
+ .sidebar-resize-handle {
696
+ bottom: 0;
697
+ cursor: col-resize;
698
+ position: absolute;
699
+ right: -6px;
700
+ top: 0;
701
+ width: 12px;
702
+ z-index: 3;
703
+ }
704
+
705
+ .sidebar-resize-handle::after {
706
+ background: transparent;
707
+ bottom: 0;
708
+ content: "";
709
+ position: absolute;
710
+ right: 5px;
711
+ top: 0;
712
+ width: 2px;
713
+ }
714
+
715
+ .sidebar-resize-handle:hover::after,
716
+ body.is-resizing-sidebar .sidebar-resize-handle::after {
717
+ background: var(--accent);
718
+ }
719
+
720
+ body.is-resizing-sidebar {
721
+ cursor: col-resize;
722
+ user-select: none;
723
+ }
724
+
523
725
  .sidebar-footer {
524
726
  border-top: 1px solid var(--border);
525
727
  margin-top: auto;
@@ -550,25 +752,28 @@ export function renderBacklogHtml() {
550
752
  }
551
753
 
552
754
  .sidebar-nav-advanced {
755
+ border-top: 1px solid var(--border);
553
756
  margin-top: 8px;
757
+ padding-top: 8px;
554
758
  }
555
759
 
556
760
  .nav-tab {
557
761
  align-items: center;
558
762
  background: transparent;
559
763
  border: 0;
560
- border-left: 3px solid transparent;
561
- border-radius: 0 3px 3px 0;
764
+ border-radius: 10px;
562
765
  box-sizing: border-box;
563
766
  color: var(--text);
564
767
  cursor: pointer;
565
768
  display: flex;
566
769
  font: inherit;
567
- font-size: var(--text-sm);
568
- gap: 8px;
770
+ font-size: var(--text-base);
771
+ gap: 10px;
569
772
  justify-content: flex-start;
773
+ line-height: var(--text-base-line-height, 1.5rem);
570
774
  min-width: 0;
571
- padding: 8px 10px 8px 7px;
775
+ padding: 9px 12px;
776
+ position: relative;
572
777
  text-align: left;
573
778
  width: 100%;
574
779
  }
@@ -579,15 +784,13 @@ export function renderBacklogHtml() {
579
784
 
580
785
  .nav-tab[aria-selected="true"] {
581
786
  background: #ebecf0;
582
- border-left-color: var(--accent);
583
787
  color: var(--accent);
584
788
  font-weight: 600;
585
789
  }
586
790
 
587
791
  body[data-theme="dark"] .nav-tab[aria-selected="true"] {
588
- background: #17324d;
589
- border-left-color: var(--accent);
590
- color: #cce0ff;
792
+ background: #092957;
793
+ color: #85b8ff;
591
794
  }
592
795
 
593
796
  .nav-tab[disabled] {
@@ -596,6 +799,20 @@ export function renderBacklogHtml() {
596
799
  opacity: .62;
597
800
  }
598
801
 
802
+ .nav-tab-icon {
803
+ display: block;
804
+ flex-shrink: 0;
805
+ height: 22px;
806
+ width: 22px;
807
+ }
808
+
809
+ .nav-tab-label {
810
+ min-width: 0;
811
+ overflow: hidden;
812
+ text-overflow: ellipsis;
813
+ white-space: nowrap;
814
+ }
815
+
599
816
  .badge {
600
817
  background: #ebecf0;
601
818
  border: 0;
@@ -733,9 +950,25 @@ export function renderBacklogHtml() {
733
950
  }
734
951
 
735
952
  .page-header {
953
+ align-items: flex-start;
954
+ display: flex;
955
+ gap: 12px;
956
+ justify-content: space-between;
736
957
  margin-bottom: 16px;
737
958
  }
738
959
 
960
+ .page-header-main {
961
+ min-width: 0;
962
+ }
963
+
964
+ .page-header-actions {
965
+ align-items: center;
966
+ display: flex;
967
+ flex-shrink: 0;
968
+ gap: 8px;
969
+ margin-top: 2px;
970
+ }
971
+
739
972
  .breadcrumbs {
740
973
  align-items: center;
741
974
  color: var(--muted);
@@ -760,11 +993,12 @@ export function renderBacklogHtml() {
760
993
  font-weight: 500;
761
994
  }
762
995
 
763
- .page-header h1 {
764
- font-size: var(--text-2xl, 1.4375rem);
996
+ .page-header h1,
997
+ #view-title {
998
+ font-size: 2rem;
765
999
  font-weight: var(--font-weight-strong, 600);
766
1000
  letter-spacing: var(--text-heading-letter-spacing, 0.01em);
767
- line-height: var(--text-2xl-line-height, 1.875rem);
1001
+ line-height: 2.5rem;
768
1002
  margin: 0;
769
1003
  }
770
1004
 
@@ -800,7 +1034,9 @@ export function renderBacklogHtml() {
800
1034
 
801
1035
  body[data-theme="dark"] .workflow-subtab.is-active,
802
1036
  body[data-theme="dark"] .workflow-subtab[aria-selected="true"] {
803
- background: rgba(0, 102, 255, 0.16);
1037
+ background: #092957;
1038
+ border-color: #388bff;
1039
+ color: #85b8ff;
804
1040
  }
805
1041
 
806
1042
  .workflow-panel[hidden] {
@@ -876,8 +1112,9 @@ export function renderBacklogHtml() {
876
1112
  }
877
1113
 
878
1114
  body[data-theme="dark"] .board-tab.is-active {
879
- background: #17324d;
880
- color: #cce0ff;
1115
+ background: #092957;
1116
+ border-color: #388bff;
1117
+ color: #85b8ff;
881
1118
  }
882
1119
 
883
1120
  .toolbar {
@@ -943,6 +1180,114 @@ export function renderBacklogHtml() {
943
1180
  width: 100%;
944
1181
  }
945
1182
 
1183
+ .header-theme-toggle {
1184
+ align-items: center;
1185
+ background: var(--panel);
1186
+ border: 1px solid var(--border);
1187
+ border-radius: 8px;
1188
+ color: var(--text);
1189
+ cursor: pointer;
1190
+ display: inline-flex;
1191
+ height: 36px;
1192
+ justify-content: center;
1193
+ padding: 0;
1194
+ width: 36px;
1195
+ }
1196
+
1197
+ .header-theme-toggle:hover {
1198
+ border-color: var(--accent);
1199
+ color: var(--accent);
1200
+ }
1201
+
1202
+ .header-theme-toggle-icon {
1203
+ display: block;
1204
+ }
1205
+
1206
+ .settings-panel {
1207
+ display: grid;
1208
+ gap: 12px;
1209
+ max-width: 720px;
1210
+ }
1211
+
1212
+ .settings-section {
1213
+ background: var(--panel);
1214
+ border: 1px solid var(--border);
1215
+ border-radius: 8px;
1216
+ box-shadow: var(--shadow-card);
1217
+ display: grid;
1218
+ gap: 12px;
1219
+ padding: 14px 16px;
1220
+ }
1221
+
1222
+ .settings-section h2 {
1223
+ font-size: var(--text-lg);
1224
+ margin: 0;
1225
+ }
1226
+
1227
+ .settings-row {
1228
+ align-items: center;
1229
+ display: flex;
1230
+ flex-wrap: wrap;
1231
+ gap: 10px 16px;
1232
+ justify-content: space-between;
1233
+ }
1234
+
1235
+ .settings-row label,
1236
+ .settings-row > span:first-child {
1237
+ color: var(--text);
1238
+ font-size: var(--text-sm);
1239
+ font-weight: 500;
1240
+ }
1241
+
1242
+ .settings-theme-options,
1243
+ .settings-locale-options {
1244
+ display: inline-flex;
1245
+ gap: 8px;
1246
+ }
1247
+
1248
+ .settings-theme-options .wg-btn.is-active,
1249
+ .settings-locale-options .wg-btn.is-active {
1250
+ border-color: var(--accent);
1251
+ }
1252
+
1253
+ body:not([data-theme="dark"]) .settings-theme-options .wg-btn--secondary.is-active,
1254
+ body:not([data-theme="dark"]) .settings-locale-options .wg-btn--secondary.is-active {
1255
+ background: var(--accent-soft);
1256
+ color: var(--accent);
1257
+ }
1258
+
1259
+ body[data-theme="dark"] .settings-theme-options .wg-btn--secondary.is-active,
1260
+ body[data-theme="dark"] .settings-locale-options .wg-btn--secondary.is-active {
1261
+ background: #092957;
1262
+ border-color: #388bff;
1263
+ color: #85b8ff;
1264
+ }
1265
+
1266
+ .settings-version-value {
1267
+ font-family: var(--brand-font-mono, monospace);
1268
+ font-size: var(--text-sm);
1269
+ }
1270
+
1271
+ .settings-update-status {
1272
+ color: var(--muted);
1273
+ font-size: var(--text-sm);
1274
+ margin: 0;
1275
+ }
1276
+
1277
+ .settings-install-command {
1278
+ background: var(--panel-2);
1279
+ border: 1px solid var(--border);
1280
+ border-radius: 6px;
1281
+ font-family: var(--brand-font-mono, monospace);
1282
+ font-size: 12px;
1283
+ padding: 8px 10px;
1284
+ word-break: break-all;
1285
+ }
1286
+
1287
+ .nav-tab-settings {
1288
+ margin-top: 2px;
1289
+ }
1290
+
946
1291
  .theme-toggle:hover {
947
1292
  border-color: var(--accent);
948
1293
  }
@@ -1080,7 +1425,7 @@ export function renderBacklogHtml() {
1080
1425
 
1081
1426
  .code-gap-intake-preview,
1082
1427
  .code-gap-intake-errors {
1083
- background: #1e1e1e;
1428
+ background: var(--panel);
1084
1429
  border: 1px solid var(--border);
1085
1430
  border-radius: 6px;
1086
1431
  color: var(--text);
@@ -1270,10 +1615,6 @@ export function renderBacklogHtml() {
1270
1615
  padding: 8px 8px 12px;
1271
1616
  }
1272
1617
 
1273
- body[data-theme="dark"] .column {
1274
- background: var(--panel-2);
1275
- }
1276
-
1277
1618
  .column h2 {
1278
1619
  align-items: center;
1279
1620
  display: flex;
@@ -1302,7 +1643,7 @@ export function renderBacklogHtml() {
1302
1643
  }
1303
1644
 
1304
1645
  body[data-theme="dark"] .count {
1305
- background: var(--panel-2);
1646
+ background: rgb(var(--ui-surface-rgb, 44 51 56));
1306
1647
  color: var(--muted);
1307
1648
  }
1308
1649
 
@@ -1328,8 +1669,28 @@ export function renderBacklogHtml() {
1328
1669
  }
1329
1670
 
1330
1671
  body[data-theme="dark"] .task-atom:hover {
1331
- background: var(--card);
1332
- border-color: #555555;
1672
+ background: rgb(var(--ui-surface-hover-rgb, 56 65 74));
1673
+ border-color: rgb(var(--brand-border-rgb, 61 71 77));
1674
+ }
1675
+
1676
+ .task-atom.kanban-card.is-new {
1677
+ animation: kanban-card-new 1.2s ease-out;
1678
+ box-shadow: 0 0 0 2px var(--accent-soft);
1679
+ }
1680
+
1681
+ @keyframes kanban-card-new {
1682
+ 0% { background: var(--accent-soft); }
1683
+ 100% { background: var(--card); }
1684
+ }
1685
+
1686
+ .detail-remote-update-banner {
1687
+ background: var(--accent-soft);
1688
+ border: 1px solid var(--accent);
1689
+ border-radius: 4px;
1690
+ color: var(--accent);
1691
+ font-size: 13px;
1692
+ margin-bottom: 10px;
1693
+ padding: 8px 10px;
1333
1694
  }
1334
1695
 
1335
1696
  .task-atom h3 {
@@ -1376,23 +1737,91 @@ export function renderBacklogHtml() {
1376
1737
  min-width: 0;
1377
1738
  }
1378
1739
 
1379
- .owner-avatar {
1740
+ .issue-key-chip {
1380
1741
  align-items: center;
1381
- background: #deebff;
1742
+ display: inline-flex;
1743
+ flex: 0 1 auto;
1744
+ gap: 6px;
1745
+ min-width: 0;
1746
+ }
1747
+
1748
+ .issue-type-icon {
1749
+ align-items: center;
1750
+ border-radius: 2px;
1751
+ display: inline-flex;
1752
+ flex-shrink: 0;
1753
+ height: 16px;
1754
+ justify-content: center;
1755
+ width: 16px;
1756
+ }
1757
+
1758
+ .issue-type-icon svg {
1759
+ display: block;
1760
+ }
1761
+
1762
+ .issue-type-icon.is-task {
1763
+ background: #2684ff;
1764
+ }
1765
+
1766
+ .issue-type-icon.is-story {
1767
+ background: #36b37e;
1768
+ }
1769
+
1770
+ .issue-type-icon.is-epic {
1771
+ background: #6554c0;
1772
+ }
1773
+
1774
+ .issue-type-icon.is-subtask {
1775
+ background: #0065ff;
1776
+ }
1777
+
1778
+ .issue-type-icon.is-bug {
1779
+ background: #ff5630;
1780
+ }
1781
+
1782
+ .issue-key-text {
1783
+ color: var(--muted);
1784
+ font-family: inherit;
1785
+ font-size: var(--text-sm);
1786
+ font-weight: 500;
1787
+ letter-spacing: 0;
1788
+ line-height: 1.2;
1789
+ min-width: 0;
1790
+ overflow: hidden;
1791
+ text-overflow: ellipsis;
1792
+ text-transform: none;
1793
+ white-space: nowrap;
1794
+ }
1795
+
1796
+ .owner-avatar {
1382
1797
  border-radius: 50%;
1383
- color: #0747a6;
1384
1798
  display: inline-flex;
1385
1799
  flex: 0 0 auto;
1386
- font-size: var(--text-sm);
1387
- font-weight: 700;
1388
1800
  height: 28px;
1389
- justify-content: center;
1801
+ overflow: hidden;
1390
1802
  width: 28px;
1391
1803
  }
1392
1804
 
1393
- body[data-theme="dark"] .owner-avatar {
1394
- background: #17324d;
1395
- color: #cce0ff;
1805
+ .owner-avatar img {
1806
+ display: block;
1807
+ height: 100%;
1808
+ object-fit: cover;
1809
+ width: 100%;
1810
+ }
1811
+
1812
+ .owner-avatar-stack {
1813
+ align-items: center;
1814
+ display: inline-flex;
1815
+ flex: 0 0 auto;
1816
+ }
1817
+
1818
+ .owner-avatar-stack .owner-avatar {
1819
+ box-shadow: 0 0 0 2px var(--bg);
1820
+ margin-left: -8px;
1821
+ }
1822
+
1823
+ .owner-avatar-stack .owner-avatar:first-child {
1824
+ margin-left: 0;
1396
1825
  }
1397
1826
 
1398
1827
  .semantic-core {
@@ -1403,7 +1832,8 @@ export function renderBacklogHtml() {
1403
1832
  color: #5e6c84;
1404
1833
  font-size: var(--text-base);
1405
1834
  line-height: 1.35;
1406
- overflow-wrap: anywhere;
1835
+ overflow-wrap: break-word;
1836
+ word-break: normal;
1407
1837
  }
1408
1838
 
1409
1839
  body[data-theme="dark"] .semantic-line {
@@ -1851,7 +2281,7 @@ export function renderBacklogHtml() {
1851
2281
 
1852
2282
  body[data-theme="dark"] .list-row.is-selected,
1853
2283
  body[data-theme="dark"] .list-row.is-highlighted {
1854
- background: #2d333b;
2284
+ background: rgb(var(--ui-surface-rgb, 44 51 56));
1855
2285
  }
1856
2286
 
1857
2287
  .list-row.is-selected {
@@ -2324,6 +2754,42 @@ export function renderBacklogHtml() {
2324
2754
  transform: translateX(0);
2325
2755
  }
2326
2756
 
2757
+ .detail-stack-breadcrumb {
2758
+ color: var(--muted);
2759
+ font-size: 12px;
2760
+ line-height: 1.35;
2761
+ margin-top: 4px;
2762
+ }
2763
+
2764
+ .detail-stack-crumb-sep {
2765
+ margin: 0 4px;
2766
+ opacity: .65;
2767
+ }
2768
+
2769
+ .detail-stack-crumb.is-current {
2770
+ color: var(--text);
2771
+ }
2772
+
2773
+ .atom-inspector-lang-badge {
2774
+ display: inline-block;
2775
+ font-size: 11px;
2776
+ font-weight: 600;
2777
+ letter-spacing: .04em;
2778
+ margin-left: 8px;
2779
+ opacity: .75;
2780
+ text-transform: uppercase;
2781
+ }
2782
+
2783
+ .atom-inspector-warnings {
2784
+ background: rgba(255, 171, 0, .12);
2785
+ border: 1px solid rgba(255, 171, 0, .35);
2786
+ border-radius: 6px;
2787
+ color: var(--text);
2788
+ font-size: 12px;
2789
+ margin: 8px 0 12px;
2790
+ padding: 8px 10px;
2791
+ }
2792
+
2327
2793
  .detail-resize-handle {
2328
2794
  bottom: 0;
2329
2795
  cursor: col-resize;
@@ -2887,6 +3353,19 @@ export function renderBacklogHtml() {
2887
3353
  text-transform: uppercase;
2888
3354
  }
2889
3355
 
3356
+ .analytics-section-header {
3357
+ align-items: center;
3358
+ display: flex;
3359
+ flex-wrap: wrap;
3360
+ gap: 8px 12px;
3361
+ justify-content: space-between;
3362
+ margin-bottom: 8px;
3363
+ }
3364
+
3365
+ .analytics-section-header .analytics-section-title {
3366
+ margin: 0;
3367
+ }
3368
+
2890
3369
  .analytics-query-section {
2891
3370
  margin-bottom: 14px;
2892
3371
  }
@@ -2947,6 +3426,40 @@ export function renderBacklogHtml() {
2947
3426
  white-space: nowrap;
2948
3427
  }
2949
3428
 
3429
+ .analytics-lineage-badge {
3430
+ color: var(--muted);
3431
+ font-size: var(--font-size-sm);
3432
+ }
3433
+
3434
+ .analytics-lineage-section {
3435
+ margin-top: 16px;
3436
+ }
3437
+
3438
+ .analytics-lineage-list {
3439
+ display: grid;
3440
+ gap: 8px;
3441
+ list-style: none;
3442
+ margin: 0;
3443
+ padding: 0;
3444
+ }
3445
+
3446
+ .analytics-lineage-nav-btn {
3447
+ background: var(--panel-2);
3448
+ border: 1px solid var(--border);
3449
+ border-radius: 6px;
3450
+ color: var(--accent);
3451
+ cursor: pointer;
3452
+ display: block;
3453
+ font: inherit;
3454
+ padding: 10px 12px;
3455
+ text-align: left;
3456
+ width: 100%;
3457
+ }
3458
+
3459
+ .analytics-lineage-nav-btn:hover {
3460
+ border-color: var(--accent);
3461
+ }
3462
+
2950
3463
  .analytics-intent-options,
2951
3464
  .analytics-intent-decision,
2952
3465
  .intent-graph-drilldown {
@@ -3507,21 +4020,68 @@ export function renderBacklogHtml() {
3507
4020
  margin-top: 0;
3508
4021
  }
3509
4022
 
4023
+ html.is-sidebar-compact .sidebar {
4024
+ padding: 8px 0;
4025
+ }
4026
+
4027
+ html.is-sidebar-compact .project-title {
4028
+ display: none;
4029
+ }
4030
+
4031
+ html.is-sidebar-compact .sidebar-nav,
4032
+ html.is-sidebar-compact .sidebar-nav-advanced {
4033
+ grid-template-columns: 1fr;
4034
+ padding: 4px 6px 0;
4035
+ }
4036
+
4037
+ html.is-sidebar-compact .sidebar-nav-advanced {
4038
+ margin-top: 4px;
4039
+ padding-top: 4px;
4040
+ }
4041
+
4042
+ html.is-sidebar-compact .sidebar-footer {
4043
+ padding: 8px 6px 0;
4044
+ }
4045
+
4046
+ html.is-sidebar-compact .nav-tab {
4047
+ gap: 0;
4048
+ justify-content: center;
4049
+ padding: 10px 8px;
4050
+ }
4051
+
4052
+ html.is-sidebar-compact .nav-tab-label {
4053
+ border: 0;
4054
+ clip: rect(0 0 0 0);
4055
+ height: 1px;
4056
+ margin: -1px;
4057
+ overflow: hidden;
4058
+ padding: 0;
4059
+ position: absolute;
4060
+ white-space: nowrap;
4061
+ width: 1px;
4062
+ }
4063
+
3510
4064
  @media (max-width: 900px) {
3511
- .app-shell { grid-template-columns: 1fr; }
3512
- .sidebar {
3513
- border-bottom: 1px solid var(--border);
3514
- border-right: 0;
3515
- max-width: none;
3516
- min-width: 0;
3517
- width: 100%;
3518
- }
3519
- .sidebar-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
3520
4065
  .board { grid-template-columns: minmax(260px, 1fr); }
3521
4066
  .detail-drawer { width: 100vw; }
3522
4067
  }
3523
- ${MISSION_CONTROL_CSS}
3524
- ${UI_BUTTON_CSS}
4068
+ ${MISSION_CONTROL_CSS}
4069
+ ${UI_BUTTON_CSS}
4070
+ body:not([data-theme="dark"]) .wg-btn--secondary {
4071
+ background: var(--panel-2);
4072
+ color: var(--text);
4073
+ border-color: var(--border);
4074
+ }
4075
+ body:not([data-theme="dark"]) .wg-btn--secondary:hover:not(:disabled) {
4076
+ background: #ebecf0;
4077
+ color: var(--text);
4078
+ border-color: #c1c7d0;
4079
+ }
4080
+ body:not([data-theme="dark"]) .wg-btn--inverse {
4081
+ background: var(--panel);
4082
+ color: var(--text);
4083
+ border-color: var(--border);
4084
+ }
3525
4085
  ${UI_BADGE_CSS}
3526
4086
  ${UI_SELECT_CSS}
3527
4087
  ${UI_TABS_CSS}
@@ -3669,32 +4229,46 @@ export function renderBacklogHtml() {
3669
4229
  data-testid="workgraph-logo"
3670
4230
  >
3671
4231
  </div>
3672
- <nav class="sidebar-nav" aria-label="Разделы">
3673
- ${shellNavHome}
3674
- ${shellNavBoard}
4232
+ <nav class="sidebar-nav" aria-label="Канон Work Graph">
4233
+ ${shellNavAnalytics}
3675
4234
  ${shellNavWorkflow}
4235
+ ${shellNavBoard}
3676
4236
  ${shellNavVerification}
4237
+ ${shellNavMemory}
4238
+ </nav>
4239
+ <nav class="sidebar-nav sidebar-nav-advanced" aria-label="Дополнительно">
3677
4240
  ${shellNavArchitecture}
3678
4241
  ${shellNavPrompts}
3679
- ${shellNavMemory}
3680
- ${shellNavAnalytics}
3681
4242
  </nav>
3682
4243
  <div class="sidebar-footer">
3683
- ${shellThemeToggle}
4244
+ ${shellSettingsNav}
3684
4245
  </div>
4246
+ <div
4247
+ id="sidebar-resize-handle"
4248
+ class="sidebar-resize-handle"
4249
+ role="separator"
4250
+ tabindex="0"
4251
+ aria-orientation="vertical"
4252
+ aria-label="Изменить ширину боковой панели"
4253
+ aria-valuemin="56"
4254
+ aria-valuemax="360"
4255
+ data-testid="sidebar-resize-handle"
4256
+ ></div>
3685
4257
  </aside>
3686
4258
  <main class="content">
3687
4259
  <header class="page-header">
3688
- <nav class="breadcrumbs" aria-label="Хлебные крошки">
3689
- <span class="breadcrumb-current" id="breadcrumb-project">Work Graph</span>
3690
- </nav>
3691
- <h1 id="view-title">Главная</h1>
4260
+ <div class="page-header-main">
4261
+ <nav class="breadcrumbs" aria-label="Хлебные крошки">
4262
+ <span class="breadcrumb-current" id="breadcrumb-project">Work Graph</span>
4263
+ </nav>
4264
+ <h1 id="view-title">${t('view.analytics')}</h1>
4265
+ </div>
4266
+ <div class="page-header-actions">
4267
+ ${shellHeaderThemeToggle}
4268
+ </div>
3692
4269
  </header>
3693
- <section id="home-view" class="view" data-testid="home-view" aria-live="polite">
3694
- <article id="home-mission-control-root" class="home-mission-control"></article>
3695
- </section>
3696
4270
  <section id="view-toolbar" class="toolbar" hidden>
3697
- <input id="search" class="search" type="search" placeholder="Поиск задач..." autocomplete="off">
4271
+ <input id="search" class="search" type="search" placeholder="${t('search.placeholder')}" autocomplete="off">
3698
4272
  ${shellSearchModeSelect}
3699
4273
  <div id="workflow-filters" class="workflow-filters" aria-label="Фильтры потока">
3700
4274
  ${shellCycleFilterSelect}
@@ -3707,12 +4281,18 @@ export function renderBacklogHtml() {
3707
4281
  <article id="verification-panel" class="verification-panel">
3708
4282
  <header class="verification-panel-header">
3709
4283
  <div>
3710
- <h2>Цикл проверки</h2>
3711
- <p>Детерминированные тесты уровня A отделены от опциональных гейтов OneBase и LLM. Только чтение — проекция из свидетельств Work Graph.</p>
4284
+ <h2>${t('verification.title')}</h2>
4285
+ <p>${t('verification.subtitle')}</p>
3712
4286
  </div>
3713
4287
  <div id="verification-tier-badges" class="verification-tier-badges"></div>
3714
4288
  </header>
3715
4289
  <div id="verification-matrix-wrap"></div>
4290
+ <div>
4291
+ <h3 style="font-size:14px;margin:0 0 6px">Контракт gate-задач <span id="verification-contract-count" class="badge">0</span></h3>
4292
+ <p class="empty" style="margin:0 0 8px">Projection work-item-contract.v1 и readiness (violations[]) для задач из VERIFICATION_MATRIX.</p>
4293
+ <div id="verification-contract-health" class="prompts-summary" data-testid="verification-contract-health"></div>
4294
+ <ul id="verification-contract-list" class="verification-evidence-list" data-testid="verification-contract-list"></ul>
4295
+ </div>
3716
4296
  <div>
3717
4297
  <h3 style="font-size:14px;margin:0 0 6px">Гейт codegen <span id="codegen-gate-count" class="badge">0</span></h3>
3718
4298
  <p class="empty" style="margin:0 0 8px">Успех или провал проверки codegen для WorkItems с меткой trace.codegen (целостность, roundtrip, bracket IR).</p>
@@ -3812,6 +4392,41 @@ export function renderBacklogHtml() {
3812
4392
  <div id="architecture-blocks-list" class="backlog-list list-rows" data-testid="architecture-blocks-list"></div>
3813
4393
  </article>
3814
4394
  </section>
4395
+ <section id="settings-view" class="view" aria-live="polite" hidden>
4396
+ <div class="settings-panel" data-testid="settings-panel">
4397
+ <article class="settings-section" aria-labelledby="settings-appearance-title">
4398
+ <h2 id="settings-appearance-title">${t('settings.appearance.title')}</h2>
4399
+ <div class="settings-row">
4400
+ <label for="settings-theme-light">${t('settings.appearance.theme')}</label>
4401
+ <div class="settings-theme-options" role="group" aria-label="${t('settings.appearance.theme')}">
4402
+ <button type="button" class="wg-btn wg-btn--secondary wg-btn--sm" id="settings-theme-light" data-settings-theme="light">${t('settings.appearance.themeLight')}</button>
4403
+ <button type="button" class="wg-btn wg-btn--secondary wg-btn--sm" id="settings-theme-dark" data-settings-theme="dark">${t('settings.appearance.themeDark')}</button>
4404
+ </div>
4405
+ </div>
4406
+ </article>
4407
+ <article class="settings-section" aria-labelledby="settings-language-title">
4408
+ <h2 id="settings-language-title">${t('settings.language.title')}</h2>
4409
+ <div class="settings-row">
4410
+ <span id="settings-language-label">${t('settings.language.label')}</span>
4411
+ <div class="settings-locale-options" role="group" aria-labelledby="settings-language-label" data-testid="settings-locale-options">
4412
+ ${shellSettingsLocaleOptions}
4413
+ </div>
4414
+ </div>
4415
+ </article>
4416
+ <article class="settings-section" aria-labelledby="settings-about-title">
4417
+ <h2 id="settings-about-title">${t('settings.about.title')}</h2>
4418
+ <div class="settings-row">
4419
+ <label>${t('settings.about.version')}</label>
4420
+ <span id="settings-version-value" class="settings-version-value" data-testid="settings-version-value">—</span>
4421
+ </div>
4422
+ <div class="settings-row">
4423
+ <button type="button" class="wg-btn wg-btn--secondary wg-btn--sm" id="settings-check-update" data-testid="settings-check-update">${t('settings.about.checkUpdate')}</button>
4424
+ </div>
4425
+ <p id="settings-update-status" class="settings-update-status" data-testid="settings-update-status" hidden></p>
4426
+ <code id="settings-install-command" class="settings-install-command" data-testid="settings-install-command" hidden></code>
4427
+ </article>
4428
+ </div>
4429
+ </section>
3815
4430
  <section id="board-view" class="view" aria-live="polite" hidden>
3816
4431
  <div id="kanban-board" class="board kanban-board" data-testid="kanban-board-panel" aria-label="Kanban planning columns"></div>
3817
4432
  <div id="board" class="board"></div>
@@ -3820,7 +4435,7 @@ export function renderBacklogHtml() {
3820
4435
  ${shellWorkflowSubtabs}
3821
4436
  <article id="workflow-backlog-panel" class="list-panel backlog-panel workflow-panel" role="tabpanel" aria-labelledby="workflow-tab-backlog">
3822
4437
  <header class="list-panel-header backlog-panel-header">
3823
- <h2>Бэклог</h2>
4438
+ <h2>${t('workflow.panel.backlog')}</h2>
3824
4439
  <span id="backlog-panel-count" class="count">0</span>
3825
4440
  </header>
3826
4441
  <div id="backlog-list" class="backlog-list list-rows"></div>
@@ -3828,7 +4443,7 @@ export function renderBacklogHtml() {
3828
4443
  </article>
3829
4444
  <article id="workflow-archive-panel" class="list-panel backlog-panel workflow-panel" role="tabpanel" aria-labelledby="workflow-tab-archive" hidden>
3830
4445
  <header class="list-panel-header backlog-panel-header">
3831
- <h2>Архив</h2>
4446
+ <h2>${t('workflow.panel.archive')}</h2>
3832
4447
  <span id="archive-panel-count" class="count">0</span>
3833
4448
  </header>
3834
4449
  <div id="archive-list" class="backlog-list list-rows"></div>
@@ -3885,10 +4500,31 @@ export function renderBacklogHtml() {
3885
4500
  </div>
3886
4501
  <script src="/vendor/mermaid.min.js"></script>
3887
4502
  <script src="/assets/graph-canvas-lit-flow.js" defer></script>
3888
- <script>
4503
+ <script id="workgraph-app">
3889
4504
  ${uiButtonClientSource}
3890
4505
  ${uiBadgeClientSource}
3891
4506
  ${workItemStatusToneSource}
4507
+ ${kanbanBoardDeltaSource}
4508
+ ${kanbanBoardPatcherSource}
4509
+ ${userAvatarsSource}
4510
+ ${workItemIssueTypeSource}
4511
+ ${workItemClassifierSource}
4512
+ ${detailDrawerStackSource}
4513
+ ${liveSyncCoordinatorSource}
4514
+ ${liveSyncSseAdapterSource}
4515
+ const detailStack = createDetailDrawerStack();
4516
+ const BVC_DIALECT_SECTION_TITLES = ${JSON.stringify(bvcDialectSectionTitles)};
4517
+ function resolveAtomInspectorLang(draft) {
4518
+ const fromDraft = String(draft?.lang ?? '').trim().toLowerCase();
4519
+ if (fromDraft === 'en' || fromDraft === 'ru') return fromDraft;
4520
+ const fromLabels = String(draft?.labels?.lang ?? '').trim().toLowerCase();
4521
+ if (fromLabels === 'en' || fromLabels === 'ru') return fromLabels;
4522
+ return 'ru';
4523
+ }
4524
+ function atomSectionTitle(lang, field) {
4525
+ const dialect = BVC_DIALECT_SECTION_TITLES[lang] || BVC_DIALECT_SECTION_TITLES.ru;
4526
+ return dialect[field] || field;
4527
+ }
3892
4528
  const statusGroups = ${JSON.stringify(STATUS_GROUPS)};
3893
4529
  const operationalBoardGroups = ${JSON.stringify(OPERATIONAL_BOARD_GROUPS)};
3894
4530
  const doneArchiveGroup = ${JSON.stringify(DONE_ARCHIVE_GROUP)};
@@ -3908,6 +4544,30 @@ export function renderBacklogHtml() {
3908
4544
  ${workflowTreeProjectionSource}
3909
4545
  ${missionControlClientSource}
3910
4546
  const themeStorageKey = 'workGraphBacklogTheme';
4547
+ const i18nBootstrap = ${i18nBootstrapScript};
4548
+ window.__WG_LOCALE__ = i18nBootstrap.locale;
4549
+ window.__WG_I18N__ = i18nBootstrap.messages;
4550
+ function t(key, params) {
4551
+ let text = (window.__WG_I18N__ && window.__WG_I18N__[key]) || key;
4552
+ if (params) {
4553
+ for (const [paramKey, paramValue] of Object.entries(params)) {
4554
+ text = text.split('{' + paramKey + '}').join(String(paramValue));
4555
+ }
4556
+ }
4557
+ return text;
4558
+ }
4559
+ function localizedKanbanColumnTitle(columnId, fallback) {
4560
+ const key = 'kanban.col.' + columnId;
4561
+ const value = t(key);
4562
+ return value === key ? (fallback || columnId) : value;
4563
+ }
4564
+ function localizedBoardGroupTitle(groupId, fallback) {
4565
+ const key = 'board.group.' + groupId;
4566
+ const value = t(key);
4567
+ return value === key ? (fallback || groupId) : value;
4568
+ }
4569
+ const THEME_ICON_MOON = ${JSON.stringify(themeIconMoonHtml)};
4570
+ const THEME_ICON_SUN = ${JSON.stringify(themeIconSunHtml)};
3911
4571
  const viewStorageKey = 'workGraphBacklogView';
3912
4572
  const workflowTabStorageKey = 'workGraphWorkflowTab';
3913
4573
  const analyticsTabStorageKey = 'workGraphAnalyticsTab';
@@ -3920,12 +4580,20 @@ export function renderBacklogHtml() {
3920
4580
  const intentDomainFilterStorageKey = 'workGraphIntentDomainFilter';
3921
4581
  const detailDrawerWidthStorageKey = 'workGraphDetailDrawerWidth';
3922
4582
  const detailSubDrawerWidthStorageKey = 'workGraphDetailSubDrawerWidth';
4583
+ const sidebarWidthStorageKey = 'workGraphSidebarWidth';
4584
+ const SIDEBAR_WIDTH_MIN = 56;
4585
+ const SIDEBAR_WIDTH_MAX = 360;
4586
+ const SIDEBAR_WIDTH_DEFAULT = 252;
4587
+ const SIDEBAR_COMPACT_UI_MAX = 80;
3923
4588
  const graphCanvasModeStorageKey = 'workGraphGraphCanvasMode';
3924
4589
  const workflowDisplayModeStorageKey = 'workGraphWorkflowDisplayMode';
3925
4590
  const collapsedWorkflowTreeIdsStorageKey = 'workGraphWorkflowTreeCollapsed.v1';
3926
4591
  localStorage.removeItem('workGraphArchitectureMatrixFilter');
3927
4592
 
3928
4593
  let graphCanvasViewMode = localStorage.getItem(graphCanvasModeStorageKey) === 'full' ? 'full' : 'pipeline';
4594
+ let backlogRevision = null;
4595
+ const liveSyncViews = new Set(['board', 'workflow']);
4596
+ const liveSyncIntervalMs = 3000;
3929
4597
  let snapshot = null;
3930
4598
  let architectureSnapshot = null;
3931
4599
  let architectureLoaded = false;
@@ -3963,13 +4631,9 @@ export function renderBacklogHtml() {
3963
4631
  let semanticSearchWorkIds = null;
3964
4632
  let semanticSearchTimer = null;
3965
4633
  let homeSnapshot = null;
3966
- let homePanelLoaded = false;
3967
4634
  let cmdKRows = [];
3968
4635
  let cmdKActiveIndex = 0;
3969
4636
  let lastAgentRunTaskId = null;
3970
- let homePollTimer = null;
3971
- let agentDockPollTimer = null;
3972
- let agentScopePollTimer = null;
3973
4637
  const agentScopePollMs = 20000;
3974
4638
  const ownerRoleStorageKey = 'workGraphOwnerRoleFilter';
3975
4639
  const agentDockOpenStorageKey = 'workGraphAgentDockOpen';
@@ -4007,8 +4671,6 @@ export function renderBacklogHtml() {
4007
4671
  const board = document.querySelector('#board');
4008
4672
  const kanbanBoard = document.querySelector('#kanban-board');
4009
4673
  const boardView = document.querySelector('#board-view');
4010
- const homeView = document.querySelector('#home-view');
4011
- const homeMissionControlRoot = document.querySelector('#home-mission-control-root');
4012
4674
  const layoutRoot = document.querySelector('#layout-root');
4013
4675
  const agentRunDock = document.querySelector('#agent-run-dock');
4014
4676
  const agentRunDockBody = document.querySelector('#agent-run-dock-body');
@@ -4040,6 +4702,7 @@ export function renderBacklogHtml() {
4040
4702
  const detailSubTitle = document.querySelector('#detail-sub-title');
4041
4703
  const detailResizeHandle = document.querySelector('#detail-resize-handle');
4042
4704
  const detailSubResizeHandle = document.querySelector('#detail-sub-resize-handle');
4705
+ const sidebarResizeHandle = document.querySelector('#sidebar-resize-handle');
4043
4706
  const detailTitle = document.querySelector('#detail-title');
4044
4707
  const navTabs = [...document.querySelectorAll('.nav-tab[data-view]')];
4045
4708
  const search = document.querySelector('#search');
@@ -4050,11 +4713,22 @@ export function renderBacklogHtml() {
4050
4713
  const daemonAuditList = document.querySelector('#daemon-audit-list');
4051
4714
  const daemonAuditCount = document.querySelector('#daemon-audit-count');
4052
4715
  const verificationMatrixWrap = document.querySelector('#verification-matrix-wrap');
4716
+ const verificationContractCount = document.querySelector('#verification-contract-count');
4717
+ const verificationContractHealth = document.querySelector('#verification-contract-health');
4718
+ const verificationContractList = document.querySelector('#verification-contract-list');
4053
4719
  const codegenGateList = document.querySelector('#codegen-gate-list');
4054
4720
  const codegenGateSummary = document.querySelector('#codegen-gate-summary');
4055
4721
  const codegenGateCount = document.querySelector('#codegen-gate-count');
4056
4722
  const verificationTierBadges = document.querySelector('#verification-tier-badges');
4057
4723
  const verificationView = document.querySelector('#verification-view');
4724
+ const settingsView = document.querySelector('#settings-view');
4725
+ const settingsThemeLight = document.querySelector('#settings-theme-light');
4726
+ const settingsThemeDark = document.querySelector('#settings-theme-dark');
4727
+ const settingsLocaleButtons = [...document.querySelectorAll('[data-settings-locale]')];
4728
+ const settingsVersionValue = document.querySelector('#settings-version-value');
4729
+ const settingsCheckUpdate = document.querySelector('#settings-check-update');
4730
+ const settingsUpdateStatus = document.querySelector('#settings-update-status');
4731
+ const settingsInstallCommand = document.querySelector('#settings-install-command');
4058
4732
  const codeGapSummary = document.querySelector('#code-gap-summary');
4059
4733
  const codeGapList = document.querySelector('#code-gap-list');
4060
4734
  const codeGapCount = document.querySelector('#code-gap-count');
@@ -4089,8 +4763,39 @@ export function renderBacklogHtml() {
4089
4763
  const intentDomainClear = document.querySelector('#intent-domain-clear');
4090
4764
 
4091
4765
  applyTheme(readStoredTheme());
4766
+ applyStoredSidebarWidth();
4092
4767
  applyStoredDetailDrawerWidth();
4093
4768
  applyStoredDetailSubDrawerWidth();
4769
+
4770
+ const liveSync = createLiveSyncCoordinator({
4771
+ tickMs: 1000,
4772
+ isDocumentHidden: () => document.hidden,
4773
+ setTimer: (fn, ms) => window.setTimeout(fn, ms),
4774
+ clearTimer: (id) => window.clearTimeout(id),
4775
+ });
4776
+ liveSync.registerScope('backlog-revision', {
4777
+ intervalMs: liveSyncIntervalMs,
4778
+ enabled: () => liveSyncViews.has(activeView),
4779
+ onTick: () => { pollBacklogRevision().catch(() => undefined); },
4780
+ });
4781
+ liveSync.registerScope('home', {
4782
+ intervalMs: 30000,
4783
+ enabled: () => true,
4784
+ onTick: () => { refreshHomeSnapshot().catch(() => undefined); },
4785
+ });
4786
+ liveSync.registerScope('agent-dock', {
4787
+ intervalMs: 5000,
4788
+ enabled: () => agentRunDock?.classList.contains('is-open'),
4789
+ onTick: () => { refreshAgentRunDock().catch(() => undefined); },
4790
+ });
4791
+ liveSync.registerScope('agent-scope', {
4792
+ intervalMs: agentScopePollMs,
4793
+ enabled: () => agentRunDock?.classList.contains('is-open'),
4794
+ onTick: () => { refreshAgentScopePanel().catch(() => undefined); },
4795
+ });
4796
+ document.addEventListener('visibilitychange', () => liveSync.sync());
4797
+ connectLiveSyncRevisionSse(liveSync);
4798
+
4094
4799
  applyView(activeView);
4095
4800
  applyWorkflowTab(activeWorkflowTab);
4096
4801
  applyAnalyticsTab(activeAnalyticsTab);
@@ -4098,6 +4803,7 @@ export function renderBacklogHtml() {
4098
4803
  workflowDisplayModeSelect.value = workflowDisplayMode;
4099
4804
  }
4100
4805
  initMissionControlUi();
4806
+ liveSync.forceTick('home');
4101
4807
 
4102
4808
  fetch('/api/snapshot')
4103
4809
  .then((response) => {
@@ -4121,7 +4827,16 @@ export function renderBacklogHtml() {
4121
4827
  .then((data) => {
4122
4828
  operatorShellSnapshot = data;
4123
4829
  populateCycleFilterOptions();
4124
- return ensureLazyViewData(activeView).then(() => {
4830
+ return fetch('/api/backlog-revision').then((response) => {
4831
+ if (!response.ok) return null;
4832
+ return response.json();
4833
+ }).catch(() => null);
4834
+ })
4835
+ .then((revisionPayload) => {
4836
+ if (revisionPayload?.revision) {
4837
+ backlogRevision = revisionPayload.revision;
4838
+ }
4839
+ return refreshHomeSnapshot().catch(() => undefined).then(() => ensureLazyViewData(activeView).then(() => {
4125
4840
  if (activeView === 'architecture') {
4126
4841
  renderArchitecturePanels();
4127
4842
  }
@@ -4131,7 +4846,7 @@ export function renderBacklogHtml() {
4131
4846
  renderArchitecturePanels();
4132
4847
  }
4133
4848
  render();
4134
- });
4849
+ }));
4135
4850
  })
4136
4851
  .catch((error) => {
4137
4852
  const message = '<div class="error">Не удалось загрузить срез backlog: ' + escapeHtml(error.message) + '</div>';
@@ -4192,11 +4907,16 @@ export function renderBacklogHtml() {
4192
4907
  syncGraphCanvasModeUi();
4193
4908
  detailClose.addEventListener('click', closeTaskDetails);
4194
4909
  detailOverlay.addEventListener('click', closeTaskDetails);
4195
- if (detailSubClose) detailSubClose.addEventListener('click', closeL2NodeDetails);
4196
- if (detailSubOverlay) detailSubOverlay.addEventListener('click', closeL2NodeDetails);
4910
+ if (detailSubClose) detailSubClose.addEventListener('click', () => popDetailStackNavigation());
4911
+ if (detailSubOverlay) detailSubOverlay.addEventListener('click', () => closeDetailStackFully());
4197
4912
  if (detailSubBody) detailSubBody.addEventListener('click', handleBoardClick);
4198
4913
  detailResizeHandle.addEventListener('pointerdown', startDetailDrawerResize);
4199
4914
  detailResizeHandle.addEventListener('keydown', handleDetailDrawerResizeKeydown);
4915
+ if (sidebarResizeHandle) {
4916
+ sidebarResizeHandle.addEventListener('pointerdown', startSidebarResize);
4917
+ sidebarResizeHandle.addEventListener('keydown', handleSidebarResizeKeydown);
4918
+ }
4919
+ window.addEventListener('resize', handleSidebarViewportResize);
4200
4920
  if (detailSubResizeHandle) {
4201
4921
  detailSubResizeHandle.addEventListener('pointerdown', startDetailSubDrawerResize);
4202
4922
  detailSubResizeHandle.addEventListener('keydown', handleDetailSubDrawerResizeKeydown);
@@ -4208,10 +4928,11 @@ export function renderBacklogHtml() {
4208
4928
  document.addEventListener('keydown', (event) => {
4209
4929
  if (event.key !== 'Escape') return;
4210
4930
  if (detailSubDrawer?.classList.contains('is-open')) {
4211
- closeL2NodeDetails();
4931
+ popDetailStackNavigation();
4212
4932
  return;
4213
4933
  }
4214
4934
  if (!detailDrawer.classList.contains('is-open')) return;
4935
+ closeDetailStackFully();
4215
4936
  const backButton = document.querySelector('#detail-nav-back');
4216
4937
  if (backButton) backButton.click();
4217
4938
  else closeTaskDetails();
@@ -4223,9 +4944,9 @@ export function renderBacklogHtml() {
4223
4944
  codeGapList.addEventListener('click', handleCodeGapIntakeClick);
4224
4945
  navTabs.forEach((tab) => {
4225
4946
  tab.addEventListener('click', () => {
4226
- activeView = ['home', 'workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture'].includes(tab.dataset.view)
4947
+ activeView = ['workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture', 'settings'].includes(tab.dataset.view)
4227
4948
  ? tab.dataset.view
4228
- : 'home';
4949
+ : 'analytics';
4229
4950
  localStorage.setItem(viewStorageKey, activeView);
4230
4951
  applyView(activeView);
4231
4952
  ensureLazyViewData(activeView).then(() => {
@@ -4275,11 +4996,68 @@ export function renderBacklogHtml() {
4275
4996
  renderAnalyticsPanel();
4276
4997
  });
4277
4998
  });
4278
- themeToggle.addEventListener('click', () => {
4279
- const nextTheme = document.body.dataset.theme === 'light' ? 'dark' : 'light';
4280
- applyTheme(nextTheme);
4281
- localStorage.setItem(themeStorageKey, nextTheme);
4282
- });
4999
+ if (themeToggle) {
5000
+ themeToggle.addEventListener('click', () => {
5001
+ const nextTheme = document.body.dataset.theme === 'light' ? 'dark' : 'light';
5002
+ applyTheme(nextTheme);
5003
+ localStorage.setItem(themeStorageKey, nextTheme);
5004
+ });
5005
+ }
5006
+
5007
+ if (settingsThemeLight) {
5008
+ settingsThemeLight.addEventListener('click', () => {
5009
+ applyTheme('light');
5010
+ localStorage.setItem(themeStorageKey, 'light');
5011
+ });
5012
+ }
5013
+ if (settingsThemeDark) {
5014
+ settingsThemeDark.addEventListener('click', () => {
5015
+ applyTheme('dark');
5016
+ localStorage.setItem(themeStorageKey, 'dark');
5017
+ });
5018
+ }
5019
+ if (settingsLocaleButtons.length) {
5020
+ function applySettingsLocaleUi(nextLocale) {
5021
+ settingsLocaleButtons.forEach((button) => {
5022
+ const isActive = button.dataset.settingsLocale === nextLocale;
5023
+ button.classList.toggle('is-active', isActive);
5024
+ button.setAttribute('aria-pressed', String(isActive));
5025
+ });
5026
+ }
5027
+
5028
+ function setUiLocale(nextLocale) {
5029
+ if (!nextLocale || nextLocale === window.__WG_LOCALE__) return;
5030
+ fetch('/api/ui-locale', {
5031
+ method: 'POST',
5032
+ headers: { 'content-type': 'application/json' },
5033
+ body: JSON.stringify({ locale: nextLocale }),
5034
+ }).then((response) => {
5035
+ if (!response.ok) throw new Error('locale ' + response.status);
5036
+ window.location.reload();
5037
+ }).catch(() => {
5038
+ window.alert(t('settings.language.changeFailed'));
5039
+ });
5040
+ }
5041
+
5042
+ settingsLocaleButtons.forEach((button) => {
5043
+ button.addEventListener('click', () => {
5044
+ setUiLocale(button.dataset.settingsLocale);
5045
+ });
5046
+ });
5047
+ applySettingsLocaleUi(window.__WG_LOCALE__);
5048
+ }
5049
+ if (settingsCheckUpdate) {
5050
+ settingsCheckUpdate.addEventListener('click', () => {
5051
+ settingsCheckUpdate.disabled = true;
5052
+ if (settingsUpdateStatus) {
5053
+ settingsUpdateStatus.hidden = false;
5054
+ settingsUpdateStatus.textContent = t('settings.about.checking');
5055
+ }
5056
+ renderSettingsPanel({ checkUpdate: true }).finally(() => {
5057
+ settingsCheckUpdate.disabled = false;
5058
+ });
5059
+ });
5060
+ }
4283
5061
 
4284
5062
  function readStoredTheme() {
4285
5063
  return localStorage.getItem(themeStorageKey) === 'dark' ? 'dark' : 'light';
@@ -4294,12 +5072,12 @@ export function renderBacklogHtml() {
4294
5072
  return storedView === 'architecture' ? 'architecture' : 'workflow';
4295
5073
  }
4296
5074
  if (storedView === 'home') {
4297
- return 'home';
5075
+ return 'analytics';
4298
5076
  }
4299
- if (['workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture'].includes(storedView)) {
5077
+ if (['workflow', 'verification', 'prompts', 'memory', 'analytics', 'board', 'architecture', 'settings'].includes(storedView)) {
4300
5078
  return storedView;
4301
5079
  }
4302
- return 'home';
5080
+ return 'analytics';
4303
5081
  }
4304
5082
 
4305
5083
  function readStoredWorkflowTab() {
@@ -4378,12 +5156,30 @@ export function renderBacklogHtml() {
4378
5156
  return 'intake';
4379
5157
  }
4380
5158
 
5159
+ function getPanelSearchQuery() {
5160
+ const raw = search.value.trim();
5161
+ if (!raw) {
5162
+ return '';
5163
+ }
5164
+
5165
+ const normalized = raw.toLowerCase();
5166
+ if (activeView === 'memory' && normalized.startsWith('work:')) {
5167
+ return normalized;
5168
+ }
5169
+
5170
+ if (activeView === 'board' || activeView === 'workflow') {
5171
+ return normalized;
5172
+ }
5173
+
5174
+ return '';
5175
+ }
5176
+
4381
5177
  function getFilteredItems() {
4382
5178
  if (!snapshot) {
4383
5179
  return [];
4384
5180
  }
4385
5181
 
4386
- const query = search.value.trim().toLowerCase();
5182
+ const query = getPanelSearchQuery();
4387
5183
  let items = snapshot.items.filter((item) => matchesQuery(item, query));
4388
5184
  if (semanticSearchWorkIds && semanticSearchWorkIds.size > 0) {
4389
5185
  items = items.filter((item) => semanticSearchWorkIds.has(item.id));
@@ -4426,6 +5222,77 @@ export function renderBacklogHtml() {
4426
5222
  }, 250);
4427
5223
  }
4428
5224
 
5225
+ function maxSidebarWidth() {
5226
+ return Math.max(SIDEBAR_WIDTH_MIN, Math.min(SIDEBAR_WIDTH_MAX, window.innerWidth - 160));
5227
+ }
5228
+
5229
+ function clampSidebarWidth(width) {
5230
+ return Math.max(SIDEBAR_WIDTH_MIN, Math.min(maxSidebarWidth(), Number(width) || SIDEBAR_WIDTH_DEFAULT));
5231
+ }
5232
+
5233
+ function readStoredSidebarWidth() {
5234
+ const raw = Number(localStorage.getItem(sidebarWidthStorageKey));
5235
+ return Number.isFinite(raw) ? raw : SIDEBAR_WIDTH_DEFAULT;
5236
+ }
5237
+
5238
+ function getSidebarWidth() {
5239
+ const raw = getComputedStyle(document.documentElement).getPropertyValue('--sidebar-width').trim();
5240
+ const parsed = Number.parseFloat(raw);
5241
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : readStoredSidebarWidth();
5242
+ }
5243
+
5244
+ function applySidebarWidth(width, { persist = true } = {}) {
5245
+ const clamped = clampSidebarWidth(width);
5246
+ document.documentElement.style.setProperty('--sidebar-width', clamped + 'px');
5247
+ document.documentElement.classList.toggle('is-sidebar-compact', clamped <= SIDEBAR_COMPACT_UI_MAX);
5248
+ if (sidebarResizeHandle) {
5249
+ sidebarResizeHandle.setAttribute('aria-valuenow', String(Math.round(clamped)));
5250
+ }
5251
+ if (persist) {
5252
+ localStorage.setItem(sidebarWidthStorageKey, String(Math.round(clamped)));
5253
+ }
5254
+ }
5255
+
5256
+ function applyStoredSidebarWidth() {
5257
+ applySidebarWidth(readStoredSidebarWidth(), { persist: false });
5258
+ }
5259
+
5260
+ function handleSidebarViewportResize() {
5261
+ applySidebarWidth(getSidebarWidth(), { persist: true });
5262
+ }
5263
+
5264
+ function startSidebarResize(event) {
5265
+ if (!sidebarResizeHandle) return;
5266
+ event.preventDefault();
5267
+ sidebarResizeHandle.setPointerCapture?.(event.pointerId);
5268
+ document.body.classList.add('is-resizing-sidebar');
5269
+ const onPointerMove = (moveEvent) => {
5270
+ applySidebarWidth(moveEvent.clientX, { persist: false });
5271
+ };
5272
+ const onPointerUp = (upEvent) => {
5273
+ document.body.classList.remove('is-resizing-sidebar');
5274
+ applySidebarWidth(upEvent.clientX, { persist: true });
5275
+ sidebarResizeHandle.releasePointerCapture?.(event.pointerId);
5276
+ window.removeEventListener('pointermove', onPointerMove);
5277
+ window.removeEventListener('pointerup', onPointerUp);
5278
+ window.removeEventListener('pointercancel', onPointerUp);
5279
+ };
5280
+ window.addEventListener('pointermove', onPointerMove);
5281
+ window.addEventListener('pointerup', onPointerUp);
5282
+ window.addEventListener('pointercancel', onPointerUp);
5283
+ }
5284
+
5285
+ function handleSidebarResizeKeydown(event) {
5286
+ if (!sidebarResizeHandle || !['ArrowLeft', 'ArrowRight', 'Home', 'End'].includes(event.key)) return;
5287
+ event.preventDefault();
5288
+ const step = event.shiftKey ? 48 : 16;
5289
+ const current = getSidebarWidth();
5290
+ if (event.key === 'ArrowLeft') applySidebarWidth(current + step);
5291
+ if (event.key === 'ArrowRight') applySidebarWidth(current - step);
5292
+ if (event.key === 'Home') applySidebarWidth(SIDEBAR_WIDTH_MIN);
5293
+ if (event.key === 'End') applySidebarWidth(maxSidebarWidth());
5294
+ }
5295
+
4429
5296
  function readStoredDetailDrawerWidth() {
4430
5297
  const raw = Number(localStorage.getItem(detailDrawerWidthStorageKey));
4431
5298
  return Number.isFinite(raw) ? raw : 720;
@@ -4561,9 +5428,66 @@ export function renderBacklogHtml() {
4561
5428
  document.documentElement.dataset.iohascTheme = 'workgraph-dark';
4562
5429
  document.body.dataset.theme = theme;
4563
5430
  const isDark = theme === 'dark';
4564
- themeToggle.textContent = isDark ? 'Светлая тема' : 'Тёмная тема';
4565
- themeToggle.setAttribute('aria-pressed', String(isDark));
4566
- themeToggle.setAttribute('aria-label', 'Тема: ' + (isDark ? 'тёмная' : 'светлая'));
5431
+ if (themeToggle) {
5432
+ const inner = themeToggle.querySelector('.header-theme-toggle-inner');
5433
+ if (inner) {
5434
+ inner.innerHTML = isDark ? THEME_ICON_SUN : THEME_ICON_MOON;
5435
+ }
5436
+ themeToggle.setAttribute('aria-pressed', String(isDark));
5437
+ themeToggle.setAttribute('aria-label', t(isDark ? 'theme.light' : 'theme.dark'));
5438
+ }
5439
+ if (settingsThemeLight) {
5440
+ settingsThemeLight.classList.toggle('is-active', theme === 'light');
5441
+ }
5442
+ if (settingsThemeDark) {
5443
+ settingsThemeDark.classList.toggle('is-active', theme === 'dark');
5444
+ }
5445
+ }
5446
+
5447
+ async function loadSettingsVersionInfo(checkUpdate) {
5448
+ const query = checkUpdate ? '?checkUpdate=1' : '';
5449
+ const response = await fetch('/api/app-version' + query);
5450
+ if (!response.ok) {
5451
+ throw new Error('app-version ' + response.status);
5452
+ }
5453
+ return response.json();
5454
+ }
5455
+
5456
+ async function renderSettingsPanel(options = {}) {
5457
+ if (!settingsView) return;
5458
+ try {
5459
+ const info = await loadSettingsVersionInfo(options.checkUpdate === true);
5460
+ if (settingsVersionValue) {
5461
+ settingsVersionValue.textContent = info.version + ' · ' + info.npmPackage;
5462
+ }
5463
+ if (!settingsUpdateStatus) return;
5464
+ if (options.checkUpdate !== true) {
5465
+ settingsUpdateStatus.hidden = true;
5466
+ if (settingsInstallCommand) settingsInstallCommand.hidden = true;
5467
+ return;
5468
+ }
5469
+ settingsUpdateStatus.hidden = false;
5470
+ if (info.checkError) {
5471
+ settingsUpdateStatus.textContent = t('settings.about.checkFailed');
5472
+ if (settingsInstallCommand) settingsInstallCommand.hidden = true;
5473
+ return;
5474
+ }
5475
+ if (info.updateAvailable) {
5476
+ settingsUpdateStatus.textContent = t('settings.about.updateAvailable', { latest: info.latestVersion });
5477
+ if (settingsInstallCommand) {
5478
+ settingsInstallCommand.hidden = false;
5479
+ settingsInstallCommand.textContent = t('settings.about.installHint') + ' ' + info.installCommand;
5480
+ }
5481
+ return;
5482
+ }
5483
+ settingsUpdateStatus.textContent = t('settings.about.upToDate');
5484
+ if (settingsInstallCommand) settingsInstallCommand.hidden = true;
5485
+ } catch (error) {
5486
+ if (settingsUpdateStatus && options.checkUpdate === true) {
5487
+ settingsUpdateStatus.hidden = false;
5488
+ settingsUpdateStatus.textContent = t('settings.about.checkFailed');
5489
+ }
5490
+ }
4567
5491
  }
4568
5492
 
4569
5493
  function remountActiveGraphWorkspace() {
@@ -4581,9 +5505,6 @@ export function renderBacklogHtml() {
4581
5505
  const response = await fetch('/api/home-snapshot' + query);
4582
5506
  if (!response.ok) throw new Error('home snapshot ' + response.status);
4583
5507
  homeSnapshot = await response.json();
4584
- if (activeView === 'home' && homeMissionControlRoot) {
4585
- renderHomeMissionControl(homeMissionControlRoot, homeSnapshot);
4586
- }
4587
5508
  cmdKRows = buildCommandPaletteIndex(snapshot, analyticsProjection);
4588
5509
  return homeSnapshot;
4589
5510
  }
@@ -4629,18 +5550,14 @@ export function renderBacklogHtml() {
4629
5550
  }
4630
5551
 
4631
5552
  function stopAgentScopePoll() {
4632
- if (agentScopePollTimer) {
4633
- window.clearInterval(agentScopePollTimer);
4634
- agentScopePollTimer = null;
4635
- }
5553
+ liveSync.sync();
4636
5554
  }
4637
5555
 
4638
5556
  function startAgentScopePoll() {
4639
- if (agentScopePollTimer) return;
4640
- agentScopePollTimer = window.setInterval(
4641
- () => refreshAgentScopePanel().catch(() => undefined),
4642
- agentScopePollMs,
4643
- );
5557
+ liveSync.sync();
5558
+ if (agentRunDock?.classList.contains('is-open')) {
5559
+ liveSync.forceTick('agent-scope');
5560
+ }
4644
5561
  }
4645
5562
 
4646
5563
  function setAgentDockOpen(open) {
@@ -4650,16 +5567,11 @@ export function renderBacklogHtml() {
4650
5567
  localStorage.setItem(agentDockOpenStorageKey, open ? '1' : '0');
4651
5568
  if (open) {
4652
5569
  refreshAgentRunDock().catch(() => undefined);
4653
- if (!agentDockPollTimer) {
4654
- agentDockPollTimer = window.setInterval(() => refreshAgentRunDock().catch(() => undefined), 5000);
4655
- }
4656
- startAgentScopePoll();
5570
+ liveSync.sync();
5571
+ liveSync.forceTick('agent-dock');
5572
+ liveSync.forceTick('agent-scope');
4657
5573
  } else {
4658
- if (agentDockPollTimer) {
4659
- window.clearInterval(agentDockPollTimer);
4660
- agentDockPollTimer = null;
4661
- }
4662
- stopAgentScopePoll();
5574
+ liveSync.sync();
4663
5575
  }
4664
5576
  }
4665
5577
 
@@ -4777,19 +5689,6 @@ export function renderBacklogHtml() {
4777
5689
  if (localStorage.getItem(agentDockOpenStorageKey) === '1') {
4778
5690
  setAgentDockOpen(true);
4779
5691
  }
4780
- if (homeMissionControlRoot) {
4781
- homeMissionControlRoot.addEventListener('click', (event) => {
4782
- const row = event.target.closest('[data-work-id], [data-analytics-key]');
4783
- if (!row) return;
4784
- const analyticsKey = row.getAttribute('data-analytics-key');
4785
- if (analyticsKey) {
4786
- handleHomeAnalyticsClick(analyticsKey).catch(() => undefined);
4787
- return;
4788
- }
4789
- const workId = row.getAttribute('data-work-id');
4790
- if (workId) handleHomeWorkItemClick(workId).catch(() => undefined);
4791
- });
4792
- }
4793
5692
  if (agentRunDockClose) {
4794
5693
  agentRunDockClose.addEventListener('click', () => setAgentDockOpen(false));
4795
5694
  }
@@ -4862,15 +5761,9 @@ export function renderBacklogHtml() {
4862
5761
  openCommandPalette();
4863
5762
  }
4864
5763
  });
4865
- if (!homePollTimer) {
4866
- homePollTimer = window.setInterval(() => {
4867
- if (activeView === 'home') refreshHomeSnapshot().catch(() => undefined);
4868
- }, 30000);
4869
- }
4870
5764
  }
4871
5765
 
4872
5766
  function applyView(view) {
4873
- const isHome = view === 'home';
4874
5767
  const isWorkflow = view === 'workflow';
4875
5768
  const isVerification = view === 'verification';
4876
5769
  const isArchitecture = view === 'architecture';
@@ -4878,6 +5771,7 @@ export function renderBacklogHtml() {
4878
5771
  const isPrompts = view === 'prompts';
4879
5772
  const isMemory = view === 'memory';
4880
5773
  const isAnalytics = view === 'analytics';
5774
+ const isSettings = view === 'settings';
4881
5775
  if (contentRoot) {
4882
5776
  contentRoot.classList.remove('is-graph-workspace');
4883
5777
  }
@@ -4885,9 +5779,8 @@ export function renderBacklogHtml() {
4885
5779
  if (workflowDisplayModeSelect) {
4886
5780
  workflowDisplayModeSelect.hidden = !isWorkflow;
4887
5781
  }
4888
- if (viewToolbar) viewToolbar.hidden = isHome;
4889
- if (homeView) homeView.hidden = !isHome;
4890
- boardView.hidden = isHome || isWorkflow || isVerification || isIntent || isPrompts || isMemory || isAnalytics || isArchitecture;
5782
+ if (viewToolbar) viewToolbar.hidden = !(view === 'board' || isWorkflow);
5783
+ boardView.hidden = isWorkflow || isVerification || isIntent || isPrompts || isMemory || isAnalytics || isArchitecture || isSettings;
4891
5784
  workflowView.hidden = !isWorkflow;
4892
5785
  if (isWorkflow) {
4893
5786
  applyWorkflowTab(activeWorkflowTab);
@@ -4897,6 +5790,7 @@ export function renderBacklogHtml() {
4897
5790
  promptsView.hidden = !isPrompts;
4898
5791
  memoryView.hidden = !isMemory;
4899
5792
  analyticsView.hidden = !isAnalytics;
5793
+ if (settingsView) settingsView.hidden = !isSettings;
4900
5794
  if (architectureView) architectureView.hidden = !isArchitecture;
4901
5795
  if (isArchitecture) {
4902
5796
  renderArchitecturePanels();
@@ -4904,17 +5798,20 @@ export function renderBacklogHtml() {
4904
5798
  if (isAnalytics) {
4905
5799
  applyAnalyticsTab(activeAnalyticsTab);
4906
5800
  }
5801
+ if (isSettings) {
5802
+ renderSettingsPanel().catch(() => undefined);
5803
+ }
4907
5804
  const viewCopy = {
4908
- home: 'Главная',
4909
- board: 'Доска',
4910
- workflow: 'Задачи',
4911
- architecture: 'Архитектура',
4912
- verification: 'Проверки',
4913
- prompts: 'Промпты',
4914
- memory: 'Память',
4915
- analytics: 'Аналитика',
5805
+ board: t('view.board'),
5806
+ workflow: t('view.workflow'),
5807
+ architecture: t('view.architecture'),
5808
+ verification: t('view.verification'),
5809
+ prompts: t('view.prompts'),
5810
+ memory: t('view.memory'),
5811
+ analytics: t('view.analytics'),
5812
+ settings: t('view.settings'),
4916
5813
  };
4917
- const title = viewCopy[view] ?? viewCopy.home;
5814
+ const title = viewCopy[view] ?? viewCopy.analytics;
4918
5815
  viewTitle.textContent = title;
4919
5816
  if (breadcrumbProject) {
4920
5817
  breadcrumbProject.textContent = 'Work Graph';
@@ -4922,13 +5819,110 @@ export function renderBacklogHtml() {
4922
5819
  navTabs.forEach((tab) => {
4923
5820
  tab.setAttribute('aria-selected', String(tab.dataset.view === view));
4924
5821
  });
5822
+ syncLivePollInterval();
5823
+ }
5824
+
5825
+ async function pollBacklogRevision() {
5826
+ if (!liveSyncViews.has(activeView)) {
5827
+ return;
5828
+ }
5829
+ try {
5830
+ const response = await fetch('/api/backlog-revision');
5831
+ if (!response.ok) return;
5832
+ const payload = await response.json();
5833
+ if (backlogRevision && payload.revision !== backlogRevision) {
5834
+ const prevKanbanProjection = operatorShellSnapshot?.kanbanBoard ?? null;
5835
+ await reloadOperatorSnapshots();
5836
+ let patched = false;
5837
+ if (activeView === 'board' && prevKanbanProjection) {
5838
+ patched = patchKanbanBoardIncremental(prevKanbanProjection);
5839
+ }
5840
+ if (!patched) {
5841
+ render();
5842
+ } else {
5843
+ const items = getFilteredItems();
5844
+ renderIntentDomainFilter();
5845
+ renderNavigationCounts(items);
5846
+ renderBoard(items);
5847
+ }
5848
+ await reconcileDetailDrawerOnRemotePatch();
5849
+ }
5850
+ backlogRevision = payload.revision;
5851
+ } catch {
5852
+ // ignore transient poll errors
5853
+ }
5854
+ }
5855
+
5856
+ function patchKanbanBoardIncremental(prevProjection) {
5857
+ if (!kanbanBoard || !prevProjection) {
5858
+ return false;
5859
+ }
5860
+ const nextProjection = operatorShellSnapshot?.kanbanBoard ?? null;
5861
+ if (!nextProjection) {
5862
+ return false;
5863
+ }
5864
+ const delta = computeKanbanBoardDelta(prevProjection, nextProjection);
5865
+ if (delta.fullRender) {
5866
+ return false;
5867
+ }
5868
+ const itemsById = new Map((snapshot?.items ?? []).map((item) => [item.id, item]));
5869
+ const result = applyKanbanBoardPatch(kanbanBoard, delta, {
5870
+ renderCard: (item, options) => renderTaskAtomCard(item, 'kanban-card', options),
5871
+ emptyColumnHtml: '<div class="empty">' + escapeHtml(t('empty.noTasks')) + '</div>',
5872
+ itemsById,
5873
+ });
5874
+ return result.ok === true;
5875
+ }
5876
+
5877
+ async function reconcileDetailDrawerOnRemotePatch() {
5878
+ const l1Open = detailDrawer.classList.contains('is-open');
5879
+ const l2Open = detailSubDrawer?.classList.contains('is-open');
5880
+ if (!l1Open && !l2Open) {
5881
+ return;
5882
+ }
5883
+
5884
+ async function refreshTaskDrawerBody(body, workId, mode) {
5885
+ const item = snapshot?.items?.find((candidate) => candidate.id === workId);
5886
+ if (!item || mode === 'edit') {
5887
+ return;
5888
+ }
5889
+ const storedStatus = body.dataset.remoteStatus ?? '';
5890
+ if (storedStatus && storedStatus !== item.status) {
5891
+ await renderTaskDetailContent(item, {
5892
+ parentContext: detailContext?.parent ?? null,
5893
+ mode: 'view',
5894
+ targetBody: body,
5895
+ subDrawer: body !== detailBody,
5896
+ });
5897
+ const banner = '<div class="detail-remote-update-banner" data-testid="detail-remote-update-banner">' +
5898
+ escapeHtml(t('drawer.remoteUpdate')) + '</div>';
5899
+ if (!body.querySelector('[data-testid="detail-remote-update-banner"]')) {
5900
+ body.insertAdjacentHTML('afterbegin', banner);
5901
+ }
5902
+ }
5903
+ body.dataset.remoteStatus = item.status;
5904
+ }
5905
+
5906
+ if (l1Open && detailContext?.type === 'task' && detailContext.taskId) {
5907
+ await refreshTaskDrawerBody(detailBody, detailContext.taskId, detailInspectorState?.mode ?? 'view');
5908
+ }
5909
+ if (l2Open && detailStack.depth() > 0) {
5910
+ const top = detailStack.peek();
5911
+ if (top?.type === 'task' && top.payload?.workId && detailSubBody) {
5912
+ await refreshTaskDrawerBody(detailSubBody, top.payload.workId, 'view');
5913
+ }
5914
+ }
5915
+ }
5916
+
5917
+ function syncLivePollInterval() {
5918
+ liveSync.sync();
5919
+ if (liveSyncViews.has(activeView)) {
5920
+ liveSync.forceTick('backlog-revision');
5921
+ }
4925
5922
  }
4926
5923
 
4927
5924
  function render() {
4928
5925
  if (!snapshot) return;
4929
- if (activeView === 'home' && homeMissionControlRoot && homeSnapshot) {
4930
- renderHomeMissionControl(homeMissionControlRoot, homeSnapshot);
4931
- }
4932
5926
  const items = getFilteredItems();
4933
5927
  renderIntentDomainFilter();
4934
5928
  renderNavigationCounts(items);
@@ -4944,12 +5938,6 @@ export function renderBacklogHtml() {
4944
5938
  }
4945
5939
 
4946
5940
  function ensureLazyViewData(view) {
4947
- if (view === 'home' && !homePanelLoaded) {
4948
- return refreshHomeSnapshot().then(() => {
4949
- homePanelLoaded = true;
4950
- });
4951
- }
4952
-
4953
5941
  if (view === 'prompts' && !promptsPanelLoaded) {
4954
5942
  return fetch('/api/prompt-rules-projection').then((response) => {
4955
5943
  if (!response.ok) throw new Error('запрос prompt rules projection завершился с кодом ' + response.status);
@@ -5303,7 +6291,7 @@ export function renderBacklogHtml() {
5303
6291
  return;
5304
6292
  }
5305
6293
 
5306
- const query = search.value.trim().toLowerCase();
6294
+ const query = getPanelSearchQuery();
5307
6295
  const rules = (promptsProjection.rules ?? []).filter((rule) => matchesPromptRuleQuery(rule, query));
5308
6296
  const summary = promptsProjection.summary ?? { total: 0, valid: 0, invalid: 0 };
5309
6297
 
@@ -5370,7 +6358,7 @@ export function renderBacklogHtml() {
5370
6358
  return;
5371
6359
  }
5372
6360
 
5373
- const query = search.value.trim().toLowerCase();
6361
+ const query = getPanelSearchQuery();
5374
6362
  const records = (memoryProjection.records ?? []).filter((record) => matchesMemoryRecordQuery(record, query));
5375
6363
  const summary = memoryProjection.summary ?? { total: 0, reviewRequired: 0 };
5376
6364
 
@@ -5391,7 +6379,7 @@ export function renderBacklogHtml() {
5391
6379
  escapeHtml((record.relatedFiles ?? []).join(', ') || 'no related files'),
5392
6380
  ],
5393
6381
  footerLeft: '<span class="id">' + escapeHtml(record.id) + '</span>',
5394
- footerRight: '<span class="owner-avatar" title="' + escapeHtml(owner) + '">' + escapeHtml(ownerInitials(owner)) + '</span>',
6382
+ footerRight: renderOwnerAvatar(owner, { title: owner }),
5395
6383
  selected: selectedMemoryRecordId === record.id,
5396
6384
  attrs: { 'data-memory-record-id': record.id },
5397
6385
  });
@@ -5474,7 +6462,7 @@ export function renderBacklogHtml() {
5474
6462
  return;
5475
6463
  }
5476
6464
 
5477
- const query = search.value.trim().toLowerCase();
6465
+ const query = getPanelSearchQuery();
5478
6466
  const queryMatched = (analyticsProjection.records ?? []).filter((record) => matchesAnalyticsRecordQuery(record, query));
5479
6467
  const intakeRecords = queryMatched.filter((record) => readAnalyticsRecordKind(record) === 'intake');
5480
6468
  const closingRecords = queryMatched.filter((record) => readAnalyticsRecordKind(record) === 'closing');
@@ -5508,14 +6496,15 @@ export function renderBacklogHtml() {
5508
6496
  const kindLine = isClosing
5509
6497
  ? 'closing · post-mortem' + epicNote
5510
6498
  : escapeHtml(record.topic) + ' · ' + escapeHtml(record.status);
6499
+ const lineageBadge = buildAnalyticsLineageListBadge(record);
5511
6500
  return renderListRow({
5512
6501
  title: record.title,
5513
6502
  lines: [
5514
6503
  kindLine + ' · ' + escapeHtml((record.tags ?? []).filter((tag) => tag !== 'closing-analysis').join(', ') || 'no tags'),
5515
6504
  escapeHtml(queryPreview + (String(record.query ?? '').length > 120 ? '…' : '')),
5516
6505
  ],
5517
- footerLeft: '<span class="id">' + escapeHtml(record.key || record.id) + relatedNote + '</span>',
5518
- footerRight: '<span class="owner-avatar" title="' + escapeHtml(record.author || 'operator') + '">' + escapeHtml(ownerInitials(record.author || 'AG')) + '</span>',
6506
+ footerLeft: '<span class="id">' + escapeHtml(record.key || record.id) + relatedNote + lineageBadge + '</span>',
6507
+ footerRight: renderOwnerAvatar(record.author || 'operator', { title: record.author || 'operator' }),
5519
6508
  selected: selectedAnalyticsRecordId === record.id,
5520
6509
  attrs: { 'data-analytics-record-id': record.id },
5521
6510
  });
@@ -5540,6 +6529,84 @@ export function renderBacklogHtml() {
5540
6529
  openAnalyticsRecordDetails(record);
5541
6530
  }
5542
6531
 
6532
+ function buildAnalyticsLineageListBadge(record) {
6533
+ const lineage = record.analyticsLineage;
6534
+ if (!lineage) {
6535
+ return '';
6536
+ }
6537
+
6538
+ const parts = [];
6539
+ if (lineage.parent && lineage.parent.key) {
6540
+ parts.push('↳ ' + escapeHtml(lineage.parent.key));
6541
+ }
6542
+
6543
+ const continuationCount = Array.isArray(lineage.continuations) ? lineage.continuations.length : 0;
6544
+ if (continuationCount > 0) {
6545
+ const suffix = continuationCount === 1
6546
+ ? 'продолжение'
6547
+ : (continuationCount < 5 ? 'продолжения' : 'продолжений');
6548
+ parts.push(continuationCount + ' ' + suffix);
6549
+ }
6550
+
6551
+ if (parts.length === 0) {
6552
+ return '';
6553
+ }
6554
+
6555
+ return ' · <span class="analytics-lineage-badge" data-testid="analytics-lineage-badge">' + parts.join(' · ') + '</span>';
6556
+ }
6557
+
6558
+ function renderAnalyticsLineageSections(record) {
6559
+ const lineage = record.analyticsLineage;
6560
+ if (!lineage) {
6561
+ return '';
6562
+ }
6563
+
6564
+ const hasParent = Boolean(lineage.parent);
6565
+ const continuations = Array.isArray(lineage.continuations) ? lineage.continuations : [];
6566
+ const related = Array.isArray(lineage.related) ? lineage.related : [];
6567
+ if (!hasParent && continuations.length === 0 && related.length === 0) {
6568
+ return '';
6569
+ }
6570
+
6571
+ function renderLineageNavItem(entry) {
6572
+ const label = (entry.key ? entry.key + ': ' : '') + (entry.title || entry.id);
6573
+ return '<li><button type="button" class="analytics-lineage-nav-btn" data-analytics-record-id="' + escapeHtml(entry.id) + '" data-testid="analytics-lineage-nav">' +
6574
+ escapeHtml(label) +
6575
+ '</button></li>';
6576
+ }
6577
+
6578
+ let html = '<section class="detail-section analytics-lineage-section" data-testid="analytics-lineage-section">';
6579
+
6580
+ if (hasParent) {
6581
+ html += '<h3 class="analytics-section-title">Родительский разбор</h3>' +
6582
+ '<ul class="analytics-lineage-list">' + renderLineageNavItem(lineage.parent) + '</ul>';
6583
+ }
6584
+
6585
+ if (continuations.length > 0) {
6586
+ html += '<h3 class="analytics-section-title">Продолжения</h3>' +
6587
+ '<ul class="analytics-lineage-list">' + continuations.map(renderLineageNavItem).join('') + '</ul>';
6588
+ }
6589
+
6590
+ if (related.length > 0) {
6591
+ html += '<h3 class="analytics-section-title">Связанные разборы</h3>' +
6592
+ '<ul class="analytics-lineage-list">' + related.map(renderLineageNavItem).join('') + '</ul>';
6593
+ }
6594
+
6595
+ html += '</section>';
6596
+ return html;
6597
+ }
6598
+
6599
+ function openAnalyticsRecordById(recordId) {
6600
+ const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === recordId);
6601
+ if (!record) {
6602
+ return;
6603
+ }
6604
+
6605
+ selectedAnalyticsRecordId = record.id;
6606
+ renderAnalyticsPanel();
6607
+ openAnalyticsRecordDetails(record);
6608
+ }
6609
+
5543
6610
  function renderAnalyticsIntentGraphSections(record) {
5544
6611
  const graph = record.intentGraph;
5545
6612
  if (!graph || !graph.question) {
@@ -5614,11 +6681,86 @@ export function renderBacklogHtml() {
5614
6681
  '</section>';
5615
6682
  }
5616
6683
 
6684
+ function buildAnalyticsMarkdownForLlm(record) {
6685
+ const rawBody = String(record?.body ?? '').trim();
6686
+ if (rawBody) {
6687
+ return rawBody;
6688
+ }
6689
+
6690
+ const lines = [];
6691
+ const title = String(record?.title ?? '').trim();
6692
+ const query = String(record?.query ?? '').trim();
6693
+ const topic = String(record?.topic ?? '').trim();
6694
+ const key = String(record?.key ?? record?.id ?? '').trim();
6695
+
6696
+ if (title) {
6697
+ lines.push('# ' + title, '');
6698
+ }
6699
+ if (key) {
6700
+ lines.push('**Ключ:** ' + key, '');
6701
+ }
6702
+ if (query) {
6703
+ lines.push('**Запрос:** ' + query, '');
6704
+ }
6705
+ if (topic) {
6706
+ lines.push('**Тема:** ' + topic, '');
6707
+ }
6708
+
6709
+ return lines.join('\\n').trim() || '—';
6710
+ }
6711
+
6712
+ async function copyTextToClipboard(text) {
6713
+ if (navigator.clipboard && typeof navigator.clipboard.writeText === 'function') {
6714
+ await navigator.clipboard.writeText(text);
6715
+ return;
6716
+ }
6717
+
6718
+ const textarea = document.createElement('textarea');
6719
+ textarea.value = text;
6720
+ textarea.setAttribute('readonly', 'readonly');
6721
+ textarea.style.position = 'fixed';
6722
+ textarea.style.left = '-9999px';
6723
+ document.body.appendChild(textarea);
6724
+ textarea.select();
6725
+ document.execCommand('copy');
6726
+ document.body.removeChild(textarea);
6727
+ }
6728
+
6729
+ let analyticsCopyMdFeedbackTimer = null;
6730
+
6731
+ async function copyAnalyticsMarkdownForLlm(record, button) {
6732
+ const markdown = buildAnalyticsMarkdownForLlm(record);
6733
+ await copyTextToClipboard(markdown);
6734
+
6735
+ if (!button) {
6736
+ return;
6737
+ }
6738
+
6739
+ const previousLabel = button.textContent;
6740
+ button.textContent = 'Скопировано';
6741
+ button.disabled = true;
6742
+ if (analyticsCopyMdFeedbackTimer) {
6743
+ clearTimeout(analyticsCopyMdFeedbackTimer);
6744
+ }
6745
+ analyticsCopyMdFeedbackTimer = setTimeout(function() {
6746
+ button.textContent = previousLabel;
6747
+ button.disabled = false;
6748
+ analyticsCopyMdFeedbackTimer = null;
6749
+ }, 1600);
6750
+ }
6751
+
5617
6752
  function openAnalyticsRecordDetails(record) {
5618
6753
  const isClosing = readAnalyticsRecordKind(record) === 'closing';
5619
6754
  detailContext = { type: 'analytics', recordId: record.id, recordKey: record.key || record.id, recordKind: isClosing ? 'closing' : 'intake' };
5620
6755
  detailTitle.textContent = record.title;
5621
6756
  detailId.textContent = record.key || record.id;
6757
+ detailStack.reset();
6758
+ detailStack.push({
6759
+ type: 'analytics',
6760
+ key: record.id,
6761
+ title: record.title || record.key || record.id,
6762
+ payload: { recordId: record.id, recordKey: record.key || record.id },
6763
+ });
5622
6764
  const answerBody = stripAnalyticsBodyPreamble(record.body || '');
5623
6765
  const feedsEpics = Array.isArray(record.feeds_epics) ? record.feeds_epics : [];
5624
6766
  const metadataHtml =
@@ -5646,17 +6788,31 @@ export function renderBacklogHtml() {
5646
6788
  '</section>';
5647
6789
 
5648
6790
  const bodySectionTitle = isClosing ? 'Итоги эпика' : 'Ответ';
6791
+ const copyMdButton = renderClientUiButton({
6792
+ label: 'Копировать MD',
6793
+ variant: 'secondary',
6794
+ size: 'xs',
6795
+ testId: 'analytics-copy-md',
6796
+ attrs: {
6797
+ 'data-action': 'copy-analytics-md',
6798
+ 'aria-label': 'Копировать markdown разбора для LLM',
6799
+ },
6800
+ });
5649
6801
 
5650
6802
  detailBody.innerHTML =
5651
6803
  renderDetailBackButton('← К аналитике') +
5652
6804
  '<div class="analytics-qna" data-testid="analytics-qna">' +
5653
6805
  querySection +
5654
6806
  '<section class="detail-section analytics-record-body" data-testid="analytics-record-body">' +
5655
- '<h3 class="analytics-section-title">' + bodySectionTitle + '</h3>' +
6807
+ '<div class="analytics-section-header">' +
6808
+ '<h3 class="analytics-section-title">' + bodySectionTitle + '</h3>' +
6809
+ copyMdButton +
6810
+ '</div>' +
5656
6811
  renderMarkdownDocument(answerBody || '—') +
5657
6812
  '</section>' +
5658
6813
  '</div>' +
5659
6814
  (isClosing ? '' : renderAnalyticsIntentGraphSections(record)) +
6815
+ renderAnalyticsLineageSections(record) +
5660
6816
  renderAnalyticsRelatedWorkItemsSection(record) +
5661
6817
  wrapDetailAccordion('Метаданные', metadataHtml, { testid: 'analytics-record-meta' });
5662
6818
  openDetailDrawer();
@@ -5948,23 +7104,21 @@ export function renderBacklogHtml() {
5948
7104
  }
5949
7105
 
5950
7106
  function formatVerificationStatusLabel(status) {
5951
- const labels = {
5952
- passed: 'пройдено',
5953
- pending: 'ожидает',
5954
- blocked: 'заблокировано',
5955
- not_run: 'не запускалось',
5956
- failed: 'провалено',
5957
- };
5958
- return labels[status] || status || 'ожидает';
7107
+ const key = 'verification.status.' + String(status ?? 'pending');
7108
+ const localized = t(key);
7109
+ if (localized !== key) {
7110
+ return localized;
7111
+ }
7112
+ return status || t('verification.status.pending');
5959
7113
  }
5960
7114
 
5961
7115
  function formatVerificationTierLabel(tier) {
5962
- const labels = {
5963
- deterministic: 'детерминированный',
5964
- 'optional-env': 'опционально (окружение)',
5965
- 'optional-llm': 'опционально (LLM)',
5966
- };
5967
- return labels[tier] || tier;
7116
+ const key = 'verification.tierLabel.' + String(tier ?? '');
7117
+ const localized = t(key);
7118
+ if (localized !== key) {
7119
+ return localized;
7120
+ }
7121
+ return tier;
5968
7122
  }
5969
7123
 
5970
7124
  function renderVerificationPanel() {
@@ -5973,6 +7127,9 @@ export function renderBacklogHtml() {
5973
7127
  verificationMatrixWrap.innerHTML = '<div class="empty">Сводка проверок не загружена</div>';
5974
7128
  verificationEvidenceList.innerHTML = '';
5975
7129
  verificationWorkerRuns.innerHTML = '';
7130
+ if (verificationContractList) verificationContractList.innerHTML = '';
7131
+ if (verificationContractHealth) verificationContractHealth.innerHTML = '';
7132
+ if (verificationContractCount) verificationContractCount.textContent = '0';
5976
7133
  renderCodegenGatePanel();
5977
7134
  renderDaemonAuditPanel();
5978
7135
  renderCodeGapPanel();
@@ -5982,12 +7139,12 @@ export function renderBacklogHtml() {
5982
7139
  const verification = dashboardSnapshot.verification;
5983
7140
  const counts = verification.tierCounts;
5984
7141
  verificationTierBadges.innerHTML =
5985
- renderVerificationTierBadge('Уровень A', counts.deterministic) +
5986
- renderVerificationTierBadge('OneBase (окружение)', counts.optionalEnv) +
5987
- renderVerificationTierBadge('LLM (опционально)', counts.optionalLlm);
7142
+ renderVerificationTierBadge(t('verification.tier.a'), counts.deterministic) +
7143
+ renderVerificationTierBadge(t('verification.tier.onebase'), counts.optionalEnv) +
7144
+ renderVerificationTierBadge(t('verification.tier.llm'), counts.optionalLlm);
5988
7145
 
5989
7146
  verificationMatrixWrap.innerHTML =
5990
- '<table class="verification-matrix"><thead><tr><th>Проверка</th><th>Уровень</th><th>Команда</th><th>Статус</th></tr></thead><tbody>' +
7147
+ '<table class="verification-matrix"><thead><tr><th>' + escapeHtml(t('verification.matrix.check')) + '</th><th>' + escapeHtml(t('verification.matrix.tier')) + '</th><th>' + escapeHtml(t('verification.matrix.command')) + '</th><th>' + escapeHtml(t('verification.matrix.status')) + '</th></tr></thead><tbody>' +
5991
7148
  verification.matrix.map((row) =>
5992
7149
  '<tr><td>' + escapeHtml(row.title) + '</td><td>' + escapeHtml(formatVerificationTierLabel(row.tier)) + '</td><td><code>' + escapeHtml(row.command) + '</code></td><td>' +
5993
7150
  renderVerificationStatus(row.status) + '</td></tr>'
@@ -5997,6 +7154,8 @@ export function renderBacklogHtml() {
5997
7154
  ? '<p class="empty">Гейт OneBase заблокирован' + (verification.onebaseGate.blockedTaskId ? ': ' + escapeHtml(verification.onebaseGate.blockedTaskId) : '') + '. Установите Go и запустите npm run test:optional:onebase.</p>'
5998
7155
  : '');
5999
7156
 
7157
+ renderVerificationContractPanel();
7158
+
6000
7159
  const evidenceRows = dashboardSnapshot.recentEvidence || [];
6001
7160
  renderCodegenGatePanel();
6002
7161
  verificationEvidenceList.innerHTML = evidenceRows.length
@@ -6021,6 +7180,40 @@ export function renderBacklogHtml() {
6021
7180
  renderCodeGapPanel();
6022
7181
  }
6023
7182
 
7183
+ function renderVerificationContractPanel() {
7184
+ if (!verificationContractList || !verificationContractHealth || !verificationContractCount) {
7185
+ return;
7186
+ }
7187
+
7188
+ const summaries = dashboardSnapshot?.verification?.contractSummaries ?? [];
7189
+ const health = dashboardSnapshot?.verification?.contractHealth;
7190
+
7191
+ verificationContractCount.textContent = String(summaries.length);
7192
+ verificationContractHealth.innerHTML = health
7193
+ ? '<span class="pill">Structured evidence: <strong>' + escapeHtml(String(health.structuredEvidencePct ?? 0)) + '%</strong></span>' +
7194
+ '<span class="pill">Contract ready: <strong>' + escapeHtml(String(health.contractReadyPct ?? 0)) + '%</strong></span>' +
7195
+ '<span class="pill">Gate tasks: <strong>' + escapeHtml(String(health.gateTaskCount ?? 0)) + '</strong></span>'
7196
+ : '';
7197
+
7198
+ verificationContractList.innerHTML = summaries.length
7199
+ ? summaries.map((entry) => {
7200
+ const tier = entry.contract?.verification?.tier ?? '—';
7201
+ const matrixRowId = entry.contract?.verification?.matrixRowId ?? '—';
7202
+ const violationLines = (entry.readiness?.violations ?? []).map((violation) =>
7203
+ '<li><strong>' + escapeHtml(violation.code) + '</strong>: ' + escapeHtml(violation.message) +
7204
+ (violation.fix ? ' · ' + escapeHtml(violation.fix) : '') + '</li>',
7205
+ ).join('');
7206
+ return '<li data-work-id="' + escapeHtml(entry.workId) + '">' +
7207
+ '<h3>' + escapeHtml(entry.title || entry.workId) + '</h3>' +
7208
+ '<p class="list-row-line">Контракт · Tier ' + escapeHtml(String(tier)) + ' · ' + escapeHtml(String(matrixRowId)) +
7209
+ ' · ' + renderVerificationStatus(entry.readiness?.ok ? 'passed' : 'failed') +
7210
+ ' · нарушений: ' + escapeHtml(String(entry.readiness?.violationCount ?? 0)) + '</p>' +
7211
+ (violationLines ? '<ul>' + violationLines + '</ul>' : '') +
7212
+ '</li>';
7213
+ }).join('')
7214
+ : '<li class="empty">Нет gate-задач в текущем snapshot</li>';
7215
+ }
7216
+
6024
7217
  function renderCodegenGatePanel() {
6025
7218
  if (!codegenGateList || !codegenGateSummary || !codegenGateCount) {
6026
7219
  return;
@@ -6101,7 +7294,7 @@ export function renderBacklogHtml() {
6101
7294
  }
6102
7295
 
6103
7296
  const suggestions = codeGapProjection.suggestions ?? [];
6104
- const query = search.value.trim().toLowerCase();
7297
+ const query = getPanelSearchQuery();
6105
7298
  const filtered = suggestions.filter((entry) => {
6106
7299
  if (!query) {
6107
7300
  return true;
@@ -6355,9 +7548,15 @@ export function renderBacklogHtml() {
6355
7548
  const prevDisabled = pagination.page <= 1;
6356
7549
  const nextDisabled = pagination.page >= pagination.totalPages;
6357
7550
  container.innerHTML =
6358
- renderClientUiButton({ label: 'Назад', variant: 'secondary', className: 'workflow-page-btn', disabled: prevDisabled, attrs: { 'data-workflow-page': kind, 'data-page-action': 'prev' } }) +
6359
- '<span class="workflow-page-meta">Стр. ' + pagination.page + ' из ' + pagination.totalPages + ' · ' + pagination.from + '–' + pagination.to + ' из ' + pagination.total + '</span>' +
6360
- renderClientUiButton({ label: 'Вперёд', variant: 'secondary', className: 'workflow-page-btn', disabled: nextDisabled, attrs: { 'data-workflow-page': kind, 'data-page-action': 'next' } });
7551
+ renderClientUiButton({ label: t('pagination.prev'), variant: 'secondary', className: 'workflow-page-btn', disabled: prevDisabled, attrs: { 'data-workflow-page': kind, 'data-page-action': 'prev' } }) +
7552
+ '<span class="workflow-page-meta">' + escapeHtml(t('pagination.meta', {
7553
+ page: pagination.page,
7554
+ totalPages: pagination.totalPages,
7555
+ from: pagination.from,
7556
+ to: pagination.to,
7557
+ total: pagination.total,
7558
+ })) + '</span>' +
7559
+ renderClientUiButton({ label: t('pagination.next'), variant: 'secondary', className: 'workflow-page-btn', disabled: nextDisabled, attrs: { 'data-workflow-page': kind, 'data-page-action': 'next' } });
6361
7560
  }
6362
7561
 
6363
7562
  function handleWorkflowPaginationClick(event) {
@@ -6407,7 +7606,7 @@ export function renderBacklogHtml() {
6407
7606
  ?? null;
6408
7607
 
6409
7608
  if (!projection) {
6410
- kanbanBoard.innerHTML = '<div class="empty">Kanban projection не загружен</div>';
7609
+ kanbanBoard.innerHTML = '<div class="empty">' + escapeHtml(t('empty.kanbanNotLoaded')) + '</div>';
6411
7610
  return;
6412
7611
  }
6413
7612
 
@@ -6419,8 +7618,8 @@ export function renderBacklogHtml() {
6419
7618
  .join('');
6420
7619
 
6421
7620
  return '<article class="column" data-kanban-column="' + escapeHtml(column.id) + '">' +
6422
- '<h2>' + escapeHtml(column.title) + renderClientUiBadge({ label: String(column.count), tone: 'muted', testId: 'kanban-col-count-' + column.id }) + '</h2>' +
6423
- (cards || '<div class="empty">Нет задач</div>') +
7621
+ '<h2>' + escapeHtml(localizedKanbanColumnTitle(column.id, column.title)) + renderClientUiBadge({ label: String(column.count), tone: 'default', testId: 'kanban-col-count-' + column.id }) + '</h2>' +
7622
+ (cards || '<div class="empty">' + escapeHtml(t('empty.noTasks')) + '</div>') +
6424
7623
  '</article>';
6425
7624
  }).join('');
6426
7625
  }
@@ -6437,13 +7636,13 @@ export function renderBacklogHtml() {
6437
7636
  .map((item) => ({ item, queueKind: null }));
6438
7637
 
6439
7638
  return '<article class="column">' +
6440
- '<h2>' + escapeHtml(group.title) + renderClientUiBadge({ label: String(groupEntries.length), tone: 'muted', testId: 'board-col-count-' + group.id }) + '</h2>' +
7639
+ '<h2>' + escapeHtml(localizedBoardGroupTitle(group.id, group.title)) + renderClientUiBadge({ label: String(groupEntries.length), tone: 'default', testId: 'board-col-count-' + group.id }) + '</h2>' +
6441
7640
  (groupEntries.length
6442
7641
  ? groupEntries.map((entry) => renderTaskAtomCard(entry.item, '', {
6443
7642
  queueKind: entry.queueKind,
6444
7643
  promoteEligible: entry.queueKind === 'planned',
6445
7644
  })).join('')
6446
- : '<div class="empty">Нет атомов задач</div>') +
7645
+ : '<div class="empty">' + escapeHtml(t('empty.noTaskAtoms')) + '</div>') +
6447
7646
  '</article>';
6448
7647
  }).join('');
6449
7648
  }
@@ -6454,15 +7653,15 @@ export function renderBacklogHtml() {
6454
7653
  const progress = group.childCount > 0
6455
7654
  ? group.doneChildCount + '/' + group.childCount
6456
7655
  : '0';
6457
- const toggleLabel = collapsed ? 'Развернуть' : 'Свернуть';
7656
+ const toggleLabel = collapsed ? t('workflow.epic.expand') : t('workflow.epic.collapse');
6458
7657
  const childrenHtml = group.children.length
6459
7658
  ? group.children.map((child) => renderTaskAtom(child, 'list-row')).join('')
6460
- : '<div class="empty">Нет подзадач в этом списке</div>';
7659
+ : '<div class="empty">' + escapeHtml(t('empty.noSubtasks')) + '</div>';
6461
7660
 
6462
7661
  return '<article class="workflow-epic-group" data-testid="workflow-epic-' + escapeHtml(epic.id) + '">' +
6463
7662
  '<div class="workflow-epic-header">' +
6464
7663
  '<button class="task-atom list-row" type="button" data-task-id="' + escapeHtml(epic.id) + '">' +
6465
- '<h3><span class="workflow-epic-badge">Эпик</span>' + escapeHtml(epic.title || epic.id) +
7664
+ '<h3><span class="workflow-epic-badge">' + escapeHtml(t('workflow.epic.badge')) + '</span>' + escapeHtml(epic.title || epic.id) +
6466
7665
  '<span class="workflow-epic-meta">' + escapeHtml(progress) + '</span></h3>' +
6467
7666
  renderSemanticCore(epic) +
6468
7667
  renderIssueFooter(epic) +
@@ -7194,12 +8393,14 @@ export function renderBacklogHtml() {
7194
8393
 
7195
8394
  function renderTaskAtom(item, extraClass = '', options = {}) {
7196
8395
  const queueKind = options.queueKind ?? null;
8396
+ const surface = extraClass.includes('kanban-card') ? 'board' : 'default';
7197
8397
  const targets = highlightTaskId ? crossHighlightTargets(highlightTaskId) : { peerIds: [] };
7198
8398
  const highlightClass = item.id === highlightTaskId || targets.peerIds.includes(item.id) ? ' is-highlighted' : '';
7199
- return '<button class="task-atom' + highlightClass + (extraClass ? ' ' + extraClass : '') + '" type="button" data-task-id="' + escapeHtml(item.id) + '">' +
8399
+ const newClass = options.isNew ? ' is-new' : '';
8400
+ return '<button class="task-atom' + highlightClass + newClass + (extraClass ? ' ' + extraClass : '') + '" type="button" data-task-id="' + escapeHtml(item.id) + '" data-work-id="' + escapeHtml(item.id) + '">' +
7200
8401
  '<h3>' + escapeHtml(item.title || item.id) + '</h3>' +
7201
8402
  renderSemanticCore(item) +
7202
- renderIssueFooter(item, { queueKind }) +
8403
+ renderIssueFooter(item, { queueKind, surface }) +
7203
8404
  '</button>';
7204
8405
  }
7205
8406
 
@@ -7214,6 +8415,36 @@ export function renderBacklogHtml() {
7214
8415
  }
7215
8416
 
7216
8417
  function handleBoardClick(event) {
8418
+ const copyAnalyticsBtn = event.target.closest('[data-action="copy-analytics-md"]');
8419
+ if (copyAnalyticsBtn) {
8420
+ event.preventDefault();
8421
+ event.stopPropagation();
8422
+ const recordId = detailContext?.type === 'analytics'
8423
+ ? detailContext.recordId
8424
+ : selectedAnalyticsRecordId;
8425
+ const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === recordId);
8426
+ if (record) {
8427
+ copyAnalyticsMarkdownForLlm(record, copyAnalyticsBtn).catch(() => undefined);
8428
+ }
8429
+ return;
8430
+ }
8431
+
8432
+ const lineageNavBtn = event.target.closest('.analytics-lineage-nav-btn[data-analytics-record-id]');
8433
+ if (lineageNavBtn) {
8434
+ event.preventDefault();
8435
+ event.stopPropagation();
8436
+ const fromDrawer = Boolean(lineageNavBtn.closest('#detail-body, #detail-sub-body'));
8437
+ if (fromDrawer && detailDrawer.classList.contains('is-open')) {
8438
+ const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === lineageNavBtn.dataset.analyticsRecordId);
8439
+ if (record) {
8440
+ openAnalyticsLineageStackDrawer(record);
8441
+ return;
8442
+ }
8443
+ }
8444
+ openAnalyticsRecordById(lineageNavBtn.dataset.analyticsRecordId);
8445
+ return;
8446
+ }
8447
+
7217
8448
  const epicToggle = event.target.closest('[data-workflow-epic-toggle]');
7218
8449
  if (epicToggle) {
7219
8450
  event.preventDefault();
@@ -7318,7 +8549,38 @@ export function renderBacklogHtml() {
7318
8549
  const item = snapshot.items.find((candidate) => candidate.id === card.dataset.taskId);
7319
8550
  if (!item) return;
7320
8551
  applyCrossHighlight(item.id);
7321
- const fromDrawer = detailDrawer.classList.contains('is-open') && Boolean(card.closest('#detail-body'));
8552
+
8553
+ const fromAnalyticsRelated = card.classList.contains('analytics-related-task-btn')
8554
+ && detailDrawer.classList.contains('is-open')
8555
+ && Boolean(card.closest('#detail-body, #detail-sub-body'));
8556
+ if (fromAnalyticsRelated) {
8557
+ let recordId = selectedAnalyticsRecordId || detailContext?.recordId;
8558
+ if (card.closest('#detail-sub-body')) {
8559
+ const top = detailStack.peek();
8560
+ if (top?.type === 'analytics') {
8561
+ recordId = top.payload?.recordId ?? top.key ?? recordId;
8562
+ }
8563
+ }
8564
+ const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === recordId);
8565
+ if (record) {
8566
+ openAnalyticsRelatedTaskSubDrawer(item, record);
8567
+ return;
8568
+ }
8569
+ }
8570
+
8571
+ const fromHierarchy = Boolean(card.closest('[data-testid="hierarchy-parent"], [data-testid="hierarchy-children"]'));
8572
+ const fromDrawerBody = Boolean(card.closest('#detail-body'));
8573
+ const fromSubDrawerBody = Boolean(card.closest('#detail-sub-body'));
8574
+ const fromDrawer = detailDrawer.classList.contains('is-open') && fromDrawerBody;
8575
+ const fromSubDrawer = detailSubDrawer?.classList.contains('is-open') && fromSubDrawerBody;
8576
+
8577
+ if (fromHierarchy && (fromDrawer || fromSubDrawer)) {
8578
+ event.preventDefault();
8579
+ event.stopPropagation();
8580
+ openTaskHierarchyStackDrawer(item);
8581
+ return;
8582
+ }
8583
+
7322
8584
  const analyticsParent = card.classList.contains('analytics-related-task-btn') && selectedAnalyticsRecordId
7323
8585
  ? { type: 'analytics', recordId: selectedAnalyticsRecordId }
7324
8586
  : detailContext;
@@ -7366,6 +8628,228 @@ export function renderBacklogHtml() {
7366
8628
  if (button && handler) button.addEventListener('click', handler, { once: true });
7367
8629
  }
7368
8630
 
8631
+ function renderDetailStackBreadcrumb() {
8632
+ const frames = detailStack.getFrames();
8633
+ if (frames.length <= 1) {
8634
+ return '';
8635
+ }
8636
+ const crumbs = frames.map((frame, index) => {
8637
+ const label = frame.title || frame.key || frame.type;
8638
+ const isCurrent = index === frames.length - 1;
8639
+ return '<span class="detail-stack-crumb' + (isCurrent ? ' is-current' : '') + '">' + escapeHtml(label) + '</span>';
8640
+ });
8641
+ return '<nav class="detail-stack-breadcrumb" data-testid="detail-stack-breadcrumb" aria-label="Navigation trail">' +
8642
+ crumbs.join('<span class="detail-stack-crumb-sep">›</span>') + '</nav>';
8643
+ }
8644
+
8645
+ function syncDetailSubHeaderFromStack() {
8646
+ const top = detailStack.peek();
8647
+ if (!top || !detailSubTitle || !detailSubId) {
8648
+ return;
8649
+ }
8650
+ detailSubTitle.textContent = top.title || top.key || top.type;
8651
+ if (top.type === 'task') {
8652
+ detailSubId.textContent = top.payload?.workId || top.key || '';
8653
+ } else if (top.type === 'analytics') {
8654
+ detailSubId.textContent = top.payload?.recordKey || top.payload?.recordId || top.key || '';
8655
+ } else if (top.type === 'architecture-l2') {
8656
+ detailSubId.textContent = top.payload?.nodePath || top.payload?.nodeId || top.key || '';
8657
+ } else {
8658
+ detailSubId.textContent = top.key || '';
8659
+ }
8660
+ const headerWrap = detailSubTitle.closest('.detail-header > div');
8661
+ if (!headerWrap) {
8662
+ return;
8663
+ }
8664
+ const existing = headerWrap.querySelector('[data-testid="detail-stack-breadcrumb"]');
8665
+ const breadcrumbHtml = renderDetailStackBreadcrumb();
8666
+ if (breadcrumbHtml) {
8667
+ if (existing) {
8668
+ existing.outerHTML = breadcrumbHtml;
8669
+ } else {
8670
+ detailSubId.insertAdjacentHTML('afterend', breadcrumbHtml);
8671
+ }
8672
+ } else if (existing) {
8673
+ existing.remove();
8674
+ }
8675
+ }
8676
+
8677
+ function closeDetailStackFully() {
8678
+ detailStack.reset();
8679
+ closeL2NodeDetails();
8680
+ }
8681
+
8682
+ function popDetailStackNavigation() {
8683
+ if (!detailSubDrawer?.classList.contains('is-open')) {
8684
+ return false;
8685
+ }
8686
+ if (detailStack.depth() > 1) {
8687
+ detailStack.pop();
8688
+ renderTopDetailStackFrame().catch(() => undefined);
8689
+ return true;
8690
+ }
8691
+ closeDetailStackFully();
8692
+ detailClose?.focus();
8693
+ return true;
8694
+ }
8695
+
8696
+ function resolveStackParentContext(parentFrame) {
8697
+ if (!parentFrame) {
8698
+ return null;
8699
+ }
8700
+ if (parentFrame.type === 'task') {
8701
+ return {
8702
+ type: 'task',
8703
+ taskId: parentFrame.payload?.workId ?? parentFrame.key,
8704
+ title: parentFrame.title || parentFrame.key,
8705
+ };
8706
+ }
8707
+ if (parentFrame.type === 'analytics') {
8708
+ return {
8709
+ type: 'analytics',
8710
+ recordId: parentFrame.payload?.recordId ?? parentFrame.key,
8711
+ };
8712
+ }
8713
+ if (parentFrame.type === 'architecture-block') {
8714
+ return {
8715
+ type: 'block',
8716
+ blockId: parentFrame.payload?.blockId ?? parentFrame.key,
8717
+ };
8718
+ }
8719
+ return null;
8720
+ }
8721
+
8722
+ async function renderDetailStackFrame(frame, parentFrame) {
8723
+ if (frame.type === 'task') {
8724
+ const item = snapshot?.items?.find((candidate) => candidate.id === (frame.payload?.workId || frame.key));
8725
+ if (!item || !detailSubBody) {
8726
+ return;
8727
+ }
8728
+ detailSubBody.setAttribute(
8729
+ 'data-testid',
8730
+ parentFrame?.type === 'analytics' ? 'analytics-related-task-sub-drawer' : 'task-hierarchy-sub-drawer',
8731
+ );
8732
+ detailSubBody.dataset.remoteStatus = item.status ?? '';
8733
+ await renderTaskDetailContent(item, {
8734
+ parentContext: resolveStackParentContext(parentFrame),
8735
+ mode: 'view',
8736
+ targetBody: detailSubBody,
8737
+ subDrawer: true,
8738
+ });
8739
+ bindDetailSubNavBack(() => popDetailStackNavigation());
8740
+ return;
8741
+ }
8742
+ if (frame.type === 'analytics') {
8743
+ const record = (analyticsProjection?.records ?? []).find((entry) => entry.id === (frame.payload?.recordId || frame.key));
8744
+ if (!record || !detailSubBody) {
8745
+ return;
8746
+ }
8747
+ detailSubBody.setAttribute('data-testid', 'analytics-lineage-sub-drawer');
8748
+ renderAnalyticsRecordStackBody(record, parentFrame);
8749
+ bindDetailSubNavBack(() => popDetailStackNavigation());
8750
+ return;
8751
+ }
8752
+ if (frame.type === 'architecture-l2') {
8753
+ const block = architectureSnapshot?.blocks?.find((candidate) => candidate.id === frame.payload?.blockId);
8754
+ if (!block || !detailSubBody) {
8755
+ return;
8756
+ }
8757
+ const l2Graph = block.l2Graph;
8758
+ const nodes = l2Graph?.layoutNodes || l2Graph?.nodes || [];
8759
+ const node = nodes.find((candidate) => candidate.id === frame.payload?.nodeId);
8760
+ if (!node) {
8761
+ return;
8762
+ }
8763
+ detailSubBody.setAttribute('data-testid', 'architecture-l2-sub-drawer');
8764
+ const backLabel = parentFrame?.type === 'architecture-block'
8765
+ ? '← ' + (parentFrame.title || parentFrame.key)
8766
+ : '← ' + (block.title || block.id);
8767
+ detailSubBody.innerHTML = renderDetailSubBackButton(backLabel) + buildL2NodeDetailSections(node, l2Graph, block);
8768
+ bindDetailSubNavBack(() => popDetailStackNavigation());
8769
+ }
8770
+ }
8771
+
8772
+ async function renderTopDetailStackFrame() {
8773
+ const top = detailStack.peek();
8774
+ const below = detailStack.peekBelow();
8775
+ if (!top || detailStack.depth() <= 1) {
8776
+ closeDetailStackFully();
8777
+ return;
8778
+ }
8779
+ await renderDetailStackFrame(top, below);
8780
+ syncDetailSubHeaderFromStack();
8781
+ openL2SubDrawer();
8782
+ }
8783
+
8784
+ function renderAnalyticsRecordStackBody(record, parentFrame) {
8785
+ const parentContext = resolveStackParentContext(parentFrame);
8786
+ const backLabel = parentContext?.type === 'analytics'
8787
+ ? '← ' + ((analyticsProjection?.records ?? []).find((entry) => entry.id === parentContext.recordId)?.key || 'Аналитика')
8788
+ : '← ' + (record.key || record.title || 'Аналитика');
8789
+ detailSubBody.innerHTML = renderDetailSubBackButton(backLabel) + buildAnalyticsRecordDetailInnerHtml(record);
8790
+ queueMicrotask(function() {
8791
+ mountMarkdownMermaidDiagrams(detailSubBody.querySelector('.analytics-record-body'));
8792
+ });
8793
+ }
8794
+
8795
+ function buildAnalyticsRecordDetailInnerHtml(record) {
8796
+ const isClosing = readAnalyticsRecordKind(record) === 'closing';
8797
+ const answerBody = stripAnalyticsBodyPreamble(record.body || '');
8798
+ const querySection = isClosing
8799
+ ? (String(record.query ?? '').trim() !== ''
8800
+ ? '<section class="detail-section analytics-query-section" data-testid="analytics-query-section">' +
8801
+ '<h3 class="analytics-section-title">Контекст</h3>' +
8802
+ '<p class="analytics-query-text">' + escapeHtml(record.query) + '</p>' +
8803
+ '</section>'
8804
+ : '')
8805
+ : '<section class="detail-section analytics-query-section" data-testid="analytics-query-section">' +
8806
+ '<h3 class="analytics-section-title">Запрос</h3>' +
8807
+ '<p class="analytics-query-text">' + escapeHtml(record.query || '—') + '</p>' +
8808
+ '</section>';
8809
+ const bodySectionTitle = isClosing ? 'Итоги эпика' : 'Ответ';
8810
+ return '<div class="analytics-qna" data-testid="analytics-qna">' +
8811
+ querySection +
8812
+ '<section class="detail-section analytics-record-body" data-testid="analytics-record-body">' +
8813
+ '<h3 class="analytics-section-title">' + bodySectionTitle + '</h3>' +
8814
+ renderMarkdownDocument(answerBody || '—') +
8815
+ '</section>' +
8816
+ '</div>' +
8817
+ (isClosing ? '' : renderAnalyticsIntentGraphSections(record)) +
8818
+ renderAnalyticsLineageSections(record) +
8819
+ renderAnalyticsRelatedWorkItemsSection(record);
8820
+ }
8821
+
8822
+ function openAnalyticsLineageStackDrawer(record) {
8823
+ if (!record?.id) {
8824
+ return;
8825
+ }
8826
+ const currentRecordId = detailContext?.recordId || selectedAnalyticsRecordId;
8827
+ const currentRecord = currentRecordId
8828
+ ? (analyticsProjection?.records ?? []).find((entry) => entry.id === currentRecordId)
8829
+ : null;
8830
+
8831
+ if (currentRecord && detailStack.depth() === 0) {
8832
+ detailStack.push({
8833
+ type: 'analytics',
8834
+ key: currentRecord.id,
8835
+ title: currentRecord.title || currentRecord.key || currentRecord.id,
8836
+ payload: { recordId: currentRecord.id, recordKey: currentRecord.key || currentRecord.id },
8837
+ });
8838
+ }
8839
+
8840
+ detailStack.push({
8841
+ type: 'analytics',
8842
+ key: record.id,
8843
+ title: record.title || record.key || record.id,
8844
+ payload: { recordId: record.id, recordKey: record.key || record.id },
8845
+ });
8846
+
8847
+ selectedAnalyticsRecordId = record.id;
8848
+ renderAnalyticsPanel();
8849
+ renderTopDetailStackFrame().catch(() => undefined);
8850
+ detailSubClose?.focus();
8851
+ }
8852
+
7369
8853
  function resolveL2NodeLabel(nodeRef, l2Graph) {
7370
8854
  const id = typeof nodeRef === 'string' ? nodeRef : nodeRef?.id;
7371
8855
  const nodes = l2Graph.layoutNodes || l2Graph.nodes || [];
@@ -7466,25 +8950,117 @@ export function renderBacklogHtml() {
7466
8950
  const node = nodes.find((candidate) => candidate.id === nodeId);
7467
8951
  if (!node || !detailSubBody || !detailSubTitle || !detailSubId) return;
7468
8952
 
7469
- const openedFromDrawer = fromBlockDrawer
7470
- || (detailDrawer.classList.contains('is-open')
7471
- && detailContext?.type === 'block'
7472
- && detailContext.blockId === block.id);
7473
-
7474
- detailSubTitle.textContent = node.kind === 'file' ? (node.title || node.path || node.id) : (node.title || node.id);
7475
- detailSubId.textContent = node.kind === 'container'
7476
- ? ('Контейнер · ' + formatArchitectureContainerKind(node.subtitle || ''))
7477
- : (node.path || node.id);
7478
- detailSubBody.innerHTML =
7479
- renderDetailSubBackButton('← ' + (block.title || block.id)) +
7480
- buildL2NodeDetailSections(node, l2Graph, block);
8953
+ if (fromBlockDrawer && detailContext?.type === 'block' && detailStack.depth() === 0) {
8954
+ detailStack.push({
8955
+ type: 'architecture-block',
8956
+ key: block.id,
8957
+ title: block.title || block.id,
8958
+ payload: { blockId: block.id },
8959
+ });
8960
+ }
8961
+
8962
+ detailStack.push({
8963
+ type: 'architecture-l2',
8964
+ key: block.id + ':' + nodeId,
8965
+ title: node.kind === 'file' ? (node.title || node.path || node.id) : (node.title || node.id),
8966
+ payload: {
8967
+ blockId: block.id,
8968
+ nodeId: node.id,
8969
+ nodePath: node.path || node.id,
8970
+ },
8971
+ });
8972
+
8973
+ renderTopDetailStackFrame().catch(() => undefined);
8974
+ detailSubClose?.focus();
8975
+ }
8976
+
8977
+ function openTaskHierarchyStackDrawer(item) {
8978
+ if (!item?.id) {
8979
+ return;
8980
+ }
8981
+
8982
+ const currentWorkId = detailContext?.taskId ?? detailInspectorState?.workId;
8983
+ const currentItem = currentWorkId
8984
+ ? snapshot?.items?.find((candidate) => candidate.id === currentWorkId)
8985
+ : null;
8986
+
8987
+ if (currentItem && detailStack.depth() === 0) {
8988
+ detailStack.push({
8989
+ type: 'task',
8990
+ key: currentItem.id,
8991
+ title: currentItem.title || currentItem.id,
8992
+ payload: { workId: currentItem.id },
8993
+ });
8994
+ }
8995
+
8996
+ detailStack.push({
8997
+ type: 'task',
8998
+ key: item.id,
8999
+ title: item.title || item.id,
9000
+ payload: { workId: item.id },
9001
+ });
9002
+
9003
+ renderTopDetailStackFrame().catch(() => undefined);
9004
+ detailSubClose?.focus();
9005
+ }
9006
+
9007
+ function openTaskStackSubDrawer(item, previousFrame) {
9008
+ if (!item || !detailSubBody || !detailSubTitle || !detailSubId) {
9009
+ return;
9010
+ }
9011
+
9012
+ detailSubTitle.textContent = item.title || item.id;
9013
+ detailSubId.textContent = item.id;
9014
+ detailSubBody.setAttribute('data-testid', 'task-hierarchy-sub-drawer');
9015
+ detailSubBody.dataset.remoteStatus = item.status ?? '';
9016
+
9017
+ const parentContext = previousFrame?.type === 'task'
9018
+ ? {
9019
+ type: 'task',
9020
+ taskId: previousFrame.payload?.workId ?? previousFrame.key,
9021
+ title: previousFrame.title || previousFrame.key,
9022
+ }
9023
+ : null;
9024
+
9025
+ renderTaskDetailContent(item, {
9026
+ parentContext,
9027
+ mode: 'view',
9028
+ targetBody: detailSubBody,
9029
+ subDrawer: true,
9030
+ }).catch((error) => {
9031
+ detailSubBody.innerHTML = '<div class="error">' + escapeHtml(error.message) + '</div>';
9032
+ });
9033
+
7481
9034
  openL2SubDrawer();
7482
- bindDetailSubNavBack(() => {
7483
- closeL2NodeDetails();
7484
- if (!openedFromDrawer && detailSubClose) {
7485
- detailSubClose.focus();
9035
+ detailSubClose?.focus();
9036
+ }
9037
+
9038
+ function openAnalyticsRelatedTaskSubDrawer(item, record) {
9039
+ if (!item || !record) {
9040
+ return;
9041
+ }
9042
+
9043
+ const top = detailStack.peek();
9044
+ if (!top || top.type !== 'analytics' || top.payload?.recordId !== record.id) {
9045
+ if (detailStack.depth() > 0) {
9046
+ detailStack.reset();
7486
9047
  }
9048
+ detailStack.push({
9049
+ type: 'analytics',
9050
+ key: record.id,
9051
+ title: record.title || record.key || record.id,
9052
+ payload: { recordId: record.id, recordKey: record.key || record.id },
9053
+ });
9054
+ }
9055
+
9056
+ detailStack.push({
9057
+ type: 'task',
9058
+ key: item.id,
9059
+ title: item.title || item.id,
9060
+ payload: { workId: item.id },
7487
9061
  });
9062
+
9063
+ renderTopDetailStackFrame().catch(() => undefined);
7488
9064
  detailSubClose?.focus();
7489
9065
  }
7490
9066
 
@@ -7521,7 +9097,7 @@ export function renderBacklogHtml() {
7521
9097
  if (parentId !== '') {
7522
9098
  const parent = snapshot?.items?.find((candidate) => candidate.id === parentId);
7523
9099
  parts.push('<div class="detail-section hierarchy-parent" data-testid="hierarchy-parent">' +
7524
- '<h3>Родитель</h3>' +
9100
+ '<h3>' + escapeHtml(t('drawer.section.parent')) + '</h3>' +
7525
9101
  '<div class="hierarchy-panel">' +
7526
9102
  '<button type="button" class="task-atom list-row" data-task-id="' + escapeHtml(parentId) + '">' +
7527
9103
  '<h3>' + escapeHtml(parent?.title ?? parentId) + '</h3>' +
@@ -7544,9 +9120,9 @@ export function renderBacklogHtml() {
7544
9120
  }).join('');
7545
9121
 
7546
9122
  parts.push('<div class="detail-section hierarchy-children" data-testid="hierarchy-children">' +
7547
- '<h3>Подзадачи <span class="count">' + doneCount + '/' + childIds.length + '</span></h3>' +
9123
+ '<h3>' + escapeHtml(t('drawer.section.children')) + ' <span class="count">' + doneCount + '/' + childIds.length + '</span></h3>' +
7548
9124
  (closeBlocked
7549
- ? '<p class="hierarchy-close-gate">Закрытие родителя заблокировано: не все подзадачи завершены.</p>'
9125
+ ? '<p class="hierarchy-close-gate">' + escapeHtml(t('drawer.section.closeBlocked')) + '</p>'
7550
9126
  : '') +
7551
9127
  '<div class="hierarchy-panel">' + childButtons + '</div></div>');
7552
9128
  }
@@ -7557,18 +9133,18 @@ export function renderBacklogHtml() {
7557
9133
  function buildTaskDetailSections(item) {
7558
9134
  return '<div class="meta">' + renderTags(item).join('') + '</div>' +
7559
9135
  renderParentChildHierarchy(item) +
7560
- renderDetailText('Базис', item.basis) +
7561
- renderDetailText('Вектор', item.vector) +
7562
- renderDetailText('Цель', item.goal) +
9136
+ renderDetailText(t('drawer.section.basis'), item.basis) +
9137
+ renderDetailText(t('drawer.section.vector'), item.vector) +
9138
+ renderDetailText(t('drawer.section.goal'), item.goal) +
7563
9139
  renderPipelineReadOnly(item) +
7564
- renderOptionalDetailAccordion('Зависимости', item.dependsOn, 'list') +
7565
- renderOptionalDetailAccordion('Проверки', item.checks, 'list') +
7566
- renderOptionalDetailAccordion('Свидетельства', item.evidence, 'list') +
7567
- renderOptionalDetailAccordion('Следующее действие', item.nextAction, 'text') +
7568
- renderOptionalDetailAccordion('Блокер', item.blocker, 'text') +
7569
- renderOptionalDetailAccordion('Трасса файлов', item.targetFiles, 'list') +
7570
- wrapDetailAccordion('Память',
7571
- '<button type="button" class="detail-link-btn" data-action="open-memory-for-task" data-work-id="' + escapeHtml(item.id) + '" data-testid="open-memory-for-task">Память по work.id</button>',
9140
+ renderOptionalDetailAccordion(t('drawer.section.dependencies'), item.dependsOn, 'list') +
9141
+ renderOptionalDetailAccordion(t('drawer.section.checks'), item.checks, 'list') +
9142
+ renderOptionalDetailAccordion(t('drawer.section.evidence'), item.evidence, 'list') +
9143
+ renderOptionalDetailAccordion(t('drawer.section.nextAction'), item.nextAction, 'text') +
9144
+ renderOptionalDetailAccordion(t('drawer.section.blocker'), item.blocker, 'text') +
9145
+ renderOptionalDetailAccordion(t('drawer.section.targetFiles'), item.targetFiles, 'list') +
9146
+ wrapDetailAccordion(t('drawer.section.memory'),
9147
+ '<button type="button" class="detail-link-btn" data-action="open-memory-for-task" data-work-id="' + escapeHtml(item.id) + '" data-testid="open-memory-for-task">' + escapeHtml(t('drawer.section.memoryLink')) + '</button>',
7572
9148
  { required: true });
7573
9149
  }
7574
9150
 
@@ -7596,7 +9172,7 @@ export function renderBacklogHtml() {
7596
9172
  parts.push(renderPipelineProse(decision));
7597
9173
  }
7598
9174
 
7599
- return wrapDetailAccordion('Анализ и решение', parts.join(''), {
9175
+ return wrapDetailAccordion(t('drawer.section.analysisDecision'), parts.join(''), {
7600
9176
  testid: options.testid ?? 'work-pipeline-panel',
7601
9177
  dataWorkId: options.dataWorkId ?? source.id,
7602
9178
  className: 'pipeline-readonly',
@@ -7639,8 +9215,9 @@ export function renderBacklogHtml() {
7639
9215
  return renderUiReferencesPanel(payload);
7640
9216
  }
7641
9217
 
7642
- function bindUiReferenceActions(item) {
7643
- const panel = detailBody.querySelector('[data-testid="ui-refs-panel"]');
9218
+ function bindUiReferenceActions(item, options = {}) {
9219
+ const root = options.root ?? detailBody;
9220
+ const panel = root.querySelector('[data-testid="ui-refs-panel"]');
7644
9221
  if (!panel) return;
7645
9222
 
7646
9223
  const fileInput = panel.querySelector('[data-testid="ui-ref-file-input"]');
@@ -7694,13 +9271,14 @@ export function renderBacklogHtml() {
7694
9271
  }
7695
9272
 
7696
9273
  activeView = 'memory';
7697
- localStorage.setItem('iohasc.workgraph.activeView', activeView);
9274
+ localStorage.setItem(viewStorageKey, activeView);
7698
9275
  search.value = 'work:' + normalizedWorkId;
7699
- setActiveView('memory');
7700
- ensureViewData('memory').then(() => {
7701
- renderMemoryPanel();
9276
+ applyView(activeView);
9277
+ ensureLazyViewData('memory').then(() => {
9278
+ render();
7702
9279
  }).catch((error) => {
7703
9280
  console.error(error);
9281
+ render();
7704
9282
  });
7705
9283
  }
7706
9284
 
@@ -7751,6 +9329,14 @@ export function renderBacklogHtml() {
7751
9329
  detailTitle.textContent = item.title || item.id;
7752
9330
  detailId.textContent = item.id;
7753
9331
  detailInspectorState = { workId: item.id, draft: null, mode };
9332
+ detailBody.dataset.remoteStatus = item.status ?? '';
9333
+ detailStack.reset();
9334
+ detailStack.push({
9335
+ type: 'task',
9336
+ key: item.id,
9337
+ title: item.title || item.id,
9338
+ payload: { workId: item.id },
9339
+ });
7754
9340
  renderTaskDetailContent(item, { parentContext, mode }).catch((error) => {
7755
9341
  detailBody.innerHTML = '<div class="error">' + escapeHtml(error.message) + '</div>';
7756
9342
  });
@@ -7758,31 +9344,54 @@ export function renderBacklogHtml() {
7758
9344
  detailClose.focus();
7759
9345
  }
7760
9346
 
7761
- async function renderTaskDetailContent(item, { parentContext = null, mode = 'view' } = {}) {
9347
+ async function renderTaskDetailContent(item, { parentContext = null, mode = 'view', targetBody = null, subDrawer = false } = {}) {
9348
+ const body = targetBody ?? detailBody;
9349
+ const renderBackButton = subDrawer ? renderDetailSubBackButton : renderDetailBackButton;
9350
+ const bindBack = subDrawer ? bindDetailSubNavBack : bindDetailNavBack;
9351
+ const effectiveMode = subDrawer ? 'view' : mode;
9352
+
7762
9353
  let backRow = '';
7763
9354
  let backHandler = null;
7764
9355
  if (parentContext?.type === 'block') {
7765
9356
  const block = architectureSnapshot?.blocks?.find((candidate) => candidate.id === parentContext.blockId);
7766
- backRow = renderDetailBackButton('← ' + (block?.title || block?.id || 'Блок'));
9357
+ backRow = renderBackButton('← ' + (block?.title || block?.id || 'Блок'));
7767
9358
  backHandler = () => {
9359
+ if (subDrawer) {
9360
+ popDetailStackNavigation();
9361
+ if (block) openBlockDetails(block, { resetNav: false });
9362
+ return;
9363
+ }
7768
9364
  if (block) openBlockDetails(block, { resetNav: false });
7769
9365
  };
7770
9366
  } else if (parentContext?.type === 'analytics') {
7771
9367
  const record = (analyticsProjection?.records ?? []).find((candidate) => candidate.id === parentContext.recordId);
7772
- backRow = renderDetailBackButton('← ' + (record?.key || record?.title || 'Аналитика'));
9368
+ backRow = renderBackButton('← ' + (record?.key || record?.title || 'Аналитика'));
7773
9369
  backHandler = () => {
9370
+ if (subDrawer) {
9371
+ popDetailStackNavigation();
9372
+ return;
9373
+ }
7774
9374
  if (record) openAnalyticsRecordDetails(record);
7775
9375
  };
9376
+ } else if (parentContext?.type === 'task') {
9377
+ backRow = renderBackButton('← ' + (parentContext.title || parentContext.taskId || t('drawer.back.task')));
9378
+ backHandler = () => {
9379
+ if (subDrawer) {
9380
+ popDetailStackNavigation();
9381
+ return;
9382
+ }
9383
+ detailClose?.focus();
9384
+ };
7776
9385
  }
7777
9386
 
7778
- if (mode === 'edit') {
9387
+ if (effectiveMode === 'edit') {
7779
9388
  const response = await fetch('/api/atom-inspector/draft?workId=' + encodeURIComponent(item.id));
7780
9389
  const payload = await response.json();
7781
9390
  if (!response.ok) {
7782
9391
  throw new Error(payload.message || payload.error || ('HTTP ' + response.status));
7783
9392
  }
7784
9393
  detailInspectorState.draft = payload.draft;
7785
- detailBody.innerHTML = backRow +
9394
+ body.innerHTML = backRow +
7786
9395
  renderDetailToolbar('edit') +
7787
9396
  renderAtomInspectorForm(payload) +
7788
9397
  '<pre id="atom-inspector-preview" class="atom-inspector-preview" data-testid="atom-inspector-preview"></pre>' +
@@ -7808,20 +9417,24 @@ export function renderBacklogHtml() {
7808
9417
  ),
7809
9418
  ]);
7810
9419
 
7811
- detailBody.innerHTML = backRow +
7812
- renderDetailToolbar('view') +
9420
+ body.innerHTML = backRow +
9421
+ (subDrawer ? '' : renderDetailToolbar('view')) +
7813
9422
  buildTaskDetailSections(item) +
7814
9423
  wrapDetailAccordion('UI-референсы', uiRefsSection, { testid: 'ui-refs-accordion' }) +
7815
9424
  wrapDetailAccordion('Evidence timeline', timelineSection, { testid: 'evidence-timeline-accordion' }) +
7816
9425
  wrapDetailAccordion('Trace связи', linkageSection, { testid: 'linkage-drilldown-accordion' }) +
7817
9426
  wrapDetailAccordion('PVRG область', pvrgSection, { testid: 'pvrg-task-scope-accordion' }) +
7818
- renderDetailPromoteRow(item);
9427
+ (subDrawer ? '' : renderDetailPromoteRow(item));
7819
9428
  }
7820
9429
 
7821
- if (backHandler) bindDetailNavBack(backHandler);
7822
- bindDetailToolbar(item);
7823
- bindUiReferenceActions(item);
7824
- detailBody.querySelectorAll('[data-action="open-memory-for-task"]').forEach((button) => {
9430
+ if (backHandler) bindBack(backHandler);
9431
+ if (!subDrawer) {
9432
+ bindDetailToolbar(item);
9433
+ bindUiReferenceActions(item);
9434
+ } else {
9435
+ bindUiReferenceActions(item, { root: body });
9436
+ }
9437
+ body.querySelectorAll('[data-action="open-memory-for-task"]').forEach((button) => {
7825
9438
  button.addEventListener('click', () => {
7826
9439
  openMemoryPanelForTask(button.dataset.workId);
7827
9440
  });
@@ -7871,15 +9484,23 @@ export function renderBacklogHtml() {
7871
9484
  function renderAtomInspectorForm(payload) {
7872
9485
  const draft = payload.draft ?? {};
7873
9486
  const labels = draft.labels ?? {};
9487
+ const lang = resolveAtomInspectorLang(draft);
9488
+ const warnings = Array.isArray(payload.warnings) ? payload.warnings : [];
9489
+ const warningHtml = warnings.length > 0
9490
+ ? '<div class="atom-inspector-warnings" data-testid="atom-inspector-warnings">' +
9491
+ warnings.map((entry) => '<div>' + escapeHtml(typeof entry === 'string' ? entry : (entry.message || String(entry))) + '</div>').join('') +
9492
+ '</div>'
9493
+ : '';
7874
9494
  const statusOptions = workItemStatusOptions.map((status) =>
7875
9495
  '<option value="' + escapeHtml(status) + '"' + (labels['work.status'] === status ? ' selected' : '') + '>' + escapeHtml(status) + '</option>'
7876
9496
  ).join('');
7877
9497
 
7878
9498
  return '<form id="atom-inspector-form" class="atom-inspector-form" data-testid="atom-inspector-form">' +
7879
- '<div class="atom-inspector-field"><label>Atom name</label><input name="name" value="' + escapeHtml(draft.name ?? '') + '" readonly></div>' +
7880
- '<div class="atom-inspector-field"><label>Базис</label><textarea name="basis">' + escapeHtml((draft.basis ?? []).join('\\n')) + '</textarea></div>' +
7881
- '<div class="atom-inspector-field"><label>Вектор</label><textarea name="vector">' + escapeHtml((draft.vector ?? []).join('\\n')) + '</textarea></div>' +
7882
- '<div class="atom-inspector-field"><label>Цель</label><textarea name="goal">' + escapeHtml((draft.goal ?? []).join('\\n')) + '</textarea></div>' +
9499
+ warningHtml +
9500
+ '<div class="atom-inspector-field"><label>Atom name<span class="atom-inspector-lang-badge" data-testid="atom-inspector-lang-badge">' + escapeHtml(lang) + '</span></label><input name="name" value="' + escapeHtml(draft.name ?? '') + '" readonly></div>' +
9501
+ '<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'basis')) + '</label><textarea name="basis">' + escapeHtml((draft.basis ?? []).join('\\n')) + '</textarea></div>' +
9502
+ '<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'vector')) + '</label><textarea name="vector">' + escapeHtml((draft.vector ?? []).join('\\n')) + '</textarea></div>' +
9503
+ '<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'goal')) + '</label><textarea name="goal">' + escapeHtml((draft.goal ?? []).join('\\n')) + '</textarea></div>' +
7883
9504
  '<div class="atom-inspector-field"><label>work.status</label><select name="work.status">' + statusOptions + '</select></div>' +
7884
9505
  '<div class="atom-inspector-field"><label>work.owner_role</label><input name="work.owner_role" value="' + escapeHtml(labels['work.owner_role'] ?? '') + '"></div>' +
7885
9506
  '<div class="atom-inspector-field"><label>work.department</label><input name="work.department" value="' + escapeHtml(labels['work.department'] ?? '') + '"></div>' +
@@ -7889,8 +9510,8 @@ export function renderBacklogHtml() {
7889
9510
  '<div class="atom-inspector-field"><label>work.blocker</label><input name="work.blocker" value="' + escapeHtml(labels['work.blocker'] ?? '') + '"></div>' +
7890
9511
  '<div class="atom-inspector-field"><label>work.depends_on</label><input name="work.depends_on" value="' + escapeHtml(labels['work.depends_on'] ?? '') + '"></div>' +
7891
9512
  '<div class="atom-inspector-field"><label>work.target_files</label><input name="work.target_files" value="' + escapeHtml(labels['work.target_files'] ?? '') + '"></div>' +
7892
- '<div class="atom-inspector-field"><label>Проверки</label><textarea name="checks">' + escapeHtml((draft.checks ?? []).join('\\n')) + '</textarea></div>' +
7893
- '<div class="atom-inspector-field"><label>Свидетельства</label><textarea name="evidence">' + escapeHtml((draft.evidence ?? []).join('\\n')) + '</textarea></div>' +
9513
+ '<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'checks')) + '</label><textarea name="checks">' + escapeHtml((draft.checks ?? []).join('\\n')) + '</textarea></div>' +
9514
+ '<div class="atom-inspector-field"><label>' + escapeHtml(atomSectionTitle(lang, 'evidence')) + '</label><textarea name="evidence">' + escapeHtml((draft.evidence ?? []).join('\\n')) + '</textarea></div>' +
7894
9515
  '<div class="atom-inspector-actions">' +
7895
9516
  '<button type="button" data-action="proposal" data-testid="atom-inspector-propose">Preview proposal</button>' +
7896
9517
  '<button type="button" data-action="apply" data-testid="atom-inspector-apply">Apply to backlog</button>' +
@@ -7997,7 +9618,7 @@ export function renderBacklogHtml() {
7997
9618
  }
7998
9619
 
7999
9620
  function closeTaskDetails() {
8000
- closeL2NodeDetails();
9621
+ closeDetailStackFully();
8001
9622
  detailDrawer.classList.remove('is-open');
8002
9623
  detailOverlay.classList.remove('is-open');
8003
9624
  detailDrawer.setAttribute('aria-hidden', 'true');
@@ -8109,10 +9730,10 @@ export function renderBacklogHtml() {
8109
9730
  }
8110
9731
 
8111
9732
  function renderSemanticCore(item) {
8112
- if (!item.vector) return '';
9733
+ if (!item.goal) return '';
8113
9734
 
8114
- return '<section class="semantic-core" aria-label="Семантическое ядро атома">' +
8115
- '<div class="semantic-line">' + escapeHtml(preview(item.vector)) + '</div>' +
9735
+ return '<section class="semantic-core" aria-label="Цель задачи">' +
9736
+ '<div class="semantic-line">' + escapeHtml(preview(item.goal)) + '</div>' +
8116
9737
  '</section>';
8117
9738
  }
8118
9739
 
@@ -8148,22 +9769,22 @@ export function renderBacklogHtml() {
8148
9769
  '</div>';
8149
9770
  }
8150
9771
 
8151
- function renderIssueFooter(item, { queueKind = null } = {}) {
8152
- const statusBadge = (item.status || queueKind)
8153
- ? renderStatusBadge(item.status, queueKind)
8154
- : '';
8155
- const leftTags = '<span class="id">' + escapeHtml(item.key || issueKey(item.id)) + '</span>' + statusBadge;
9772
+ function renderIssueFooter(item, { queueKind = null, surface = 'default' } = {}) {
9773
+ const secondaryBadge = surface === 'board'
9774
+ ? renderWorkItemClassifierBadge(item)
9775
+ : ((item.status || queueKind) ? renderStatusBadge(item.status, queueKind) : '');
9776
+ const leftTags = renderWorkItemIssueKeyChip(item) + secondaryBadge;
8156
9777
  const owner = item.ownerRole || item.department || 'WG';
8157
9778
  return '<div class="issue-footer">' +
8158
9779
  '<div class="issue-footer-left">' + leftTags + '</div>' +
8159
- '<div class="issue-footer-right"><span class="owner-avatar" title="' + escapeHtml(owner) + '">' + escapeHtml(ownerInitials(owner)) + '</span></div>' +
9780
+ '<div class="issue-footer-right">' + renderOwnerAvatar(owner, { title: owner }) + '</div>' +
8160
9781
  '</div>';
8161
9782
  }
8162
9783
 
8163
9784
  function renderStatusBadge(status, queueKind = null) {
8164
9785
  if (queueKind === 'planned') {
8165
9786
  return renderClientUiBadge({
8166
- label: 'в плане',
9787
+ label: t('status.planned'),
8167
9788
  tone: 'accent',
8168
9789
  title: 'backlog, зависимости выполнены',
8169
9790
  testId: 'status-planned',
@@ -8231,17 +9852,6 @@ export function renderBacklogHtml() {
8231
9852
  return normalized.length > 110 ? normalized.slice(0, 107) + '...' : normalized;
8232
9853
  }
8233
9854
 
8234
- function issueKey(id) {
8235
- const normalized = String(id || '').replace(/[^a-zA-Z0-9]+/g, '-').replace(/^-|-$/g, '').toUpperCase();
8236
- return normalized || 'WG';
8237
- }
8238
-
8239
- function ownerInitials(value) {
8240
- const words = String(value || 'WG').split(/[^a-zA-Zа-яА-Я0-9]+/).filter(Boolean);
8241
- const initials = words.slice(0, 2).map((word) => word[0]).join('').toUpperCase();
8242
- return initials || 'WG';
8243
- }
8244
-
8245
9855
  function countByStatus(items) {
8246
9856
  return items.reduce((counts, item) => {
8247
9857
  counts[item.status] = (counts[item.status] || 0) + 1;
@@ -8252,15 +9862,6 @@ export function renderBacklogHtml() {
8252
9862
  function countGroupItems(counts, group) {
8253
9863
  return group.statuses.reduce((sum, status) => sum + (counts[status] || 0), 0);
8254
9864
  }
8255
-
8256
- function escapeHtml(value) {
8257
- return String(value)
8258
- .replace(/&/g, '&amp;')
8259
- .replace(/</g, '&lt;')
8260
- .replace(/>/g, '&gt;')
8261
- .replace(/"/g, '&quot;')
8262
- .replace(/'/g, '&#39;');
8263
- }
8264
9865
  </script>
8265
9866
  </body>
8266
9867
  </html>`;
@@ -8272,6 +9873,7 @@ export function createBacklogUiServer(options = {}) {
8272
9873
  const journalPath = options.journalPath ?? 'work/worker-runs.jsonl';
8273
9874
  const auditPath = options.auditPath ?? 'work/daemon-audit.jsonl';
8274
9875
  const pathOptions = { backlogPath, journalPath, auditPath };
9876
+ const uiEventsHub = createBacklogUiEventsHub();
8275
9877
  let hostReady = ensureHostStateInitialized(hostState, {
8276
9878
  hostLabel: options.hostLabel ?? 'Work Graph',
8277
9879
  });
@@ -8815,6 +10417,23 @@ export function createBacklogUiServer(options = {}) {
8815
10417
  return;
8816
10418
  }
8817
10419
 
10420
+ if (url.pathname === '/api/ui-locale' && method === 'POST') {
10421
+ try {
10422
+ const rawBody = await readRequestBody(request);
10423
+ const body = rawBody ? JSON.parse(rawBody) : {};
10424
+ const locale = resolveUiLocale({ queryLocale: body.locale });
10425
+ sendJson(response, 200, { ok: true, locale }, {
10426
+ 'Set-Cookie': `${UI_LOCALE_COOKIE}=${encodeURIComponent(locale)}; Path=/; Max-Age=31536000; SameSite=Lax`,
10427
+ });
10428
+ } catch (error) {
10429
+ sendJson(response, 422, {
10430
+ error: 'failed_to_set_ui_locale',
10431
+ message: error instanceof Error ? error.message : String(error),
10432
+ });
10433
+ }
10434
+ return;
10435
+ }
10436
+
8818
10437
  if (method !== 'GET') {
8819
10438
  sendText(response, 405, 'Method Not Allowed');
8820
10439
  return;
@@ -8850,6 +10469,50 @@ export function createBacklogUiServer(options = {}) {
8850
10469
  return;
8851
10470
  }
8852
10471
 
10472
+ if (url.pathname === '/api/backlog-revision' && method === 'GET') {
10473
+ try {
10474
+ const items = await readWorkItemsFromRepo({ cwd, backlogPath });
10475
+ sendJson(response, 200, computeBacklogRevision(items));
10476
+ } catch (error) {
10477
+ sendJson(response, 500, {
10478
+ error: 'failed_to_compute_backlog_revision',
10479
+ message: error instanceof Error ? error.message : String(error),
10480
+ });
10481
+ }
10482
+ return;
10483
+ }
10484
+
10485
+ if (url.pathname === '/api/ui-events/stream' && method === 'GET') {
10486
+ try {
10487
+ await uiEventsHub.ensureStarted({ cwd, backlogPath });
10488
+ uiEventsHub.handleSse(request, response);
10489
+ } catch (error) {
10490
+ sendJson(response, 500, {
10491
+ error: 'failed_to_open_ui_events_stream',
10492
+ message: error instanceof Error ? error.message : String(error),
10493
+ });
10494
+ }
10495
+ return;
10496
+ }
10497
+
10498
+ if (url.pathname === '/api/app-version' && method === 'GET') {
10499
+ try {
10500
+ const checkUpdate = url.searchParams.get('checkUpdate') === '1'
10501
+ || url.searchParams.get('checkUpdate') === 'true';
10502
+ const payload = await buildAppVersionResponse({
10503
+ cwd,
10504
+ checkUpdate,
10505
+ });
10506
+ sendJson(response, 200, payload);
10507
+ } catch (error) {
10508
+ sendJson(response, 500, {
10509
+ error: 'failed_to_read_app_version',
10510
+ message: error instanceof Error ? error.message : String(error),
10511
+ });
10512
+ }
10513
+ return;
10514
+ }
10515
+
8853
10516
  if (url.pathname === '/api/snapshot') {
8854
10517
  try {
8855
10518
  const snapshot = await readBacklogSnapshot({ cwd, backlogPath });
@@ -9025,6 +10688,16 @@ export function createBacklogUiServer(options = {}) {
9025
10688
  return;
9026
10689
  }
9027
10690
 
10691
+ if (tryServePublicIconsAsset(url, response)) {
10692
+ return;
10693
+ }
10694
+ if (tryServePublicAvatarsAsset(url, response)) {
10695
+ return;
10696
+ }
10697
+ if (tryServePublicImagesAsset(url, response)) {
10698
+ return;
10699
+ }
10700
+
9028
10701
  if (url.pathname === '/favicon.ico' && method === 'GET') {
9029
10702
  response.writeHead(204);
9030
10703
  response.end();
@@ -9106,8 +10779,13 @@ export function createBacklogUiServer(options = {}) {
9106
10779
  return;
9107
10780
  }
9108
10781
 
9109
- if (url.pathname === '/' || url.pathname === '/index.html') {
9110
- sendHtml(response, 200, renderBacklogHtml());
10782
+ if (url.pathname === '/' || url.pathname === '/app' || url.pathname === '/app/' || url.pathname === '/app/index.html') {
10783
+ const locale = resolveUiLocale({
10784
+ cookieHeader: request.headers.cookie,
10785
+ acceptLanguage: request.headers['accept-language'],
10786
+ queryLocale: url.searchParams.get('locale'),
10787
+ });
10788
+ sendHtml(response, 200, renderBacklogHtml({ locale }));
9111
10789
  return;
9112
10790
  }
9113
10791
 
@@ -9131,10 +10809,11 @@ export async function startBacklogUiServer(options = {}) {
9131
10809
  return { server, host, port };
9132
10810
  }
9133
10811
 
9134
- function sendJson(response, statusCode, payload) {
10812
+ function sendJson(response, statusCode, payload, extraHeaders = {}) {
9135
10813
  response.writeHead(statusCode, {
9136
10814
  'content-type': 'application/json; charset=utf-8',
9137
10815
  'cache-control': 'no-store',
10816
+ ...extraHeaders,
9138
10817
  });
9139
10818
  response.end(`${JSON.stringify(payload, null, 2)}\n`);
9140
10819
  }