lesli 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +3 -0
  3. data/app/assets/config/lesli_manifest.js +53 -0
  4. data/app/assets/fonts/lesli/Domine/Domine-Bold.ttf +0 -0
  5. data/app/assets/fonts/lesli/Domine/Domine-Regular.ttf +0 -0
  6. data/app/assets/fonts/lesli/Domine/OFL.txt +95 -0
  7. data/app/assets/fonts/lesli/MaterialDesign/icons.woff2 +0 -0
  8. data/app/assets/fonts/lesli/Montserrat/Montserrat-Variable.ttf +0 -0
  9. data/app/assets/fonts/lesli/OpenSans/OpenSans-Variable.ttf +0 -0
  10. data/app/assets/fonts/lesli/Remix/remixicon.eot +0 -0
  11. data/app/assets/fonts/lesli/Remix/remixicon.glyph.json +1 -0
  12. data/app/assets/fonts/lesli/Remix/remixicon.svg +7633 -0
  13. data/app/assets/fonts/lesli/Remix/remixicon.symbol.svg +11 -0
  14. data/app/assets/fonts/lesli/Remix/remixicon.ttf +0 -0
  15. data/app/assets/fonts/lesli/Remix/remixicon.woff +0 -0
  16. data/app/assets/fonts/lesli/Remix/remixicon.woff2 +0 -0
  17. data/app/assets/fonts/lesli/Roboto/LICENSE.txt +202 -0
  18. data/app/assets/fonts/lesli/Roboto/Roboto-Black.ttf +0 -0
  19. data/app/assets/fonts/lesli/Roboto/Roboto-BlackItalic.ttf +0 -0
  20. data/app/assets/fonts/lesli/Roboto/Roboto-Bold.ttf +0 -0
  21. data/app/assets/fonts/lesli/Roboto/Roboto-BoldItalic.ttf +0 -0
  22. data/app/assets/fonts/lesli/Roboto/Roboto-Italic.ttf +0 -0
  23. data/app/assets/fonts/lesli/Roboto/Roboto-Light.ttf +0 -0
  24. data/app/assets/fonts/lesli/Roboto/Roboto-LightItalic.ttf +0 -0
  25. data/app/assets/fonts/lesli/Roboto/Roboto-Medium.ttf +0 -0
  26. data/app/assets/fonts/lesli/Roboto/Roboto-MediumItalic.ttf +0 -0
  27. data/app/assets/fonts/lesli/Roboto/Roboto-Regular.ttf +0 -0
  28. data/app/assets/fonts/lesli/Roboto/Roboto-Thin.ttf +0 -0
  29. data/app/assets/fonts/lesli/Roboto/Roboto-ThinItalic.ttf +0 -0
  30. data/app/assets/icons/lesli/cloud-admin.svg +1 -0
  31. data/app/assets/icons/lesli/cloud-audit.svg +1 -0
  32. data/app/assets/icons/lesli/cloud-babel.svg +1 -0
  33. data/app/assets/icons/lesli/cloud-bell.svg +1 -0
  34. data/app/assets/icons/lesli/cloud-books.svg +1 -0
  35. data/app/assets/icons/lesli/cloud-development.svg +1 -0
  36. data/app/assets/icons/lesli/cloud-dispatcher.svg +1 -0
  37. data/app/assets/icons/lesli/cloud-driver.svg +1 -0
  38. data/app/assets/icons/lesli/cloud-focus.svg +1 -0
  39. data/app/assets/icons/lesli/cloud-help.svg +1 -0
  40. data/app/assets/icons/lesli/cloud-kb.svg +1 -0
  41. data/app/assets/icons/lesli/cloud-leaf.svg +1 -0
  42. data/app/assets/icons/lesli/cloud-lesli.svg +1 -0
  43. data/app/assets/icons/lesli/cloud-mailer.svg +1 -0
  44. data/app/assets/icons/lesli/cloud-one.svg +1 -0
  45. data/app/assets/icons/lesli/cloud-profile.svg +1 -0
  46. data/app/assets/icons/lesli/cloud-proposal.svg +1 -0
  47. data/app/assets/icons/lesli/cloud-scraper.svg +1 -0
  48. data/app/assets/icons/lesli/cloud-shared.svg +1 -0
  49. data/app/assets/icons/lesli/cloud-storage.svg +1 -0
  50. data/app/assets/icons/lesli/cloud-talk.svg +1 -0
  51. data/app/assets/icons/lesli/cloud-team.svg +1 -0
  52. data/app/assets/icons/lesli/cloud-time.svg +1 -0
  53. data/app/assets/icons/lesli/cloud-vault.svg +1 -0
  54. data/app/assets/icons/lesli/cloud-word.svg +1 -0
  55. data/app/assets/icons/lesli/icon-module.svg +1 -0
  56. data/app/assets/icons/lesli/logo-android.svg +1 -0
  57. data/app/assets/icons/lesli/logo-bulma.svg +1 -0
  58. data/app/assets/icons/lesli/logo-ios.svg +1 -0
  59. data/app/assets/icons/lesli/logo-linux.svg +1 -0
  60. data/app/assets/icons/lesli/logo-mac.svg +1 -0
  61. data/app/assets/icons/lesli/logo-module.svg +1 -0
  62. data/app/assets/icons/lesli/logo-postgresql.svg +1 -0
  63. data/app/assets/icons/lesli/logo-rails.svg +1 -0
  64. data/app/assets/icons/lesli/logo-ruby.svg +1 -0
  65. data/app/assets/icons/lesli/logo-sass.svg +1 -0
  66. data/app/assets/icons/lesli/logo-vue.svg +1 -0
  67. data/app/assets/icons/lesli/logo-web.svg +1 -0
  68. data/app/assets/icons/lesli/logo-windows.svg +1 -0
  69. data/app/assets/icons/readme.md +10 -0
  70. data/app/assets/images/lesli/brand/app-auth.svg +9 -0
  71. data/app/assets/images/lesli/brand/app-icon.svg +42 -0
  72. data/app/assets/images/lesli/brand/app-logo.svg +4 -0
  73. data/app/assets/images/lesli/brand/favicon.png +0 -0
  74. data/app/assets/images/lesli/brand/favicon.svg +61 -0
  75. data/app/assets/images/lesli/brand/login-background.jpg +0 -0
  76. data/app/assets/javascripts/lesli/users/sessions.js +786 -0
  77. data/app/assets/stylesheets/lesli/users/confirmations.scss +34 -0
  78. data/app/assets/stylesheets/lesli/users/devise.scss +32 -0
  79. data/app/assets/stylesheets/lesli/users/oauth.scss +34 -0
  80. data/app/assets/stylesheets/lesli/users/passwords.scss +34 -0
  81. data/app/assets/stylesheets/lesli/users/registrations.scss +34 -0
  82. data/app/assets/stylesheets/lesli/users/sessions.scss +38 -0
  83. data/app/controllers/lesli/application_controller.rb +108 -0
  84. data/app/controllers/lesli/application_devise_controller.rb +54 -0
  85. data/app/controllers/lesli/application_lesli_controller.rb +61 -0
  86. data/app/controllers/lesli/interfaces/application/authorization.rb +107 -0
  87. data/app/controllers/lesli/interfaces/application/customization.rb +46 -0
  88. data/app/controllers/lesli/interfaces/application/logger.rb +133 -0
  89. data/app/controllers/lesli/interfaces/application/requester.rb +84 -0
  90. data/app/controllers/lesli/interfaces/application/responder.rb +132 -0
  91. data/app/controllers/lesli/profiles_controller.rb +60 -0
  92. data/app/controllers/users/confirmations_controller.rb +30 -0
  93. data/app/controllers/users/omniauth_callbacks_controller.rb +30 -0
  94. data/app/controllers/users/passwords_controller.rb +34 -0
  95. data/app/controllers/users/registrations_controller.rb +62 -0
  96. data/app/controllers/users/sessions_controller.rb +142 -0
  97. data/app/controllers/users/unlocks_controller.rb +30 -0
  98. data/app/helpers/lesli/assets_helper.rb +92 -0
  99. data/app/helpers/lesli/customization_helper.rb +84 -0
  100. data/app/helpers/lesli/general_helper.rb +83 -0
  101. data/app/helpers/lesli/navigation_helper.rb +349 -0
  102. data/app/helpers/lesli/profiles_helper.rb +4 -0
  103. data/app/helpers/lesli/system_helper.rb +57 -0
  104. data/app/lib/date2.rb +192 -0
  105. data/app/lib/lesli/system.rb +80 -0
  106. data/app/models/concerns/account_engines.rb +249 -0
  107. data/app/models/concerns/user_activities.rb +163 -0
  108. data/app/models/concerns/user_extensions.rb +129 -0
  109. data/app/models/concerns/user_guard.rb +278 -0
  110. data/app/models/concerns/user_polyfill.rb +134 -0
  111. data/app/models/lesli/account/log.rb +57 -0
  112. data/app/models/lesli/account.rb +76 -0
  113. data/app/models/lesli/application_lesli_record.rb +37 -0
  114. data/app/models/lesli/profile.rb +4 -0
  115. data/app/models/lesli/system_controller/action.rb +37 -0
  116. data/app/models/lesli/system_controller.rb +37 -0
  117. data/app/models/lesli/user/agent.rb +37 -0
  118. data/app/models/lesli/user/log.rb +38 -0
  119. data/app/models/lesli/user/request.rb +37 -0
  120. data/app/models/lesli/user/session.rb +105 -0
  121. data/app/models/lesli/user.rb +162 -0
  122. data/app/services/lesli/application_lesli_service.rb +168 -0
  123. data/app/services/lesli/user/session_service.rb +62 -0
  124. data/app/validators/lesli/application_lesli_validator.rb +67 -0
  125. data/app/validators/lesli/users_validator.rb +217 -0
  126. data/app/views/devise/confirmations/new.html.erb +16 -0
  127. data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
  128. data/app/views/devise/mailer/email_changed.html.erb +7 -0
  129. data/app/views/devise/mailer/password_change.html.erb +3 -0
  130. data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
  131. data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
  132. data/app/views/devise/passwords/edit.html.erb +25 -0
  133. data/app/views/devise/passwords/new.html.erb +16 -0
  134. data/app/views/devise/registrations/edit.html.erb +43 -0
  135. data/app/views/devise/registrations/new.html.erb +29 -0
  136. data/app/views/devise/sessions/new.html.erb +178 -0
  137. data/app/views/devise/shared/_error_messages.html.erb +15 -0
  138. data/app/views/devise/shared/_links.html.erb +25 -0
  139. data/app/views/devise/unlocks/new.html.erb +16 -0
  140. data/app/views/lesli/devise/sessions/_form.html.erb +17 -0
  141. data/app/views/lesli/devise/sessions/_session.html.erb +2 -0
  142. data/app/views/lesli/devise/sessions/edit.html.erb +10 -0
  143. data/app/views/lesli/devise/sessions/index.html.erb +14 -0
  144. data/app/views/lesli/devise/sessions/new.html.erb +9 -0
  145. data/app/views/lesli/devise/sessions/show.html.erb +10 -0
  146. data/app/views/lesli/layouts/application-devise.html.erb +58 -0
  147. data/app/views/lesli/layouts/application-lesli.html.erb +57 -0
  148. data/app/views/lesli/layouts/application-public.html.erb +59 -0
  149. data/app/views/lesli/partials/_application-analytics.html.erb +71 -0
  150. data/app/views/lesli/partials/_application-data.html.erb +102 -0
  151. data/app/views/lesli/partials/_application-head.html.erb +56 -0
  152. data/app/views/lesli/partials/_application-lesli-chatbox.html.erb +35 -0
  153. data/app/views/lesli/partials/_application-lesli-content.html.erb +35 -0
  154. data/app/views/lesli/partials/_application-lesli-engines.html.erb +83 -0
  155. data/app/views/lesli/partials/_application-lesli-footer.html.erb +82 -0
  156. data/app/views/lesli/partials/_application-lesli-header.html.erb +79 -0
  157. data/app/views/lesli/partials/_application-lesli-icons.html.erb +1 -0
  158. data/app/views/lesli/partials/_application-lesli-javascript.html.erb +57 -0
  159. data/app/views/lesli/partials/_application-lesli-navigation.html.erb +52 -0
  160. data/app/views/lesli/partials/_application-lesli-notices.html.erb +43 -0
  161. data/app/views/lesli/partials/_application-lesli-panels.html.erb +58 -0
  162. data/app/views/lesli/partials/_application-lesli-scss.html.erb +60 -0
  163. data/app/views/lesli/partials/_application-lesli-sidebar.html.erb +50 -0
  164. data/app/views/lesli/partials/_application-public-footer.html.erb +51 -0
  165. data/app/views/lesli/partials/_application-public-javascript.html.erb +51 -0
  166. data/app/views/lesli/partials/_application-public-scss.html.erb +35 -0
  167. data/app/views/lesli/profiles/_form.html.erb +17 -0
  168. data/app/views/lesli/profiles/_profile.html.erb +2 -0
  169. data/app/views/lesli/profiles/edit.html.erb +10 -0
  170. data/app/views/lesli/profiles/index.html.erb +14 -0
  171. data/app/views/lesli/profiles/new.html.erb +9 -0
  172. data/app/views/lesli/profiles/show.html.erb +10 -0
  173. data/app/views/lesli/wrappers/_application-auth.html.erb +65 -0
  174. data/config/initializers/devise.rb +334 -0
  175. data/config/initializers/lesli_defaults.rb +100 -0
  176. data/config/locales/devise.en.yml +65 -0
  177. data/config/routes.rb +52 -0
  178. data/db/migrate/v1.0/0010000110_create_lesli_accounts.rb +70 -0
  179. data/db/migrate/v1.0/0010000210_create_lesli_roles.rb +59 -0
  180. data/db/migrate/v1.0/0010000310_create_lesli_users.rb +97 -0
  181. data/db/migrate/v1.0/0010000610_create_lesli_system_controllers.rb +44 -0
  182. data/db/migrate/v1.0/0010000710_create_lesli_system_controller_actions.rb +43 -0
  183. data/db/migrate/v1.0/0010001210_create_lesli_account_activities.rb +50 -0
  184. data/db/migrate/v1.0/0010001310_create_lesli_account_logs.rb +45 -0
  185. data/db/migrate/v1.0/0010003210_create_lesli_user_sessions.rb +51 -0
  186. data/db/migrate/v1.0/0010003310_create_lesli_user_requests.rb +48 -0
  187. data/db/migrate/v1.0/0010003610_create_lesli_user_logs.rb +45 -0
  188. data/db/migrate/v1.0/0010004010_create_lesli_user_agents.rb +46 -0
  189. data/db/seed/development/accounts.rb +47 -0
  190. data/db/seed/development/users.rb +53 -0
  191. data/db/seed/development.rb +35 -0
  192. data/db/seed/production.rb +35 -0
  193. data/db/seed/test.rb +35 -0
  194. data/db/seed/tools.rb +60 -0
  195. data/db/seeds.rb +64 -0
  196. data/db/structure/00000000_locations.json +32 -0
  197. data/db/structure/00000000_people.json +34 -0
  198. data/db/structure/00000003_actions.json +14 -0
  199. data/db/structure/00000004_activities.json +20 -0
  200. data/db/structure/00000005_discussions.json +8 -0
  201. data/db/structure/00000006_files.json +32 -0
  202. data/db/structure/00000007_subscribers.json +11 -0
  203. data/db/structure/00000008_custom_fields.json +8 -0
  204. data/db/structure/00000201_workflows.json +17 -0
  205. data/db/structure/00000202_workflow_statuses.json +24 -0
  206. data/db/structure/00000203_workflow_associations.json +14 -0
  207. data/db/structure/00000204_workflow_actions.json +39 -0
  208. data/db/structure/00000205_workflow_checks.json +27 -0
  209. data/db/structure/00000301_custom_fields.json +38 -0
  210. data/db/structure/00000401_custom_validations.json +14 -0
  211. data/db/structure/00000402_custom_validation_rules.json +23 -0
  212. data/db/structure/00000403_custom_validation_fields.json +14 -0
  213. data/db/structure/00000501_dashboards.json +14 -0
  214. data/db/structure/00000502_dashboard_components.json +23 -0
  215. data/db/tables/0010001010_create_account_settings.rb +42 -0
  216. data/db/tables/0010001110_create_account_locations.rb +64 -0
  217. data/db/tables/0010001410_create_account_files.rb +52 -0
  218. data/db/tables/0010001510_create_account_currencies.rb +48 -0
  219. data/db/tables/0010001610_create_account_currency_exchange_rates.rb +54 -0
  220. data/db/tables/0010003010_create_user_details.rb +49 -0
  221. data/db/tables/0010003110_create_user_settings.rb +44 -0
  222. data/db/tables/0010003410_create_user_activities.rb +51 -0
  223. data/db/tables/0010003510_create_user_roles.rb +43 -0
  224. data/db/tables/0010003710_create_user_codes.rb +43 -0
  225. data/db/tables/0010003810_create_user_shortcuts.rb +46 -0
  226. data/db/tables/0010004110_create_user_tokens.rb +45 -0
  227. data/db/tables/0010005010_create_descriptors.rb +45 -0
  228. data/db/tables/0010005110_create_descriptor_privileges.rb +44 -0
  229. data/db/tables/0010005210_create_descriptor_activities.rb +51 -0
  230. data/db/tables/0010005510_create_role_descriptors.rb +44 -0
  231. data/db/tables/0010005610_create_role_activities.rb +50 -0
  232. data/db/tables/0010005710_create_role_privileges.rb +45 -0
  233. data/db/tables/0010009010_create_feedbacks.rb +56 -0
  234. data/lib/assets/javascripts/lesli/i18n.js +1095 -0
  235. data/lib/assets/javascripts/lesli/translations.js +15 -0
  236. data/lib/lesli/configuration.rb +45 -0
  237. data/lib/lesli/engine.rb +62 -0
  238. data/lib/lesli/version.rb +34 -0
  239. data/lib/lesli.rb +6 -0
  240. data/lib/sass/lesli/bulma/loader.scss +84 -0
  241. data/lib/sass/lesli/cloud-objects/discussion.scss +77 -0
  242. data/lib/sass/lesli/cloud-objects/file.scss +138 -0
  243. data/lib/sass/lesli/components/editor-richtext.scss +78 -0
  244. data/lib/sass/lesli/components/keypad.scss +109 -0
  245. data/lib/sass/lesli/devise/confirmations.scss.erb +75 -0
  246. data/lib/sass/lesli/devise/passwords.scss.erb +86 -0
  247. data/lib/sass/lesli/devise/registrations.scss.erb +50 -0
  248. data/lib/sass/lesli/devise/sessions.scss +36 -0
  249. data/lib/sass/lesli/elements/autocomplete.scss +72 -0
  250. data/lib/sass/lesli/elements/avatar.scss +48 -0
  251. data/lib/sass/lesli/elements/calendar.scss +47 -0
  252. data/lib/sass/lesli/elements/card.scss +37 -0
  253. data/lib/sass/lesli/elements/content.scss +37 -0
  254. data/lib/sass/lesli/elements/empty.scss +43 -0
  255. data/lib/sass/lesli/elements/file-uploader.scss +74 -0
  256. data/lib/sass/lesli/elements/form.scss +43 -0
  257. data/lib/sass/lesli/elements/gallery.scss +98 -0
  258. data/lib/sass/lesli/elements/header.scss +44 -0
  259. data/lib/sass/lesli/elements/input-tag.scss +73 -0
  260. data/lib/sass/lesli/elements/loading.scss +63 -0
  261. data/lib/sass/lesli/elements/map.scss +107 -0
  262. data/lib/sass/lesli/elements/msg.scss +77 -0
  263. data/lib/sass/lesli/elements/navbar.scss +115 -0
  264. data/lib/sass/lesli/elements/panel.scss +65 -0
  265. data/lib/sass/lesli/elements/tab.scss +48 -0
  266. data/lib/sass/lesli/elements/table.scss +118 -0
  267. data/lib/sass/lesli/elements/toggle.scss +102 -0
  268. data/lib/sass/lesli/elements/toolbar.scss +66 -0
  269. data/lib/sass/lesli/fonts/families.scss +47 -0
  270. data/lib/sass/lesli/fonts/mdicons.scss +84 -0
  271. data/lib/sass/lesli/fonts/remixicons.scss +2602 -0
  272. data/lib/sass/lesli/helpers/display.scss +44 -0
  273. data/lib/sass/lesli/helpers/tooltip.scss +91 -0
  274. data/lib/sass/lesli/layouts/application-announcements.scss +40 -0
  275. data/lib/sass/lesli/layouts/application-component.scss +50 -0
  276. data/lib/sass/lesli/layouts/application-engines.scss +155 -0
  277. data/lib/sass/lesli/layouts/application-footer.scss +102 -0
  278. data/lib/sass/lesli/layouts/application-header.scss +152 -0
  279. data/lib/sass/lesli/layouts/application-navbar.scss +61 -0
  280. data/lib/sass/lesli/layouts/application-search.scss +71 -0
  281. data/lib/sass/lesli/layouts/application-sidebar.scss +219 -0
  282. data/lib/sass/lesli/overrides/sweetalert.scss +106 -0
  283. data/lib/sass/lesli/pages/dashboards.scss +57 -0
  284. data/lib/sass/lesli/pages/invites.scss +81 -0
  285. data/lib/sass/lesli/pages/mfas.scss +36 -0
  286. data/lib/sass/lesli/pages/otps.scss +36 -0
  287. data/lib/sass/lesli/pages/passes.scss +35 -0
  288. data/lib/sass/lesli/panels/panel-announcements.scss +56 -0
  289. data/lib/sass/lesli/panels/panel-notification.scss +67 -0
  290. data/lib/sass/lesli/panels/panel-profile.scss +62 -0
  291. data/lib/sass/lesli/panels/panel-tasks.scss +41 -0
  292. data/lib/sass/lesli/panels/panel-ticket.scss +57 -0
  293. data/lib/sass/lesli/settings/variables.scss +148 -0
  294. data/lib/sass/lesli/shared/workflow-status-progress.scss +135 -0
  295. data/lib/sass/lesli/templates/application.scss +141 -0
  296. data/lib/sass/lesli/templates/dashboards.scss +32 -0
  297. data/lib/sass/lesli/templates/devise.scss +185 -0
  298. data/lib/sass/lesli/templates/empty.scss +42 -0
  299. data/lib/sass/lesli/templates/pdf.scss +45 -0
  300. data/lib/sass/lesli/templates/public.scss +71 -0
  301. data/lib/tasks/db.rb +75 -0
  302. data/lib/tasks/lesli/controllers.rake +103 -0
  303. data/lib/tasks/lesli_tasks.rake +23 -0
  304. data/lib/vue/application.js +269 -0
  305. data/lib/vue/apps/cloudobjects/action.vue +193 -0
  306. data/lib/vue/apps/cloudobjects/discussion/content.vue +60 -0
  307. data/lib/vue/apps/cloudobjects/discussion/element.vue +132 -0
  308. data/lib/vue/apps/cloudobjects/discussion/filters.vue +108 -0
  309. data/lib/vue/apps/cloudobjects/discussion/new.vue +130 -0
  310. data/lib/vue/apps/cloudobjects/discussion.vue +98 -0
  311. data/lib/vue/apps/cloudobjects/file/grid.vue +215 -0
  312. data/lib/vue/apps/cloudobjects/file/list.vue +106 -0
  313. data/lib/vue/apps/cloudobjects/file.vue +145 -0
  314. data/lib/vue/apps/dashboards/apps/edit.vue +105 -0
  315. data/lib/vue/apps/dashboards/apps/index.vue +114 -0
  316. data/lib/vue/apps/dashboards/apps/new.vue +89 -0
  317. data/lib/vue/apps/dashboards/apps/show.vue +76 -0
  318. data/lib/vue/apps/dashboards/components/form.vue +267 -0
  319. data/lib/vue/apps/dashboards/components/preview.vue +172 -0
  320. data/lib/vue/apps/workflows2/apps/actions/form.vue +232 -0
  321. data/lib/vue/apps/workflows2/apps/actions/forms/chatroom-form.vue +103 -0
  322. data/lib/vue/apps/workflows2/apps/actions/forms/cloud-object-clone-form.vue +125 -0
  323. data/lib/vue/apps/workflows2/apps/actions/forms/cloud-object-file-form.vue +102 -0
  324. data/lib/vue/apps/workflows2/apps/actions/forms/email-form.vue +190 -0
  325. data/lib/vue/apps/workflows2/apps/actions/forms/notification-form.vue +124 -0
  326. data/lib/vue/apps/workflows2/apps/actions/forms/send-cloud-object-file.vue +170 -0
  327. data/lib/vue/apps/workflows2/apps/actions/forms/task-form.vue +258 -0
  328. data/lib/vue/apps/workflows2/apps/actions/index.vue +146 -0
  329. data/lib/vue/apps/workflows2/apps/checks/form.vue +200 -0
  330. data/lib/vue/apps/workflows2/apps/checks/index.vue +160 -0
  331. data/lib/vue/apps/workflows2/apps/index.vue +177 -0
  332. data/lib/vue/apps/workflows2/apps/new.vue +97 -0
  333. data/lib/vue/apps/workflows2/apps/show.vue +146 -0
  334. data/lib/vue/apps/workflows2/components/associations.vue +215 -0
  335. data/lib/vue/apps/workflows2/components/chart.vue +91 -0
  336. data/lib/vue/apps/workflows2/components/workflow-form.vue +466 -0
  337. data/lib/vue/apps/workflows2/components/workflow-status-dropdown.vue +129 -0
  338. data/lib/vue/devise/confirmations.js +33 -0
  339. data/lib/vue/devise/passwords.js +137 -0
  340. data/lib/vue/devise/registrations.js +162 -0
  341. data/lib/vue/devise/sessions.js +143 -0
  342. data/lib/vue/layouts/application-announcements.vue +78 -0
  343. data/lib/vue/layouts/application-engines.vue +66 -0
  344. data/lib/vue/layouts/application-footer.vue +123 -0
  345. data/lib/vue/layouts/application-header.vue +213 -0
  346. data/lib/vue/layouts/application-navbar.vue +110 -0
  347. data/lib/vue/layouts/application-search.vue +86 -0
  348. data/lib/vue/layouts/application-sidebar.vue +63 -0
  349. data/lib/vue/layouts/dashboard-component.vue +62 -0
  350. data/lib/vue/pages/errors/app.js +32 -0
  351. data/lib/vue/pages/invites/app.js +76 -0
  352. data/lib/vue/pages/mfas/application.js +77 -0
  353. data/lib/vue/pages/onboarding/application.js +45 -0
  354. data/lib/vue/pages/onboarding/components/address.vue +120 -0
  355. data/lib/vue/pages/onboarding/components/buttons.vue +67 -0
  356. data/lib/vue/pages/onboarding/components/contact.vue +148 -0
  357. data/lib/vue/pages/onboarding/components/date-time.vue +265 -0
  358. data/lib/vue/pages/onboarding/components/finish.vue +62 -0
  359. data/lib/vue/pages/onboarding/components/general-info.vue +93 -0
  360. data/lib/vue/pages/onboarding/components/indicators.vue +78 -0
  361. data/lib/vue/pages/onboarding/components/welcome.vue +66 -0
  362. data/lib/vue/pages/onboarding/show.vue +67 -0
  363. data/lib/vue/pages/onboarding/store.js +165 -0
  364. data/lib/vue/pages/otps/application.js +90 -0
  365. data/lib/vue/pages/passes/application.js +80 -0
  366. data/lib/vue/pages/websites/application.js +34 -0
  367. data/lib/vue/panels/panel-announcements.vue +248 -0
  368. data/lib/vue/panels/panel-files.vue +281 -0
  369. data/lib/vue/panels/panel-notifications.vue +106 -0
  370. data/lib/vue/panels/panel-profile.vue +76 -0
  371. data/lib/vue/panels/panel-tasks.vue +124 -0
  372. data/lib/vue/panels/panel-tickets.vue +181 -0
  373. data/lib/vue/public.js +85 -0
  374. data/lib/vue/stores/announcements.js +75 -0
  375. data/lib/vue/stores/cloud-bell/notification.js +114 -0
  376. data/lib/vue/stores/cloudobjects/action.js +181 -0
  377. data/lib/vue/stores/cloudobjects/discussion.js +221 -0
  378. data/lib/vue/stores/cloudobjects/file.js +205 -0
  379. data/lib/vue/stores/dashboard.js +251 -0
  380. data/lib/vue/stores/firebase.js +163 -0
  381. data/lib/vue/stores/layout.js +60 -0
  382. data/lib/vue/stores/panels/announcements.js +153 -0
  383. data/lib/vue/stores/panels/task.js +66 -0
  384. data/lib/vue/stores/panels/tickets.js +129 -0
  385. data/lib/vue/stores/profile.js +90 -0
  386. data/lib/vue/stores/search.js +154 -0
  387. data/lib/vue/stores/services/translator.js +87 -0
  388. data/lib/vue/stores/workflow.js +185 -0
  389. data/lib/vue/stores/workflow2.js +345 -0
  390. data/lib/vue/stores/workflows/actions.js +327 -0
  391. data/lib/vue/stores/workflows/associations.js +130 -0
  392. data/lib/vue/stores/workflows/checks.js +210 -0
  393. data/lib/webpack/base.js +182 -0
  394. data/lib/webpack/core.js +80 -0
  395. data/lib/webpack/engines.js +162 -0
  396. data/license +674 -0
  397. data/readme.md +120 -0
  398. metadata +554 -0
@@ -0,0 +1,82 @@
1
+ <%
2
+ =begin
3
+
4
+ Lesli
5
+
6
+ Copyright (c) 2023, Lesli Technologies, S. A.
7
+
8
+ This program is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program. If not, see http://www.gnu.org/licenses/.
20
+
21
+ Lesli · Ruby on Rails SaaS development platform.
22
+
23
+ Made with ♥ by https://www.lesli.tech
24
+ Building a better future, one line of code at a time.
25
+
26
+ @contact hello@lesli.tech
27
+ @website https://www.lesli.tech
28
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
+
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
+ // ·
32
+ =end
33
+ %>
34
+
35
+
36
+ <% custom_footer_partial_path = "layouts/#{lesli_instance_code}/partials/application-footer" %>
37
+ <% custom_footer_partial_exists = lookup_context.exists?(custom_footer_partial_path, nil, true) %>
38
+
39
+
40
+
41
+ <%# render custom partial in builder module %>
42
+ <% if custom_footer_partial_exists %>
43
+ <%= render partial: custom_footer_partial_path %>
44
+ <% end %>
45
+
46
+
47
+
48
+ <%# core footer partial %>
49
+ <% unless custom_footer_partial_exists %>
50
+
51
+ <application-component-footer title="<%= @account[:company][:name] %> &bull; <%= @account[:company][:tag_line] %>">
52
+
53
+ <template v-slot:navbar-end>
54
+ <%# Show standard footer links for LesliClou %>
55
+ <% if defined?(LesliCloud) %>
56
+
57
+ <a class="navbar-item has-text-grey" href="#">
58
+ Support
59
+ </a>
60
+ <span class="navbar-item has-text-grey-light">|</span>
61
+ <a class="navbar-item has-text-grey" href="#">
62
+ Privacy
63
+ </a>
64
+ <span class="navbar-item has-text-grey-light">|</span>
65
+ <a class="navbar-item has-text-grey" href="#">
66
+ About
67
+ </a>
68
+
69
+ <% else %>
70
+
71
+ <%# Show platform version for custom instances %>
72
+ <span class="navbar-item has-text-grey">
73
+ version <%= @account[:revision][:version] %> -
74
+ build <%= @account[:revision][:build] %>
75
+ </span>
76
+
77
+ <% end %>
78
+ </template>
79
+
80
+ </application-component-footer>
81
+
82
+ <% end %>
@@ -0,0 +1,79 @@
1
+ <%
2
+ =begin
3
+
4
+ Lesli
5
+
6
+ Copyright (c) 2023, Lesli Technologies, S. A.
7
+
8
+ This program is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program. If not, see http://www.gnu.org/licenses/.
20
+
21
+ Lesli · Ruby on Rails SaaS development platform.
22
+
23
+ Made with ♥ by https://www.lesli.tech
24
+ Building a better future, one line of code at a time.
25
+
26
+ @contact hello@lesli.tech
27
+ @website https://www.lesli.tech
28
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
+
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
+ // ·
32
+ =end
33
+ %>
34
+
35
+ <%# check if custom header partial exists in the builder engine %>
36
+ <% custom_header_path = "layouts/#{lesli_engine.dig(:code)}/partials/application-header" %>
37
+
38
+ <%# validate the path to be sure the partial exists when trying to render it %>
39
+ <% custom_header_exists = lookup_context.exists?(custom_header_path, nil, true) %>
40
+
41
+ <%# render custom header from builder engine if exists %>
42
+ <%= render( partial: custom_header_path) if custom_header_exists %>
43
+
44
+ <%# if custom header does not exists, use the main from core %>
45
+ <% unless custom_header_exists %>
46
+ <application-component-header
47
+ <%= "show-bell" if defined?(CloudBell) %>
48
+ <%= "show-announcements" if defined?(CloudBell) %>
49
+ <%= "show-focus" if defined?(CloudFocus) %>
50
+ <%= "show-tickets" if defined?(CloudHelp) %>
51
+ :show-engines="true">
52
+
53
+ <%# language selector %>
54
+ <% if I18n.available_locales.length > 1 && params[:controller] == 'profiles' %>
55
+ <div class="dropdown is-hoverable header-language-selector">
56
+ <div class="dropdown-trigger">
57
+ <button class="button" aria-haspopup="true" aria-controls="dropdown-menu">
58
+ <span class="icon has-text-grey-light">
59
+ <%= flag_icon(language_flag(I18n.locale)) %>
60
+ </span>
61
+ </button>
62
+ </div>
63
+ <div class="dropdown-menu" id="dropdown-menu" role="menu">
64
+ <div class="dropdown-content">
65
+ <% I18n.available_locales.each do |locale| %>
66
+ <% next if locale == I18n.locale %>
67
+ <%= link_to language_url(locale), { :class => "dropdown-item" } do %>
68
+ <span class="icon has-text-grey-light">
69
+ <%= flag_icon(language_flag(locale)) %>
70
+ </span>
71
+ <span><%= language_name(locale) %></span>
72
+ <% end %>
73
+ <% end %>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ <% end %>
78
+ </application-component-header>
79
+ <% end %>
@@ -0,0 +1 @@
1
+ <svg style="display: none;" id="_application-lesli-icons" xmlns="http://www.w3.org/2000/svg"><symbol id="cloud-admin" viewBox="0 0 228 256"><path d="M90.7 1.7c-.3 1-1.8 7.2-3.4 13.7l-2.8 11.9-5.3 2.4-5.4 2.4-10.2-6.2c-5.5-3.5-11-6.8-12.1-7.5-1.9-1.3-3.3-.1-18.3 14.9L17.1 49.5l7.5 12.2 7.5 12.1-2.4 5.4-2.4 5.4-13.7 3.3L0 91.2v45.7l3.8 1c2 .5 8.1 2 13.6 3.2l9.8 2.3 2.4 5.5 2.4 5.4-7.5 12.1-7.5 12.1 11.2 10.6 11.2 10.7 4.4-9.1c3.7-7.5 6-10.7 13.1-17.7 6.9-6.9 10.3-9.5 17.3-13l8.8-4.3-4.8-5.1c-6-6.4-8.7-10.8-11.3-18.2-2.9-8.5-3.4-18.5-1.5-26.8 9.1-38.7 56.2-52.7 84.1-25.1 14 13.9 18.8 33.7 12.6 51.9-2.6 7.4-5.3 11.8-11.3 18.2l-4.8 5.1 8.8 4.3c7 3.5 10.4 6.1 17.3 13 7.3 7.2 9.4 10.1 13 17.8 2.4 5 4.6 9.1 4.9 9.2.3 0 5.1-4.9 10.7-10.8l10.1-10.8-7.4-12.1-7.4-12 2.4-5.4 2.4-5.5 9.8-2.3c5.5-1.2 11.6-2.7 13.7-3.2l3.7-1V91.2l-13.6-3.3-13.7-3.3-2.4-5.4-2.4-5.4 7.5-12.1 7.5-12.2-16.1-16.2c-15-15-16.4-16.2-18.3-14.9-1.1.7-6.6 4-12.1 7.5l-10.2 6.2-5.4-2.4-5.3-2.4-2.8-11.9c-1.6-6.5-3.1-12.7-3.4-13.7C136.9.1 134.9 0 114 0S91.1.1 90.7 1.7Z"/><path d="M103.3 83.1c-8.5 2.7-16.9 10.4-20.8 19.1-7.7 17 0 37.5 17 45.8 4.3 2.2 6.4 2.5 15 2.5s10.7-.3 15-2.5c17-8.3 24.7-28.8 17-45.8-4-8.9-12.3-16.4-21.1-19.2-8.2-2.5-14.1-2.5-22.1.1ZM95 168.6c-15.8 3.4-29.9 14-37.3 28.1-5.5 10.5-6.7 17.5-6.7 40V256h127v-19.3c0-22.5-1.2-29.5-6.7-40-7.5-14.3-21.6-24.8-37.8-28.2-8.8-1.8-29.8-1.8-38.5.1Z"/></symbol><symbol id="cloud-audit" viewBox="0 0 43.8 48.09"><path d="M36.5 12.29c-4.3-4.3-9-9.1-12.2-12.2 3.7 3.8 8.4 8.5 12.2 12.2Z" stroke="#000" stroke-miterlimit="10" stroke-width=".25"/><path d="m19.2 38.09.1-.3q-.1 0-.2-.1l.1.4Z"/><path d="m39.5 15.29-3-3 3 3Z" stroke="#000" stroke-miterlimit="10" stroke-width=".25"/><path d="m33.3 35.89.1-.4-.2.2.1.2z"/><path d="M31.26 40.61c-.13.04-.27.05-.41.05-.41 0-.79-.16-1.08-.45-.29-.29-.44-.67-.44-1.08 0-.39.15-.75.4-1.03a11.176 11.176 0 0 1-5.7 1.55c-1.31 0-2.62-.24-3.88-.68l-.35 1.61c-.1.1-.3.3-.6.3-.2 0-.4-.2-.5-.4l-.56-2.45c-.8-.47-1.57-1.04-2.26-1.72a11.167 11.167 0 0 1-3.38-7.98c-.01-2.25.62-4.4 1.82-6.25l-.72-3.01-4.1 8.4c-.1.2-.3.3-.4.3H1c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h7.7l4.6-9.4c.1-.2.3-.3.5-.3s.4.2.4.4l.86 3.58c.25-.31.52-.62.81-.91 4.45-4.46 11.7-4.46 16.16 0 1.82 1.82 2.95 4.14 3.27 6.63h3.4c.3 0 .5.2.5.5s-.2.5-.5.5h-3.32c0 .15.02.3.02.45 0 2.07-.57 4.06-1.61 5.81.6-.58 1.55-.58 2.14.01.29.29.44.67.44 1.08 0 .14-.02.28-.05.41l3.18 3.18V15.39l-.1-.1H28.7c-2.4 0-4.4-2-4.4-4.4V.09H4.4C2 .09 0 2.09 0 4.49v39c0 2.4 2 4.4 4.4 4.4h30.7c.95 0 1.82-.32 2.55-.89l-6.39-6.39Z"/><path d="m29.718 35.787 1.768-1.768 4.454 4.455-1.767 1.768z"/><path d="M16.37 20.66c-4.2 4.2-4.2 11 0 15.1s11 4.2 15.1 0c4.2-4.2 4.2-10.9 0-15.1s-10.9-4.2-15.1 0Zm13.2 13.2c-3.1 3.1-8.2 3.1-11.3 0s-3.1-8.2 0-11.4c3.1-3.1 8.2-3.1 11.3 0 3.2 3.2 3.2 8.3 0 11.4Z"/><path d="M28.47 23.96c-2.4-2.4-6.3-2.4-8.7 0l1.7 1.7c2.1-2.1 5.6-2.1 7.7 0 .4.4.8.9 1 1.4-.3-1.1-.9-2.2-1.7-3.1Z" style="isolation:isolate"/><path d="M35.37 34.56c-.3-.3-.8-.3-1.1 0l-4 4c-.3.3-.3.8 0 1.1s.8.3 1.1 0l7.6 7.6c1.1 1.1 2.9 1.1 4 0s1.1-2.9 0-4l-7.6-7.6c.3-.3.3-.8 0-1.1Z"/></symbol><symbol id="cloud-babel" viewBox="0 0 50.77 47.31"><path d="M4 0C1.8 0 0 1.8 0 4v22c0 2.2 1.8 4 4 4h26V0H4Zm18 12h-2.18a10.86 10.86 0 0 1-1.8 4.57l-.57.82-.07-.05c-.33.42-.71.83-1.12 1.23.9.65 1.93 1.3 3.11 1.94l.88.48-.96 1.76-.88-.48c-1.22-.66-2.5-1.44-3.71-2.36-1.05.8-2.27 1.58-3.74 2.36l-.88.47-.94-1.76.88-.47a27.5 27.5 0 0 0 3.14-1.93c-1.75-1.69-3.14-3.82-3.59-6.59H8v-2h6v-2h2v2h6v2Z"/><path d="M11.6 12c.39 1.98 1.38 3.7 3.12 5.31.66-.63 1.2-1.27 1.65-1.95l.55-.84h.02c.42-.78.7-1.63.87-2.52h-6.2Z"/><path d="M8 12h5.95v2H8zm30.13 22.31-1.34-4.26-1.32 4.26h2.66zm-7.36 4h12v4h-12zm1-16h8v4h-8z"/><path d="M46.77 17.31H30.79v13.45H20.77v16.55h26c2.2 0 4-1.8 4-4v-22c0-2.2-1.8-4-4-4ZM21.21 45.74V31.2h8.77l-8.77 14.54Zm18.51-6.43-.95-3h-3.91l-.93 3-1.91-.59 4.74-15.35 4.87 15.34-1.91.61Z"/><path d="M20.77 47.31V30.7h10l-10 16.61Zm.98-15.62v12.08l7.27-12.08h-7.27Z"/></symbol><symbol id="cloud-bell" viewBox="0 0 56 66"><circle cx="28" cy="4" r="4"/><path d="M51.5 48c-3.4-2.8-7.5-7.55-7.5-28H12c0 20.45-4.1 25.2-7.5 28C2.07 50 0 51.01 0 56h56c0-4.99-2.07-6-4.5-8Zm-8.43-32C41.61 12.51 37.81 8 28 8s-13.61 4.51-15.07 8h30.14ZM28 66c4.42 0 8-3.58 8-8H20c0 4.42 3.58 8 8 8Z"/></symbol><symbol id="cloud-books" viewBox="0 0 70 70"><path d="M63.9 3.2c0-.5-.5-1-1-1H45.1v44.5h18.8V3.2zM49.4 6.4H58c.5 0 1 .5 1 1s-.5 1-1 1h-8.6c-.6 0-1-.5-1-1s.4-1 1-1zm0 4.9H58c.5 0 1 .5 1 1 0 .6-.5 1-1 1h-8.6c-.6 0-1-.4-1-1s.4-1 1-1zm0 4.8H58c.5 0 1 .5 1 1 0 .6-.5 1-1 1h-8.6c-.6 0-1-.4-1-1 0-.5.4-1 1-1zm.6 24.4c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9 2.9 1.3 2.9 2.9-1.3 2.9-2.9 2.9zm5.9-11.9h-4.5c-1.8 0-3.3-1.5-3.3-3.3 0-1.8 1.5-3.3 3.3-3.3h4.5c1.8 0 3.3 1.5 3.3 3.3 0 1.8-1.5 3.3-3.3 3.3zM24.6 2.2H6.9c-.5 0-1 .5-1 1v43.5h18.7V2.2zM11.9 6.4h8.6c.5 0 1 .5 1 1s-.5 1-1 1h-8.6c-.5 0-1-.5-1-1s.4-1 1-1zm0 4.9h8.6c.5 0 1 .5 1 1 0 .6-.5 1-1 1h-8.6c-.5 0-1-.4-1-1s.4-1 1-1zm0 4.8h8.6c.5 0 1 .5 1 1 0 .6-.5 1-1 1h-8.6c-.5 0-1-.4-1-1 0-.5.4-1 1-1zm.6 24.4c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9c1.6 0 2.9 1.3 2.9 2.9s-1.2 2.9-2.9 2.9zm5.9-11.9H14c-1.8 0-3.3-1.5-3.3-3.3 0-1.8 1.5-3.3 3.3-3.3h4.5c1.8 0 3.3 1.5 3.3 3.3-.1 1.8-1.6 3.3-3.4 3.3zm8.2-26.4v44.5h16.5V2.2H26.6zm4.3 4.2h8.6c.5 0 1 .5 1 1s-.5 1-1 1h-8.6c-.6 0-1-.5-1-1s.5-1 1-1zm0 4.9h8.6c.5 0 1 .5 1 1 0 .6-.5 1-1 1h-8.6c-.6 0-1-.4-1-1s.5-1 1-1zm0 4.8h8.6c.5 0 1 .5 1 1 0 .6-.5 1-1 1h-8.6c-.6 0-1-.4-1-1 0-.5.5-1 1-1zm.7 24.4c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9 2.9 1.3 2.9 2.9-1.3 2.9-2.9 2.9zm5.9-11.9H33c-1.8 0-3.3-1.5-3.3-3.3 0-1.8 1.5-3.3 3.3-3.3h4.5c1.8 0 3.3 1.5 3.3 3.3-.1 1.8-1.5 3.3-3.3 3.3zM23.2 55.8h23.4v6H23.2zm-17.3 0h5.9v6H6.9c-.5 0-1-.5-1-1v-5zm7.9 0h7.4v11c0 .6-.4 1-1 1h-5.4c-.5 0-1-.4-1-1v-11zm34.9 0h7.4v11c0 .6-.5 1-1 1h-5.4c-.5 0-1-.4-1-1v-11zM68 49.7v4.1H2v-4.1c0-.6.5-1 1-1h64c.6 0 1 .4 1 1zm-9.9 6.1h5.8v5c0 .5-.5 1-1 1h-4.8v-6z"/></symbol><symbol id="cloud-development" viewBox="0 0 24 24"><path d="m15.6 18.4-1.4-1.5 5-4.9-4.9-4.9 1.4-1.4L22 12zm-7.2 0 1.4-1.5-5-4.9 4.9-4.9-1.4-1.4L2 12z"/></symbol><symbol id="cloud-dispatcher" viewBox="0 0 40 43"><path d="M39.15 10H.85a.85.85 0 0 0-.85.85v7.31c0 .47.38.85.85.85h38.3c.47 0 .85-.38.85-.85v-7.31a.85.85 0 0 0-.85-.85ZM9 16.45c0 .3-.25.55-.55.55h-4.9c-.3 0-.55-.25-.55-.55v-1.9c0-.3.25-.55.55-.55h4.9c.3 0 .55.25.55.55v1.9Zm7 0c0 .3-.25.55-.55.55h-4.9c-.3 0-.55-.25-.55-.55v-1.9c0-.3.25-.55.55-.55h4.9c.3 0 .55.25.55.55v1.9Zm7 0c0 .3-.25.55-.55.55h-4.9c-.3 0-.55-.25-.55-.55v-1.9c0-.3.25-.55.55-.55h4.9c.3 0 .55.25.55.55v1.9ZM34 17c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2Zm5.15-17H.85A.85.85 0 0 0 0 .85v7.31c0 .47.38.85.85.85h38.3c.47 0 .85-.38.85-.85V.85a.85.85 0 0 0-.85-.85ZM9 6.45c0 .3-.25.55-.55.55h-4.9C3.25 7 3 6.75 3 6.45v-1.9c0-.3.25-.55.55-.55h4.9c.3 0 .55.25.55.55v1.9Zm7 0c0 .3-.25.55-.55.55h-4.9c-.3 0-.55-.25-.55-.55v-1.9c0-.3.25-.55.55-.55h4.9c.3 0 .55.25.55.55v1.9Zm7 0c0 .3-.25.55-.55.55h-4.9c-.3 0-.55-.25-.55-.55v-1.9c0-.3.25-.55.55-.55h4.9c.3 0 .55.25.55.55v1.9ZM34 7c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2Zm5.15 13H.85a.85.85 0 0 0-.85.85v7.31c0 .47.38.85.85.85h38.3c.47 0 .85-.38.85-.85v-7.31a.85.85 0 0 0-.85-.85ZM9 26.45c0 .3-.25.55-.55.55h-4.9c-.3 0-.55-.25-.55-.55v-1.9c0-.3.25-.55.55-.55h4.9c.3 0 .55.25.55.55v1.9Zm7 0c0 .3-.25.55-.55.55h-4.9c-.3 0-.55-.25-.55-.55v-1.9c0-.3.25-.55.55-.55h4.9c.3 0 .55.25.55.55v1.9Zm7 0c0 .3-.25.55-.55.55h-4.9c-.3 0-.55-.25-.55-.55v-1.9c0-.3.25-.55.55-.55h4.9c.3 0 .55.25.55.55v1.9ZM34 27c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2Zm-17 3h6v7h-6z"/><rect y="38" width="40" height="5" rx=".67" ry=".67"/></symbol><symbol id="cloud-driver" viewBox="0 0 18 21"><path d="M3 0c-.55 0-1 .45-1 1v3c0 .55.45 1 1 1s1-.45 1-1V1c0-.55-.45-1-1-1Zm12 0c-.55 0-1 .4-1 1v3c0 .5.45 1 1 1s1-.5 1-1V1c0-.6-.45-1-1-1ZM0 7.76V19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V7.76H0ZM9 15c0 1.1-.9 2-2 2H5v-1h2c.55 0 1-.5 1-1 0-.6-.45-1-1-1H6v-1h1c.55 0 1-.5 1-1 0-.6-.45-1-1-1H5v-1h2c1.1 0 2 .9 2 2 0 .6-.27 1.1-.69 1.5.42.3.69.9.69 1.5Zm4 2h-3v-1h1v-5h-1v-1h2v6h1v1Z"/><path d="M16.28 2.03v1.7c.14.23.22.49.22.77 0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5c0-.28.08-.55.22-.77V2H4.28v1.73c.14.23.22.49.22.77C4.5 5.33 3.83 6 3 6s-1.5-.67-1.5-1.5c0-.28.08-.55.22-.77v-1.7C.75 2.17 0 3 0 4v3h18V4c0-1-.75-1.83-1.72-1.97Z"/></symbol><symbol id="cloud-focus" viewBox="0 0 48.9 48.97"><path d="M44.9 0h-20c-2.21 0-4 1.79-4 4v16h4c2.21 0 4 1.79 4 4v4h16c2.21 0 4-1.79 4-4V4c0-2.21-1.79-4-4-4Z"/><path d="m29.75 13.33 4.11 4.1 6.53-6.53M9.92 32.49l4.11 4.11 6.53-6.54" fill="none" stroke="#fff" stroke-linecap="square" stroke-miterlimit="10" stroke-width="4"/><path d="M24 20.97H4c-2.21 0-4 1.79-4 4v20c0 2.21 1.79 4 4 4h20c2.21 0 4-1.79 4-4v-20c0-2.21-1.79-4-4-4Z"/><path d="m8.85 34.3 4.11 4.1 6.53-6.53" fill="none" stroke="#fff" stroke-linecap="square" stroke-miterlimit="10" stroke-width="4"/></symbol><symbol id="cloud-help" viewBox="0 0 128.51 128.51"><path d="M112.25 62.35c-.1-1.4-.2-2.7-.3-4.1l2.6-2.6c11.5-11.5 11.5-30.3 0-41.7-11.5-11.5-30.2-11.5-41.7 0l-2.6 2.6c-1.3-.2-2.7-.3-4.1-.3l4.5-4.5c12.7-12.7 33.4-12.8 46.1 0 12.7 12.7 12.7 33.4 0 46.1l-4.5 4.5Zm-53.9-45.7-2.6-2.6c-11.5-11.5-30.3-11.5-41.7 0-11.6 11.4-11.6 30.2 0 41.7l2.6 2.6c-.2 1.3-.3 2.7-.3 4.1l-4.5-4.5c-12.7-12.7-12.8-33.4 0-46.1 12.7-12.7 33.4-12.7 46.1 0l4.5 4.5c-1.4 0-2.8.1-4.1.3Zm-42.1 49.5c.1 1.4.2 2.7.3 4.1l-2.6 2.6c-11.5 11.5-11.5 30.3-.1 41.7 11.5 11.5 30.2 11.5 41.7 0l2.6-2.6c1.3.2 2.7.3 4.1.3l-4.5 4.5c-12.7 12.7-33.4 12.8-46.1.1-12.7-12.7-12.7-33.4.1-46.1l4.5-4.6Zm53.9 45.7 2.6 2.6c11.5 11.5 30.3 11.5 41.7 0 11.5-11.5 11.5-30.2-.1-41.7l-2.6-2.6c.2-1.3.3-2.7.3-4.1l4.5 4.5c12.7 12.7 12.8 33.4.1 46.1-12.7 12.7-33.4 12.7-46.1-.1l-4.5-4.5c1.4.1 2.8 0 4.1-.2Z"/><path d="M64.25 24.55c-21.9 0-39.7 17.8-39.7 39.7s17.8 39.7 39.7 39.7 39.7-17.8 39.7-39.7-17.8-39.7-39.7-39.7Zm0 71.7c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32Z"/><path d="M64.25 9.25c-30.4 0-55 24.6-55 55s24.6 55 55 55 55-24.6 55-55-24.6-55-55-55Zm0 106c-28.2 0-51-22.8-51-51s22.8-51 51-51 51 22.8 51 51-22.8 51-51 51Z"/><path d="M35.85 79.05c.05.1.12.2.17.3-2.41-4.5-3.77-9.63-3.77-15.1 0-17.7 14.3-32 32-32 5.48 0 10.64 1.37 15.14 3.79-.12-.06-.22-.13-.34-.19l23.18-23.08C91.6 4.91 78.47.25 64.25.25S36.9 4.91 26.27 12.77l23.08 23.08c-5.8 3-10.5 7.7-13.5 13.5L12.77 26.27C4.91 36.9.25 50.04.25 64.25s4.65 27.36 12.5 38l23.1-23.2ZM87.6 42.36c-.55-.59-1.13-1.16-1.72-1.71.6.55 1.17 1.12 1.72 1.71ZM38.39 83.1s.03.04.04.06c-.01-.02-.03-.04-.04-.06Zm1.51 1.92.03.03c0-.01-.02-.02-.03-.03Zm42.44-47.18Zm-1.87-1.18c.51.3 1.01.61 1.49.93-.49-.32-.99-.63-1.49-.93Zm-1.32 55.99c5.8-3 10.5-7.7 13.5-13.5l23.08 23.08c7.86-10.63 12.52-23.77 12.52-37.98s-4.66-27.35-12.52-37.98L92.57 49.33c2.35 4.45 3.68 9.53 3.68 14.92 0 17.7-14.3 32-32 32-5.39 0-10.47-1.33-14.92-3.68l-23.08 23.18c10.62 7.85 23.76 12.5 38 12.5s27.35-4.66 37.98-12.52L79.15 92.65Zm9.62-48.98c-.22-.26-.45-.52-.67-.78.23.26.45.51.67.78ZM36.99 81.03c.07.11.14.21.21.32-.07-.11-.14-.21-.21-.32Zm53.05-35.75s-.04-.06-.07-.09c.02.03.04.06.07.09Z"/><path d="m84.75 30.25-5.6 5.6c5.8 3 10.5 7.7 13.5 13.5l5.6-5.6c-3.4-5.5-8-10.2-13.5-13.5Zm-48.9 48.8-5.6 5.7c3.3 5.5 8 10.1 13.5 13.5l5.6-5.6c-5.7-3.1-10.4-7.8-13.5-13.6Zm43.3 13.6 5.6 5.6c5.5-3.3 10.1-8 13.5-13.5l-5.6-5.6c-3.1 5.7-7.8 10.4-13.5 13.5Zm-29.7-56.7-5.7-5.7c-5.5 3.4-10.1 8-13.5 13.5l5.6 5.6c3.1-5.7 7.8-10.4 13.6-13.4Zm-27.4 57-2.9 2.9c3.7 5.2 8.2 9.8 13.5 13.5l2.9-2.9c-5.3-3.7-9.9-8.2-13.5-13.5Zm84.4 0c-3.6 5.3-8.2 9.9-13.5 13.5l2.9 2.9c5.2-3.7 9.8-8.3 13.5-13.5l-2.9-2.9Zm-84.4-57.4c3.6-5.3 8.2-9.9 13.5-13.5l-2.8-2.8c-5.2 3.7-9.8 8.3-13.5 13.5l2.8 2.8Z"/><circle cx="64.25" cy="64.25" r="63.75" fill="none" stroke="#000" stroke-miterlimit="10"/></symbol><symbol id="cloud-kb" viewBox="0 0 91 91"><path d="m88.6 25.8-42-20c-.7-.3-1.5-.3-2.1 0l-42 20c-.9.4-1.4 1.3-1.4 2.2 0 1 .5 1.8 1.4 2.2l42 20c.3.2.7.2 1.1.2.4 0 .7-.1 1.1-.2l42-20c.7-.4 1.3-1.2 1.3-2.2 0-.9-.6-1.8-1.4-2.2z"/><path d="M45.5 68.1c-.5 0-1-.1-1.4-.3l-42-20C.5 47-.2 45.1.5 43.4c.8-1.6 2.7-2.3 4.4-1.6l40.6 19.3 40.6-19.3c1.6-.8 3.6-.1 4.4 1.6.8 1.6.1 3.6-1.6 4.4l-42 20c-.4.2-.9.3-1.4.3z"/><path d="M45.5 84.9c-.5 0-1-.1-1.4-.3l-42-20C.5 63.8-.2 61.9.5 60.2c.8-1.6 2.7-2.3 4.4-1.6L45.5 78l40.6-19.3c1.6-.8 3.6-.1 4.4 1.6.8 1.6.1 3.6-1.6 4.4l-42 20c-.4.1-.9.2-1.4.2z"/></symbol><symbol id="cloud-leaf" viewBox="0 0 250 250"><path d="M248.4 182.4c-5.9-5.4-30.3-15.2-47-21.5-3.8-1.5-3.7-6.9.2-8.2 11.3-3.8 26.6-13.5 40.2-37.6 1.7-3.2-.4-7.2-4-7.4l-21-1.4c-3.9-.3-5.9-4.8-3.6-7.9 10.6-14.3 31.4-47.7 23.9-81.7-.4-1.9-1.9-3.4-3.8-3.8-33.9-7.5-67.4 13.3-81.7 23.9-3.2 2.4-7.6.3-7.9-3.6l-1.4-21c-.3-3.7-4.2-5.8-7.4-4-24.1 13.6-33.8 28.9-37.6 40.2-1.3 3.9-6.8 4-8.2.2C82.8 31.9 73 7.5 67.6 1.6c-2-2.2-5.6-2.1-7.5.3C43.9 22 40.5 39.2 40.4 49.7c0 4.1-4.8 6.3-8 3.8l-9.2-7.3c-2.9-2.3-7.2-.7-7.9 3-3 16.9-1 31.2 2.3 42.1 1.5 4.9-4.4 8.5-8.1 5-2.9-2.8-7.8-1.1-8.3 2.9-8.3 64.3 28.1 93.2 41.2 101.4l35.9-35.9c-8-10.4-26.8-41.9-19.3-99.6.4-2.7 2.9-4.7 5.6-4.3 2.7.4 4.7 2.9 4.3 5.6-6.7 52.2 9.4 81.2 16.6 91.1l37.2-37.2c-4.2-9.2-13.4-35.2-4.1-68.8.7-2.7 3.5-4.2 6.2-3.5 2.7.7 4.2 3.5 3.5 6.2-7.5 26.8-1.8 48.3 2.1 58.4l70.9-70.9c2-2 5.1-2 7.1 0s2 5.1 0 7.1l-70.9 70.9c10.1 3.8 31.7 9.6 58.5 2.2 2.7-.7 5.4.8 6.2 3.5.7 2.7-.8 5.4-3.5 6.2-10.6 2.9-20.5 4-29.2 4-19.3 0-33.5-5.3-39.7-8.2l-37.2 37.2c10 7.1 39.1 23.3 91.2 16.7 2.7-.4 5.2 1.6 5.6 4.3.4 2.7-1.6 5.2-4.3 5.6-9.3 1.2-17.9 1.7-25.8 1.7-41.6 0-65.3-14.4-74-21l-35.9 35.9c8.2 13.1 37.2 49.5 101.3 41.1 4-.5 5.7-5.4 2.9-8.3-3.4-3.6.2-9.6 5-8.1 11 3.3 25.3 5.3 42.1 2.3 3.7-.6 5.3-5 3-7.9l-7.3-9.2c-2.5-3.2-.3-8 3.8-8 10.6-.1 27.7-3.5 47.8-19.7 2.5-2 2.6-5.6.4-7.6z"/><path d="M46.9 203.2s-1.7-.8-4.5-2.6L6.7 236.3c-2 2-2 5.1 0 7.1.9 1 2.2 1.5 3.5 1.5 1.3 0 2.5-.5 3.5-1.4l35.8-35.8c-1.8-2.8-2.6-4.5-2.6-4.5zm34.6-41.7z"/></symbol><symbol id="cloud-lesli" viewBox="0 0 913.9 792.9"><path d="M913.9 396.4c0-82.4-62.7-152.8-148.6-167.1C800 141.5 752.7 43.7 659.7 10.9 586.9-14.7 505 6.6 456.4 63.8c-62-73.2-175.1-85.2-252.7-26.7-60.9 45.9-83.5 123.5-56.1 192.3C50 246.2-14.9 334.6 2.9 426.8c13.4 69.6 71.1 124 144.8 136.6-34.8 87.8 12.4 185.6 105.4 218.5 72.8 25.7 154.8 4.4 203.4-52.8 62 73.2 175.1 85.2 252.7 26.7 60.8-45.9 83.5-123.4 56.1-192.2 85.9-14.4 148.5-84.8 148.6-167.2zm-446 135.2v29.5h-55.3V448.2c0-17-14.6-30.8-32.7-30.8H260.2v-52.2h119.7c18 0 32.7-13.8 32.7-30.8v-113h55.3v112.9c0 17 14.7 30.8 32.7 30.8h119.6v52.2H500.5c-18 0-32.7 13.8-32.7 30.8l.1 83.5z"/></symbol><symbol id="cloud-mailer" viewBox="0 0 48 48.34"><g data-name="Layer 1"><path d="M6.83 4.21v18.16L24 35.42l17.18-13.06V4.21H6.83Zm2.85 2.98h14.59v2.02H9.68V7.19Zm28.66 13.64H9.67v-2.02h28.66v2.02Zm0-5.81H9.67V13h28.66v2.02Zm3.99 6.6L48 17.31 42.33 13v8.62zM5.67 12.93 0 17.24l5.67 4.31v-8.62zm22.51-9.75L24 0l-4.18 3.18h8.36z"/><path d="M19.57 33.47 24 36.83l4.43-3.36L48 48.34H0l19.57-14.87z"/><path d="M28.43 33.46v.01L48 48.34V18.59L28.43 33.46zm-8.86 0v.01L0 48.34V18.59l19.57 14.87z"/></g></symbol><symbol id="cloud-one" viewBox="0 0 38.02 38.01"><path d="M21.84 34.01c-.3-.85-.97-1.53-1.83-1.83-.65-.24-1.35-.24-2 0-1.56.55-2.38 2.27-1.83 3.83s2.27 2.38 3.83 1.83 2.38-2.27 1.83-3.83ZM19.01 36c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1ZM5.83 29c-.55-1.56-2.27-2.38-3.83-1.83S-.38 29.44.17 31 2.44 33.38 4 32.83c.85-.3 1.53-.97 1.83-1.83.24-.65.24-1.35 0-2Zm-2.82 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1Zm34.84-2c-.42-1.2-1.56-2-2.84-2-1.27 0-2.4.8-2.82 2-.24.65-.24 1.35 0 2a3.006 3.006 0 0 0 3.83 1.83A3.006 3.006 0 0 0 37.85 29Zm-2.84 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1Zm-16-23.56c-2.75 0-4.5.89-4.5 1.5 0 .47 1.01 1.11 2.88 1.39 1.07.15 2.16.15 3.24 0 1.99-.29 2.88-.98 2.88-1.38 0-.61-1.75-1.5-4.5-1.5Z"/><path d="M23.44 10.46c-.15.09-.3.17-.47.25-.05.02-.12.04-.17.07-.15.06-.3.12-.46.18-.1.03-.22.06-.34.09-.13.04-.26.08-.4.11-.26.06-.54.11-.82.15a12.902 12.902 0 0 1-3.52 0c-1.17-.17-2.1-.47-2.74-.88v2.45c0 .61 1.29 1.4 3.38 1.62.75.08 1.51.08 2.26 0 2.01-.21 3.36-1.01 3.36-1.62v-2.46c-.02.01-.05.02-.07.04Z"/><path d="M23.27 14.59c-.17.1-.35.2-.56.29-.04.02-.08.03-.12.05-.19.08-.38.15-.59.22-.15.05-.32.08-.48.12-.11.03-.21.06-.33.08-.3.06-.62.11-.94.15-.41.04-.82.06-1.23.06h-.01c-.41 0-.83-.02-1.24-.06-.15-.02-.29-.05-.44-.07-.16-.02-.33-.04-.49-.08l-.26-.06c-.22-.05-.44-.1-.64-.17a.3.3 0 0 1-.1-.04c-.24-.08-.47-.17-.68-.27 0 0-.01 0-.02-.01-.23-.11-.43-.23-.61-.35v2.5c0 .61 1.75 1.5 4.5 1.5s4.5-.89 4.5-1.5v-2.48c-.05.04-.12.07-.17.1l-.06.03Z"/><path d="M29.01 9C28.46 3.51 23.56-.5 18.06.05 14.08.45 10.72 3.18 9.52 7h-.51c-4.42 0-8 3.58-8 8s3.58 8 8 8h20c3.87 0 7-3.13 7-7s-3.13-7-7-7Zm-4.5 3.88v4.06c0 1.62-2.83 2.5-5.5 2.5s-5.5-.88-5.5-2.5v-8c0-1.62 2.83-2.5 5.5-2.5s5.5.88 5.5 2.5v3.94ZM31.19 31c-.24-.64-.24-1.35 0-2h-3.18c-1.1 0-2-.9-2-2v-3h-2v3c0 2.21 1.79 4 4 4h3.18ZM19 31.01c.35 0 .69.06 1.01.18v-7.18h-2v7.18c.31-.11.65-.18.99-.18ZM12.01 24v3c0 1.1-.9 2-2 2H6.84c.24.68.21 1.37-.02 2H10c2.21 0 4-1.79 4-4v-3h-2Z"/></symbol><symbol id="cloud-profile" viewBox="0 0 40 40"><path d="M37.84 0H2.16C.97 0 0 .97 0 2.16v35.68C0 39.03.97 40 2.16 40h35.68c1.19 0 2.16-.97 2.16-2.16V2.16C40 .97 39.03 0 37.84 0ZM29 20c0 2.72-1.21 5.15-3.12 6.8.08-.42.12-.86.12-1.3 0-2.54-1.34-4.73-3.3-5.8.49-.6.8-1.36.8-2.2 0-1.93-1.57-3.5-3.5-3.5s-3.5 1.57-3.5 3.5c0 .84.31 1.6.8 2.2-1.96 1.07-3.3 3.26-3.3 5.8 0 .45.04.88.12 1.3A8.957 8.957 0 0 1 11 20a9 9 0 0 1 18 0ZM14 2c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2ZM9 2c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2ZM2 4c0-1.1.9-2 2-2s2 .9 2 2-.9 2-2 2-2-.9-2-2Zm28 31.46c0 .3-.24.54-.54.54H3.54c-.3 0-.54-.24-.54-.54v-2.92c0-.3.24-.54.54-.54h25.92c.3 0 .54.24.54.54v2.92Zm7 0c0 .3-.24.54-.54.54h-4.92c-.3 0-.54-.24-.54-.54v-2.92c0-.3.24-.54.54-.54h4.92c.3 0 .54.24.54.54v2.92Z"/></symbol><symbol id="cloud-proposal" viewBox="0 0 452.6 480"><path d="m263.5 360.7-3.4-49.9L370.6 117V52.6h-51.4V0H0v480h370.6V237l-59 103.5-48.1 20.2zM279.9 202H38.5v-19.2h241.4V202zm-68.6 119.4v19.2H38.5v-19.2h172.8zm-172.8-27v-19.2h172.8v19.2H38.5zm200.3 73.2v19.2H38.5v-19.2h200.3zM38.5 248.2V229h200.2v19.2H38.5zm0-152.3L42.9 85h8.6v-2.3C51.4 62 68.3 45.2 89 45.2s37.6 16.9 37.6 37.6h-10.9C115.7 68 103.8 56 89 56c-14.7 0-26.7 12-26.7 26.7V85h41.4l-4.4 10.9h-37v8.1h41.4l-4.4 10.9h-37v.4c0 14.7 12 26.7 26.7 26.7s26.7-12 26.7-26.7h10.9c0 20.7-16.9 37.6-37.6 37.6-20.7 0-37.6-16.9-37.6-37.6v-.4H38.5l4.3-10.9h8.6v-8.1H38.5zM279.9 433H38.5v-19.2h241.4V433z"/><path d="M370.6 52.6 319.2 0l51.4 52.6zm67.2 6.9c-8.5-4.9-19.4-2-24.3 6.5l30.9 17.8c4.8-8.5 1.9-19.4-6.6-24.3zM273.5 343.9l29.4-15.6-30.7-17.7zM442.6 96.8l-10.3 17.8.6 9.8-18.8 32.6 5.4 3.1 18.4-32 14.7-25.5zM272.22 310.518 407.343 76.41l30.92 17.846-135.124 234.107z"/></symbol><symbol id="cloud-scraper" viewBox="0 0 21.78 14.92"><g data-name="Layer 1"><path d="M11.09.32a.326.326 0 0 0-.32-.32H3.52c-.18 0-.32.15-.33.33 0 .18.15.32.33.32h.76V4.6L1.05 7c-.08.06-.13.16-.13.26v.13c.1-.05.21-.08.32-.08h1.59c.37 0 .67.3.67.67v1.44c0 .38-.3.67-.67.67h-1.6a.73.73 0 0 1-.33-.08v1.21H2c.48-.95 1.45-1.56 2.52-1.57.72 0 1.4.28 1.92.77V4.76c0-.12.03-.23.08-.33H4.91V.65h4.42v3.44h.33c.12 0 .23.03.33.08V.65h.75c.18 0 .32-.15.33-.33ZM.76 9.43zm1.13 3.93c-.02-.05-.03-.1-.04-.15-.06-.22-.09-.44-.09-.67v-.13c0-.22.03-.45.08-.66.02-.06.03-.11.05-.17H.33c-.18 0-.33.15-.33.32v1.13c0 .18.15.32.33.33h1.56Zm8.25-1.61c.02-.06.03-.11.05-.17H7.21s.03.09.04.13c.05.24.08.46.1.68v.14c-.01.22-.04.44-.09.65-.02.06-.04.12-.05.18h2.98s-.03-.1-.05-.15c-.05-.23-.08-.45-.09-.67v-.14c.01-.23.05-.45.09-.66Zm6.25 1.28v-1.79l-2.41-1.81c-.15-.11-.24-.27-.27-.45s.02-.35.13-.5c.23-.3.64-.35.94-.14l1.6 1.2V8.9c0-1.41-1.15-2.56-2.57-2.56h-3.46v4.85c.29-.58.78-1.04 1.37-1.3a2.8 2.8 0 0 1 3.69 1.44c.06.13.1.26.14.38.04.17.07.34.09.51h.09v.48h-.09c-.01.16-.04.32-.08.48-.02.06-.03.12-.05.17h.54c.18 0 .32-.15.33-.33Z"/><path d="M14.06 8.94c.01.08.06.16.13.21l2.57 1.93v-.81l-2.18-1.64a.353.353 0 0 0-.19-.06c-.1 0-.2.04-.26.13-.05.07-.07.16-.06.24Zm4.61-.23h-1.24c-.18 0-.32.15-.33.33v3.99c0 .18.15.35.32.33h4.02c.18 0 .32-.15.33-.33v-1.04a.31.31 0 0 0-.09-.22l-2.77-2.95a.317.317 0 0 0-.25-.1Zm-8.06 4.75c.4.89 1.27 1.46 2.24 1.46.97 0 1.85-.58 2.25-1.46.05-.12.1-.24.13-.37.04-.18.07-.37.07-.57v-.13c0-.2-.03-.4-.08-.6-.03-.11-.07-.23-.12-.33a2.46 2.46 0 0 0-2.24-1.47c-.94 0-1.85.55-2.25 1.46-.05.12-.1.24-.13.36-.04.19-.07.39-.08.58v.12c.01.19.04.39.09.59.03.11.08.23.13.33ZM1.31 3.43l.78.78c.06.06.1.15.1.25v1.27l.65-.48v-.79c0-.26-.1-.52-.29-.71l-.78-.78c-.06-.06-.15-.09-.23-.09s-.17.03-.23.09a.32.32 0 0 0 0 .46ZM7.01 3c0-.65-.53-1.17-1.18-1.17h-.54v2.26h1.72V3Zm3 8.23V4.77s0-.09-.02-.13-.04-.08-.08-.11a.317.317 0 0 0-.23-.09H7.14c-.18 0-.32.15-.33.33v6.06c.1.13.19.26.26.41h.39v-.67h1.89v.67H10ZM7.47 5.09h1.89v1.26H7.47V5.09Zm0 1.91h1.89v1.13H7.47V7Zm0 2.91V8.78h1.89v1.13H7.47Zm-.67 1.56c-.07-.17-.17-.33-.29-.47-.46-.62-1.19-.98-1.96-.99-.97 0-1.85.58-2.25 1.47-.05.11-.1.23-.13.36-.04.18-.07.38-.07.58v.13c0 .19.03.39.08.58.03.12.07.23.13.33.25.57.69 1.01 1.25 1.25 1.24.55 2.69 0 3.24-1.24.05-.12.1-.24.13-.37.04-.18.07-.38.08-.57v-.11c-.01-.2-.04-.41-.09-.61-.03-.1-.07-.21-.12-.33Z"/><path d="M7.82 5.44h1.19V6H7.82zm0 1.91h1.19v.43H7.82zm0 1.78h1.19v.43H7.82zm0 1.78h1.19v.32H7.82zM.93 7.99v1.44a.326.326 0 0 0 .32.32h1.6c.18 0 .33-.15.33-.32V7.99c0-.18-.15-.33-.33-.33H1.26c-.18 0-.32.15-.33.33Z"/></g></symbol><symbol id="cloud-shared"><path d="M15.985 18.857 4.557 12l11.428-6.857 1.03 1.714L8.443 12l8.572 5.143-1.03 1.714z"/><circle cx="16.5" cy="6.5" r="3.5"/><circle cx="6.5" cy="12" r="3.5"/><circle cx="16.5" cy="17.5" r="3.5"/></symbol><symbol id="cloud-storage" viewBox="0 0 25 25"><path class="cloud-storage_svg__cls-1" d="M23.75 4h-10.4a.25.25 0 0 1-.19-.09l-2.05-2.46a1.25 1.25 0 0 0-1-.45H5.25A1.25 1.25 0 0 0 4 2.25V3h4.15a2.24 2.24 0 0 1 1.73.81L11.7 6h10A2.25 2.25 0 0 1 24 8.25v9.7a1.23 1.23 0 0 0 1-1.2V5.25A1.25 1.25 0 0 0 23.75 4Z"/><path class="cloud-storage_svg__cls-1" d="M21.75 7H11.23L9.11 4.45a1.25 1.25 0 0 0-1-.45H3.25A1.25 1.25 0 0 0 2 5.25V6h4.15a2.24 2.24 0 0 1 1.73.81L9.7 9h10a2.25 2.25 0 0 1 2.3 2.25v9.7a1.23 1.23 0 0 0 1-1.2V8.25A1.25 1.25 0 0 0 21.75 7Z"/><path class="cloud-storage_svg__cls-1" d="M19.75 10H9.23L7.11 7.45a1.25 1.25 0 0 0-1-.45H1.25A1.25 1.25 0 0 0 0 8.25v14.5A1.25 1.25 0 0 0 1.25 24h18.5A1.25 1.25 0 0 0 21 22.75v-11.5A1.25 1.25 0 0 0 19.75 10Z"/></symbol><symbol id="cloud-talk" viewBox="0 0 50 44.66"><path d="M16 9h20V2c0-1.1-.9-2-2-2H2C.9 0 0 .9 0 2v26c0 1.1.9 2 2 2h3v5.83L12.33 30H14V11c0-1.1.9-2 2-2Z"/><path d="M48.09 10.53H17.61c-1.05 0-1.91.85-1.91 1.91v24.77c0 1.05.85 1.91 1.91 1.91h20.64l6.98 5.56v-5.56h2.86c1.05 0 1.91-.85 1.91-1.91V12.43c0-1.05-.85-1.91-1.91-1.91Zm-6.62 19.9H24.23V28.4h17.24v2.03Zm0-4.76H24.23v-2.03h17.24v2.03Zm0-4.76H24.23v-2.03h17.24v2.03Z"/></symbol><symbol id="cloud-team" viewBox="0 0 500 416"><path d="M409.8 112.8c-31.1 0-56.4 25.3-56.4 56.5s25.3 56.3 56.4 56.3 56.5-25.3 56.5-56.3-25.4-56.5-56.5-56.5Zm-319.6 0c-31.1 0-56.5 25.3-56.5 56.5s25.3 56.3 56.5 56.3 56.4-25.3 56.4-56.3-25.3-56.5-56.4-56.5ZM249.9 0c-46 0-83.5 37.4-83.5 83.4s37.4 83.5 83.5 83.5 83.5-37.5 83.5-83.5C333.5 37.4 296 0 249.9 0Zm130.9 416v-96c0-72.2-58.7-130.9-130.8-130.9S119.1 247.8 119.1 320v96h261.7Zm20.7-34H500v-44.3c0-49.8-40.5-90.2-90.3-90.2-8.9 0-17.3 1.7-25.4 4.1 10.6 20.7 17.1 43.7 17.1 68.4v62h.1Zm-303.1 0v-62c0-24.8 6.5-47.8 17.1-68.4-8-2.4-16.4-4.1-25.3-4.1-49.7 0-90.2 40.4-90.2 90.2V382h98.4Z"/><path d="M250 189.1V416h130.8v-96c0-72.1-58.7-130.8-130.8-130.9ZM250 0v167c46 0 83.4-37.5 83.4-83.5C333.5 37.4 296 0 250 0Z"/></symbol><symbol id="cloud-time" viewBox="0 0 426.79 511.88"><g data-name="Layer 1"><path d="M175.53 76.88c-3.36 0-6.61-1.94-8.1-5.2-3.06-6.64-4.61-13.74-4.61-21.11C162.82 22.68 185.5 0 213.38 0s50.57 22.68 50.57 50.57c0 7.01-1.4 13.84-4.2 20.24-1.98 4.5-7.22 6.57-11.73 4.6-4.54-1.97-6.59-7.22-4.63-11.75 1.81-4.12 2.72-8.54 2.72-13.09 0-18.04-14.67-32.72-32.73-32.72s-32.71 14.69-32.71 32.72c0 4.77.99 9.37 2.96 13.66 2.06 4.47.11 9.78-4.37 11.83-1.21.56-2.48.82-3.74.82Zm37.85 199.09c12.45 0 22.54 10.1 22.54 22.52s-10.1 22.52-22.54 22.52-22.52-10.1-22.52-22.52 10.1-22.52 22.52-22.52"/><path d="M226.79 85.53V51.84c0-7.4-6.01-13.4-13.41-13.4s-13.38 6-13.38 13.4v33.69C88.4 92.44 0 185.12 0 298.48s95.53 213.39 213.38 213.39 213.41-95.54 213.41-213.39-88.4-206.02-200-212.95ZM213.38 459.6c-88.84 0-161.11-72.29-161.11-161.12s72.27-161.14 161.11-161.14 161.15 72.27 161.15 161.14S302.25 459.6 213.38 459.6Z"/><path d="M234.62 296.16s-3.79-8.34-.44-13.44c3.35-5.11 48.47-94.91 48.47-94.91s2.08-3.43-.96-5.23c-1.45-.87-3.7-.92-5.03 1.68 0 0-57.14 82.69-59.99 88.07-2.88 5.38-12.02 6.05-12.02 6.05s19.91 4.21 29.98 17.78ZM213.4 181.67c-2.9 0-5.23-2.34-5.23-5.21V158.7c0-2.87 2.34-5.21 5.23-5.21s5.22 2.34 5.22 5.21v17.76c0 2.87-2.34 5.21-5.22 5.21ZM92.75 303.72H75c-2.88 0-5.21-2.36-5.21-5.23s2.34-5.23 5.21-5.23h17.75c2.88 0 5.22 2.33 5.22 5.23s-2.35 5.23-5.22 5.23Zm258.09 0H333.1c-2.88 0-5.23-2.36-5.23-5.23s2.36-5.23 5.23-5.23h17.74c2.88 0 5.21 2.33 5.21 5.23 0 2.87-2.34 5.23-5.21 5.23Zm-53.29-87.11c-1.33 0-2.69-.49-3.7-1.51a5.251 5.251 0 0 1 0-7.41l12.53-12.53a5.209 5.209 0 0 1 7.39 0 5.203 5.203 0 0 1 0 7.37l-12.54 12.57c-1.02 1.02-2.35 1.51-3.7 1.51Zm-171.61.99a5.17 5.17 0 0 1-3.68-1.53l-12.55-12.53c-2.04-2.04-2.04-5.35 0-7.39s5.36-2.04 7.4 0l12.53 12.53a5.191 5.191 0 0 1 0 7.39 5.183 5.183 0 0 1-3.7 1.53Zm182.51 182.5c-1.34 0-2.68-.51-3.7-1.53l-12.55-12.55a5.227 5.227 0 0 1 0-7.39 5.203 5.203 0 0 1 7.4 0l12.55 12.55a5.227 5.227 0 0 1-3.7 8.92Zm-194.45 0c-1.34 0-2.68-.51-3.68-1.53a5.227 5.227 0 0 1 0-7.39l12.53-12.55c2.07-2.06 5.36-2.06 7.4 0a5.209 5.209 0 0 1 0 7.39l-12.53 12.55a5.29 5.29 0 0 1-3.71 1.53Z"/></g></symbol><symbol id="cloud-vault"><g transform="translate(-28 -28)"><path d="M90.4 100H37.6c-5.3 0-9.6-4.3-9.6-9.6V37.6c0-5.3 4.3-9.6 9.6-9.6h52.8c5.3 0 9.6 4.3 9.6 9.6v52.8c0 5.3-4.3 9.6-9.6 9.6z" fill="#e6e8eb"/><path d="M90.4 93H37.6c-1.4 0-2.6-1.2-2.6-2.6V37.6c0-1.4 1.2-2.6 2.6-2.6h52.8c1.4 0 2.6 1.2 2.6 2.6v52.8c0 1.4-1.2 2.6-2.6 2.6ZM37.6 37c-.3 0-.6.3-.6.6v52.8c0 .3.3.6.6.6h52.8c.3 0 .6-.3.6-.6V37.6c0-.3-.3-.6-.6-.6Z" fill="#cfd5df"/><path d="M94 56.6h-1.4c-.9 0-1.7-.7-1.7-1.7V43.1c0-.9.7-1.7 1.7-1.7H94c.9 0 1.7.7 1.7 1.7V55c0 .9-.8 1.6-1.7 1.6zm0 29.9h-1.4c-.9 0-1.7-.7-1.7-1.7V73c0-.9.7-1.7 1.7-1.7H94c.9 0 1.7.7 1.7 1.7v11.8c0 1-.8 1.7-1.7 1.7z" fill="#cfd5df"/><circle cx="53.8" cy="64" fill="#fff" r="12.6"/><circle cx="53.8" cy="64" fill="#cfd5df" r="10.9"/><circle cx="53.8" cy="64" fill="#e6e8eb" r="8.1"/><path d="M42.6 75.2c-.7-.7-.7-1.9 0-2.6l19.7-19.7c.7-.7 1.9-.7 2.6 0 .7.7.7 1.9 0 2.6L45.3 75.2c-.7.7-1.9.7-2.7 0z" fill="#454e5c"/><path d="M42.6 52.8c.7-.7 1.9-.7 2.6 0L65 72.5c.7.7.7 1.9 0 2.6-.7.7-1.9.7-2.6 0L42.6 55.5c-.7-.7-.7-1.9 0-2.7z" fill="#454e5c"/><circle cx="53.8" cy="64" fill="#545e70" r="5.8"/><circle cx="53.8" cy="64" fill="#acb2b9" r="3.1"/><circle cx="78.8" cy="63.2" fill="#acb2b9" r="6.3"/><circle cx="78.8" cy="63.2" fill="#e6e8eb" r="4.9"/><circle cx="78.8" cy="63.2" fill="#cfd5df" r="3.6"/><g fill="#cfd5df"><path d="M78.7 59.2h.3v8.1h-.3z"/><path d="M74.8 63h8.1v.3h-8.1z"/><path d="m81.568 60.267.213.213-5.728 5.727-.212-.212z"/><path d="m81.774 65.918-.212.212-5.727-5.728.212-.212z"/></g><g fill="#cfd5df"><path d="m77.184 59.56.277-.115 3.1 7.483-.277.115z"/><path d="m82.48 61.535.115.278-7.484 3.1-.115-.278z"/><path d="m80.241 59.451.277.115-3.1 7.484-.277-.115z"/><path d="m82.597 64.597-.115.277-7.483-3.1.114-.277z"/></g><circle cx="78.8" cy="63.2" fill="#fff" r="2.2"/></g></symbol><symbol id="cloud-word" viewBox="0 0 103.51 102.88"><path d="M88 98.88H8c-4.4 0-8-3.6-8-8v4c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8v-4c0 4.4-3.6 8-8 8Z" style="isolation:isolate" opacity=".1"/><path d="M79.98 49.09c-.1.93-.83 1.67-1.77 1.77L66.19 62.88H78c1.1 0 2 .9 2 2s-.9 2-2 2H62.19l-3.38 3.38s-.03.02-.04.03c-.23.23-.48.44-.73.63h-.03a7.1 7.1 0 0 1-3.82 1.41L20.34 84.89c-.24.08-.46.14-.66.18h-.07c-.18.02-.35.04-.51.02-.34-.03-.62-.16-.81-.36-.37-.4-.44-1.09-.11-2l5.73-15.85h-4.9c-1.1 0-2-.9-2-2s.9-2 2-2h6.35l4.34-12H19.02c-1.1 0-2-.9-2-2s.9-2 2-2h12.1c.24-.68.57-1.33 1.02-1.92.2-.26.41-.51.65-.74l9.33-9.33H19c-1.1 0-2-.9-2-2s.9-2 2-2h27.09l25-25.01H8c-4.4 0-8 3.6-8 8v81c0 4.4 3.6 8 8 8h80c4.4 0 8-3.6 8-8V33.07L79.98 49.09Z" style="isolation:isolate"/><path d="M34.71 47.48c-.19.19-.37.4-.53.61-.48.64-.81 1.35-1 2.09L22.76 79.01c-.27.75-.21 1.31.09 1.64.16.17.38.27.66.29h.01c.13.01.27 0 .42-.02h.05c.17-.03.35-.07.54-.14L52.24 70.5c1.11-.07 2.2-.46 3.13-1.16h.02c.21-.16.41-.33.6-.51 0 0 .02-.02.03-.02l38.07-38.06L73.47 8.73 34.71 47.48Zm67.09-24.44c.29-.29.54-.59.75-.92 1.5-2.28 1.25-5.4-.75-7.4l-13-13c-2.29-2.29-6.03-2.29-8.32 0l-4.01 4.01 20.62 22.02 4.71-4.71Z"/></symbol><symbol id="icon-module" viewBox="0 0 512 512"><path d="M354.67 450h-107A15 15 0 0 1 236 425.68a33.18 33.18 0 0 0 7.22-20.81 33.59 33.59 0 0 0-67.17 0 33.18 33.18 0 0 0 7.22 20.81A15 15 0 0 1 171.48 450h-107a15 15 0 0 1-15-15V297.06a15 15 0 0 1 24-12 33.59 33.59 0 1 0 0-53.7 15 15 0 0 1-24-12v-74.5a15 15 0 0 1 15-15h84.16a63.59 63.59 0 1 1 121.83 0h84.16a15 15 0 0 1 15 15v52.19a63.59 63.59 0 1 1 0 122.36V435a15 15 0 0 1-14.96 15Zm-83.32-30h68.32V294.48a15 15 0 0 1 25-11.18 33.59 33.59 0 1 0 0-50.14 15 15 0 0 1-25-11.18v-62.12H245a15 15 0 0 1-10.93-25.27 33.59 33.59 0 1 0-48.91 0 15 15 0 0 1-10.93 25.27H79.52v36.36a64.45 64.45 0 0 1 14.2-1.58 63.59 63.59 0 1 1-14.2 125.59V420h68.32a63.59 63.59 0 1 1 123.51 0Z" data-name="1"/></symbol><symbol id="logo-android" viewBox="0 0 26 26"><linearGradient gradientTransform="matrix(1 0 0 -1 0 551.597)" gradientUnits="userSpaceOnUse" id="a-0add77fd-bd90-48d1-91ee-2b3a445bf8b4" x1="13.641" x2="-3.141" y1="549.889" y2="533.106"><stop offset="0" stop-color="#00a0ff"/><stop offset=".007" stop-color="#00a1ff"/><stop offset=".26" stop-color="#00beff"/><stop offset=".512" stop-color="#00d2ff"/><stop offset=".76" stop-color="#00dfff"/><stop offset="1" stop-color="#00e3ff"/></linearGradient><path d="M2.3.5c-.3.3-.5.8-.5 1.4V24c0 .6.2 1.1.5 1.4l.1.1 12.4-12.4v-.2L2.3.5z" fill="url(#a-0add77fd-bd90-48d1-91ee-2b3a445bf8b4)"/><linearGradient gradientTransform="matrix(1 0 0 -1 0 551.597)" gradientUnits="userSpaceOnUse" id="b-888bef39-1e36-4e80-9a0f-5e72db674a87" x1="25.676" x2="1.479" y1="538.597" y2="538.597"><stop offset="0" stop-color="#ffe000"/><stop offset=".409" stop-color="#ffbd00"/><stop offset=".775" stop-color="orange"/><stop offset="1" stop-color="#ff9c00"/></linearGradient><path d="m18.9 17.3-4.1-4.1v-.3l4.1-4.1h.1l4.9 2.8c1.4.8 1.4 2.1 0 2.9l-5 2.8z" fill="url(#b-888bef39-1e36-4e80-9a0f-5e72db674a87)"/><linearGradient gradientTransform="matrix(1 0 0 -1 0 551.597)" gradientUnits="userSpaceOnUse" id="c-f4d24345-02c5-421e-9596-ff5666188130" x1="16.668" x2="-6.09" y1="536.302" y2="513.544"><stop offset="0" stop-color="#ff3a44"/><stop offset="1" stop-color="#c31162"/></linearGradient><path d="M19 17.2 14.7 13 2.3 25.5c.4.5 1.2.5 2.1 0L19 17.2" fill="url(#c-f4d24345-02c5-421e-9596-ff5666188130)"/><linearGradient gradientTransform="matrix(1 0 0 -1 0 551.597)" gradientUnits="userSpaceOnUse" id="d-50adbd66-4732-4643-a966-68aceb616f78" x1="-.861" x2="9.301" y1="558.422" y2="548.26"><stop offset="0" stop-color="#32a071"/><stop offset=".069" stop-color="#2da771"/><stop offset=".476" stop-color="#15cf74"/><stop offset=".801" stop-color="#06e775"/><stop offset="1" stop-color="#00f076"/></linearGradient><path d="M19 8.8 4.4.5C3.5 0 2.7 0 2.3.5L14.7 13 19 8.8z" fill="url(#d-50adbd66-4732-4643-a966-68aceb616f78)"/></symbol><symbol id="logo-bulma" viewBox="0 0 128 128"><path fill="#00D1B2" d="m59.2 0 40 40-24 24 32 31.9L59.4 128l-40-39.9 7.7-56z"/></symbol><symbol id="logo-ios"><path clip-rule="evenodd" d="M256.23 48.065c114.723 0 207.697 92.967 207.697 208.165 0 114.723-92.975 207.697-207.697 207.697-115.198 0-208.165-92.975-208.165-207.697 0-115.198 92.967-208.165 208.165-208.165zM112.918 363.703l37.184-33.105-27.208-15.873-9.976 48.978zm262.581-61.681-27.216 15.873c-.906 4.984-1.813 9.983 2.266 16.78 4.53 7.718 11.796 3.171 18.139 9.53 6.358 6.343 6.358 12.686 7.718 19.497 14.046-8.171 25.841-28.574 17.232-44.901-5.452-10.419-12.248-14.06-18.139-16.779zM238.99 112.918l106.122 199.541 27.2-15.873-119.714-191.831c-1.82-2.719-6.804-1.813-9.522 0-2.726 1.359-5.898 5.444-4.086 8.163zm-24.489 43.081-88.428 153.288 27.208 15.874 88.428-153.289c3.632-6.351 2.273-13.6-2.719-16.327l-9.069-5.444c-4.991-2.718-11.788-.453-15.42 5.898zm-86.616 116.089 28.567-48.064h-44.44v48.064h15.873zm175.95 0-25.841-48.064h-47.167l-27.208 48.064h100.216zm96.145-48.065h-55.321l29.918 48.064h25.403v-48.064zM0 256.23C0 397.263 114.73 512 256.23 512 397.263 512 512 397.263 512 256.23 512 114.73 397.263 0 256.23 0 114.73 0 0 114.73 0 256.23z" fill="#0CA3D1" fill-rule="evenodd"/></symbol><symbol id="logo-linux" viewBox="0 0 24 24"><path d="M19.681 18.034C19.9 17.565 20 16.909 20 16c0-3.247-1.496-5.12-2.697-6.625C16.575 8.463 16 7.743 16 7l.001-.233c.008-1.38.024-4.253-1.502-5.788C13.853.329 13.012 0 12 0 9.9 0 8.5 1.02 8.5 6c0 1.37-.577 2.493-1.187 3.682-.268.52-.544 1.06-.776 1.63C6.075 12.447 5 15.227 5 16.5a.5.5 0 0 0 .057.232l3.54 6.749a.501.501 0 0 0 .443.264.51.51 0 0 0 .377-.17C9.639 23.329 11.112 23 12 23h3.392a.5.5 0 0 0 .349-.142l4.108-4a.5.5 0 0 0-.168-.824z" fill="#1A1A1A"/><path d="M7.313 9.932C7.923 8.743 8.5 7.62 8.5 6.25c0-4.98 1.4-6 3.5-6 1.012 0 1.853.33 2.499.979 1.334 1.341 1.49 3.705 1.502 5.2.001-1.466-.087-4.026-1.502-5.45C13.853.329 13.012 0 12 0 9.9 0 8.5 1.02 8.5 6c0 1.37-.577 2.493-1.187 3.682-.268.52-.544 1.06-.776 1.63C6.075 12.447 5 15.227 5 16.5c0 .023.013.043.016.065.085-1.336 1.078-3.916 1.52-5.003.233-.57.51-1.11.777-1.63z" fill="#FFF" opacity=".2"/><path d="M19.858 18.401a.487.487 0 0 1 .118.222.493.493 0 0 0-.118-.472c-.03-.03-.068-.047-.103-.068-.025.067-.046.14-.074.2a.5.5 0 0 1 .177.118z" fill="#0099D8"/><path d="M16 7.25c0 .743.575 1.463 1.303 2.375 1.19 1.491 2.665 3.348 2.692 6.54 0-.057.005-.106.005-.165 0-3.247-1.496-5.12-2.697-6.625-.726-.91-1.3-1.628-1.302-2.37v.012L16 7.25z" fill="#FFF" opacity=".2"/><path d="m16 7 .001.005c.001-.171.002-.364 0-.575v.337L16 7z" fill="#0099D8"/><path d="M16.13 16.812c-.013-2.435-.343-5.174-2.267-9.106-.952.644-2.7 1.153-2.91 1.153-.379 0-1.205-.27-1.812-.806-.25.736-.596 1.418-.938 2.086a19.37 19.37 0 0 0-.74 1.55c-.604 1.484-1.294 3.44-1.433 4.478.423.282.717.892 1.043 1.573.338.706.72 1.507 1.213 1.85.901.628 1.369 1.523 1.491 2.336.343.035.776.064 1.267.064 1.22 0 2.874-.248 4.097-.99.069-1.323.301-3.444.988-4.188z" fill="#FFF"/><path d="M19.995 16.164c-.012.82-.11 1.432-.314 1.87.027.01.049.033.074.049.163-.451.245-1.042.245-1.833 0-.03-.005-.056-.005-.086z" fill="#0099D8"/><path d="M9.777 21.926c.343.035.776.064 1.267.064 1.22 0 2.874-.248 4.097-.99v-.25c-1.223.742-2.877.99-4.097.99-.491 0-1-.034-1.342-.068" opacity=".1"/><path d="M15.744 22.608a.5.5 0 0 1-.349.142h-3.392c-.888 0-2.36.328-2.583.576a.51.51 0 0 1-.437.165.501.501 0 0 1-.384-.26L5.06 16.482c-.027-.051-.033-.11-.04-.167-.005.06-.017.13-.017.185a.5.5 0 0 0 .057.232l3.54 6.749a.501.501 0 0 0 .443.264.51.51 0 0 0 .377-.17c.222-.247 1.695-.575 2.583-.575h3.392a.5.5 0 0 0 .349-.142l4.108-4a.494.494 0 0 0 .127-.485.486.486 0 0 1-.127.235l-4.108 4z" opacity=".3"/><path d="M20.926 19.074c-.207-.136-.421-.276-.572-.428-.089-.088-.048-.497-.027-.716.042-.422.085-.858-.2-1.17a.814.814 0 0 0-.627-.26c-.268 0-.463.212-.475.479l.003.021H17a.5.5 0 0 0-.5-.5c-1.483 0-1.5 5.445-1.506 5.564-.028.298-.093.998.355 1.49.27.296.657.446 1.151.446 1.298 0 1.927-.669 2.536-1.315.102-.11.207-.221.318-.331.253-.254.749-.435 1.186-.594.718-.262 1.46-.533 1.46-1.26 0-.721-.595-1.112-1.074-1.426zm-12.64.516c-.493-.343-.875-1.144-1.213-1.85C6.627 16.807 6.241 16 5.5 16c-.936 0-1.14.84-1.25 1.292-.03.125-.076.312-.08.334-.074.046-.354.102-.538.138C3.022 17.885 2 18.087 2 19c0 .266.04.491.083.726.077.416.15.809-.067 1.649A.49.49 0 0 0 2 21.5c0 1.202 1.867 1.358 2.983 1.45.185.016.34.028.439.044.154.024.476.173.787.316.667.308 1.497.69 2.291.69.571 0 1.028-.37 1.223-.987.302-.964-.098-2.491-1.437-3.423z" fill="#FDB515"/><path d="M3.553 18.014c.191-.036.48-.092.557-.138.004-.022.052-.209.083-.334.113-.451.325-1.292 1.293-1.292.767 0 1.166.807 1.628 1.74.349.706.744 1.507 1.254 1.85.508.342.882.764 1.141 1.208a3.608 3.608 0 0 0-1.223-1.458c-.493-.343-.875-1.144-1.213-1.85C6.627 16.807 6.241 16 5.5 16c-.936 0-1.14.84-1.25 1.292-.03.125-.076.312-.08.334-.074.046-.354.102-.538.138-.53.105-1.369.273-1.58.913.33-.437 1.032-.573 1.501-.663z" fill="#FFF" opacity=".2"/><path d="M19.5 15.5a.486.486 0 0 0-.256.08l-3.339-5.463a26.772 26.772 0 0 0-1.46-3.346.5.5 0 0 0-.89.458c2.258 4.387 2.445 7.125 2.446 9.743-.006.105-.042 1.042.497 1.611A1.34 1.34 0 0 0 17.5 19l.176.001.17.001c.509 0 1.059-.039 1.489-.465.46-.456.665-1.239.665-2.537a.5.5 0 0 0-.5-.5z" fill="#1A1A1A"/><path d="M19.335 18.287c-.43.426-.98.465-1.488.465l-.17-.001-.177-.001a1.34 1.34 0 0 1-1.002-.417c-.403-.426-.485-1.058-.497-1.393v.032c-.006.105-.042 1.042.497 1.611A1.34 1.34 0 0 0 17.5 19l.176.001.17.001c.509 0 1.059-.039 1.489-.465.46-.456.665-1.239.665-2.537 0-.016-.008-.03-.01-.045-.022 1.167-.222 1.902-.655 2.332z" opacity=".3"/><path d="M13 3.042c-.58 0-1 .622-1 1.479C12 5.378 12.42 6 13 6s1-.622 1-1.479c0-.857-.42-1.48-1-1.48z" fill="#FFF"/><ellipse cx="13" cy="4.888" rx=".454" ry=".888"/><path d="M10 3.042c-.58 0-1 .622-1 1.479C9 5.378 9.42 6 10 6s1-.622 1-1.479c0-.857-.42-1.48-1-1.48z" fill="#FFF"/><linearGradient gradientUnits="userSpaceOnUse" id="a-099bef42-d8a9-421a-b2da-087dc573d13b" x1="10.383" x2="17.165" y1="6.81" y2="13.591"><stop offset="0" stop-opacity=".1"/><stop offset="1" stop-opacity="0"/></linearGradient><path d="M13.802 7.742c-.963.626-2.643 1.117-2.85 1.117-.378 0-1.204-.27-1.811-.806l6.781 6.781c-.16-1.936-.669-4.138-2.12-7.092z" fill="url(#a-099bef42-d8a9-421a-b2da-087dc573d13b)"/><ellipse cx="10" cy="4.871" rx=".445" ry=".871"/><path d="M11.598 5.01A.51.51 0 0 0 11.5 5c-1.075 0-3 1.008-3 2 0 .937 1.891 2 2.5 2 .295 0 3.5-1.113 3.5-2 0-1.308-2.221-1.854-2.902-1.99z" fill="#FDB515"/><path d="M11.598 5.01A.51.51 0 0 0 11.5 5c-1.075 0-3 1.008-3 2 0 .937 1.891 2 2.5 2 .295 0 3.5-1.113 3.5-2 0-1.308-2.221-1.854-2.902-1.99z" fill="#FDB515"/><path d="M20.54 21.51c-.437.16-.933.34-1.186.594-.11.11-.216.221-.318.33-.609.647-1.238 1.316-2.536 1.316-.494 0-.881-.15-1.151-.447-.294-.321-.36-.724-.367-1.054-.022.346-.01.892.367 1.304.27.297.657.447 1.151.447 1.298 0 1.927-.669 2.536-1.315.102-.11.207-.221.318-.331.253-.254.749-.435 1.186-.594.718-.262 1.46-.533 1.46-1.26 0-.036-.017-.062-.02-.097-.1.61-.777.864-1.44 1.107zM9.723 22.763c-.195.618-.652.987-1.223.987-.794 0-1.624-.382-2.29-.69-.312-.143-.634-.292-.788-.316-.1-.016-.254-.028-.44-.043-1.08-.09-2.85-.248-2.961-1.35l-.005.024A.49.49 0 0 0 2 21.5c0 1.202 1.867 1.358 2.983 1.45.185.016.34.028.439.044.154.024.476.173.787.316.667.308 1.497.69 2.291.69.571 0 1.028-.37 1.223-.987a2.32 2.32 0 0 0 .085-.852 2.21 2.21 0 0 1-.085.602zM10.99 8.75c-.561 0-2.172-.881-2.489-1.756L8.5 7c0 .937 1.891 2 2.5 2 .295 0 3.5-1.113 3.5-2 0-.02-.01-.035-.011-.054-.475.855-3.224 1.804-3.5 1.804z" opacity=".1"/><linearGradient gradientUnits="userSpaceOnUse" id="b-299f5876-d313-4d1d-ac61-e55750ca5f7f" x1="17.862" x2="21.759" y1="17.22" y2="21.117"><stop offset="0" stop-opacity=".1"/><stop offset="1" stop-opacity="0"/></linearGradient><path d="M20.926 19.074c-.207-.136-.421-.276-.572-.428-.089-.088-.048-.497-.027-.716.042-.422.085-.858-.2-1.17a.644.644 0 0 0-.156-.114c-.063.91-.26 1.518-.636 1.89-.43.427-.98.466-1.488.466l-.17-.001L17.5 19a1.34 1.34 0 0 1-1.002-.417l3.42 3.421c.2-.09.417-.17.622-.244.718-.262 1.46-.533 1.46-1.26 0-.721-.595-1.112-1.074-1.426z" fill="url(#b-299f5876-d313-4d1d-ac61-e55750ca5f7f)"/><linearGradient gradientUnits="userSpaceOnUse" id="c-2017cff7-c2cd-405b-a78f-0130f7b51504" x1="5.245" x2="23.086" y1="10.06" y2="18.379"><stop offset="0" stop-color="#fff" stop-opacity=".2"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><path d="M20.926 19.074c-.207-.136-.421-.276-.572-.428-.089-.088-.048-.497-.027-.716.042-.422.085-.858-.2-1.17-.033-.038-.094-.075-.147-.112.013-.2.02-.415.02-.648 0-3.247-1.496-5.12-2.697-6.625C16.575 8.463 16 7.743 16 7l.001-.233c.008-1.38.024-4.253-1.502-5.788C13.853.329 13.012 0 12 0 9.9 0 8.5 1.02 8.5 6c0 1.37-.577 2.493-1.187 3.682-.268.52-.544 1.06-.776 1.63-.42 1.03-1.333 3.399-1.502 4.783-.54.228-.697.835-.785 1.197-.03.125-.076.312-.08.334-.074.046-.354.102-.538.138C3.022 17.885 2 18.087 2 19c0 .266.04.491.083.726.077.416.15.809-.067 1.649A.49.49 0 0 0 2 21.5c0 1.202 1.867 1.358 2.983 1.45.185.016.34.028.439.044.154.024.476.173.787.316.667.308 1.497.69 2.291.69.342 0 .634-.145.862-.384.017-.015.04-.023.055-.04C9.639 23.328 11.112 23 12 23h3.06c.056.193.135.385.289.553.27.297.657.447 1.151.447 1.298 0 1.927-.669 2.536-1.315.102-.11.207-.221.318-.331.253-.254.749-.435 1.186-.594.718-.262 1.46-.533 1.46-1.26 0-.721-.595-1.112-1.074-1.426z" fill="url(#c-2017cff7-c2cd-405b-a78f-0130f7b51504)"/></symbol><symbol id="logo-mac"><g clip-rule="evenodd" fill="#CCC" fill-rule="evenodd"><path d="M28.955 22.814v-.218c-2.624-1.399-4.048-3.453-4.048-6.426 0-2.404 1.068-4.503 3.025-5.857l.089-.044c-1.29-1.573-3.025-3.146-5.694-3.146-1.868 0-3.425 1.792-6.005 1.792-2.046 0-2.892-1.705-5.116-1.705-4.626 0-9.208 4.065-9.208 9.354 0 2.798.934 7.126 3.025 10.885 1.513 2.754 3.381 4.546 5.472 4.546 1.512 0 3.291-1.355 5.427-1.355 1.868 0 3.604 1.225 5.293 1.225 4.049 0 7.785-5.158 7.785-8.61 0-.178-.045-.309-.045-.441z"/><path d="M16.229 8.349c3.025-.918 5.828-3.148 5.828-7.038 0-.306-.044-.699-.089-1.136L21.924 0c-3.069.829-5.827 3.19-5.827 6.906 0 .35.045.787.133 1.268v.175z"/></g></symbol><symbol id="logo-module" viewBox="0 0 512 512"><path d="M354.67 450h-107A15 15 0 0 1 236 425.68a33.18 33.18 0 0 0 7.22-20.81 33.59 33.59 0 0 0-67.17 0 33.18 33.18 0 0 0 7.22 20.81A15 15 0 0 1 171.48 450h-107a15 15 0 0 1-15-15V297.06a15 15 0 0 1 24-12 33.59 33.59 0 1 0 0-53.7 15 15 0 0 1-24-12v-74.5a15 15 0 0 1 15-15h84.16a63.59 63.59 0 1 1 121.83 0h84.16a15 15 0 0 1 15 15v52.19a63.59 63.59 0 1 1 0 122.36V435a15 15 0 0 1-14.96 15Zm-83.32-30h68.32V294.48a15 15 0 0 1 25-11.18 33.59 33.59 0 1 0 0-50.14 15 15 0 0 1-25-11.18v-62.12H245a15 15 0 0 1-10.93-25.27 33.59 33.59 0 1 0-48.91 0 15 15 0 0 1-10.93 25.27H79.52v36.36a64.45 64.45 0 0 1 14.2-1.58 63.59 63.59 0 1 1-14.2 125.59V420h68.32a63.59 63.59 0 1 1 123.51 0Z" data-name="1"/></symbol><symbol id="logo-postgresql" viewBox="0 0 128 128"><path d="M93.809 92.112c.785-6.533.55-7.492 5.416-6.433l1.235.108c3.742.17 8.637-.602 11.513-1.938 6.191-2.873 9.861-7.668 3.758-6.409-13.924 2.873-14.881-1.842-14.881-1.842 14.703-21.815 20.849-49.508 15.543-56.287-14.47-18.489-39.517-9.746-39.936-9.52l-.134.025c-2.751-.571-5.83-.912-9.289-.968-6.301-.104-11.082 1.652-14.709 4.402 0 0-44.683-18.409-42.604 23.151.442 8.841 12.672 66.898 27.26 49.362 5.332-6.412 10.484-11.834 10.484-11.834 2.558 1.699 5.622 2.567 8.834 2.255l.249-.212c-.078.796-.044 1.575.099 2.497-3.757 4.199-2.653 4.936-10.166 6.482-7.602 1.566-3.136 4.355-.221 5.084 3.535.884 11.712 2.136 17.238-5.598l-.22.882c1.474 1.18 1.375 8.477 1.583 13.69.209 5.214.558 10.079 1.621 12.948 1.063 2.868 2.317 10.256 12.191 8.14 8.252-1.764 14.561-4.309 15.136-27.985"/><path d="M75.458 125.256c-4.367 0-7.211-1.689-8.938-3.32-2.607-2.46-3.641-5.629-4.259-7.522l-.267-.79c-1.244-3.358-1.666-8.193-1.916-14.419-.038-.935-.064-1.898-.093-2.919-.021-.747-.047-1.684-.085-2.664a18.8 18.8 0 0 1-4.962 1.568c-3.079.526-6.389.356-9.84-.507-2.435-.609-4.965-1.871-6.407-3.82-4.203 3.681-8.212 3.182-10.396 2.453-3.853-1.285-7.301-4.896-10.542-11.037-2.309-4.375-4.542-10.075-6.638-16.943-3.65-11.96-5.969-24.557-6.175-28.693C4.292 23.698 7.777 14.44 15.296 9.129 27.157.751 45.128 5.678 51.68 7.915c4.402-2.653 9.581-3.944 15.433-3.851 3.143.051 6.136.327 8.916.823 2.9-.912 8.628-2.221 15.185-2.139 12.081.144 22.092 4.852 28.949 13.615 4.894 6.252 2.474 19.381.597 26.651-2.642 10.226-7.271 21.102-12.957 30.57 1.544.011 3.781-.174 6.961-.831 6.274-1.295 8.109 2.069 8.607 3.575 1.995 6.042-6.677 10.608-9.382 11.864-3.466 1.609-9.117 2.589-13.745 2.377l-.202-.013-1.216-.107-.12 1.014-.116.991c-.311 11.999-2.025 19.598-5.552 24.619-3.697 5.264-8.835 6.739-13.361 7.709-1.544.33-2.947.474-4.219.474zm-9.19-43.671c2.819 2.256 3.066 6.501 3.287 14.434.028.99.054 1.927.089 2.802.106 2.65.355 8.855 1.327 11.477.137.371.26.747.39 1.146 1.083 3.316 1.626 4.979 6.309 3.978 3.931-.843 5.952-1.599 7.534-3.851 2.299-3.274 3.585-9.86 3.821-19.575l4.783.116-4.75-.57.14-1.186c.455-3.91.783-6.734 3.396-8.602 2.097-1.498 4.486-1.353 6.389-1.01-2.091-1.58-2.669-3.433-2.823-4.193l-.399-1.965 1.121-1.663c6.457-9.58 11.781-21.354 14.609-32.304 2.906-11.251 2.02-17.226 1.134-18.356-11.729-14.987-32.068-8.799-34.192-8.097l-.359.194-1.8.335-.922-.191c-2.542-.528-5.366-.82-8.393-.869-4.756-.08-8.593 1.044-11.739 3.431l-2.183 1.655-2.533-1.043c-5.412-2.213-21.308-6.662-29.696-.721-4.656 3.298-6.777 9.76-6.305 19.207.156 3.119 2.275 14.926 5.771 26.377 4.831 15.825 9.221 21.082 11.054 21.693.32.108 1.15-.537 1.976-1.529a270.708 270.708 0 0 1 10.694-12.07l2.77-2.915 3.349 2.225c1.35.897 2.839 1.406 4.368 1.502l7.987-6.812-1.157 11.808c-.026.265-.039.626.065 1.296l.348 2.238-1.51 1.688-.174.196 4.388 2.025 1.836-2.301z"/><path fill="#336791" d="M115.731 77.44c-13.925 2.873-14.882-1.842-14.882-1.842 14.703-21.816 20.849-49.51 15.545-56.287C101.924.823 76.875 9.566 76.457 9.793l-.135.024c-2.751-.571-5.83-.911-9.291-.967-6.301-.103-11.08 1.652-14.707 4.402 0 0-44.684-18.408-42.606 23.151.442 8.842 12.672 66.899 27.26 49.363 5.332-6.412 10.483-11.834 10.483-11.834 2.559 1.699 5.622 2.567 8.833 2.255l.25-.212c-.078.796-.042 1.575.1 2.497-3.758 4.199-2.654 4.936-10.167 6.482-7.602 1.566-3.136 4.355-.22 5.084 3.534.884 11.712 2.136 17.237-5.598l-.221.882c1.473 1.18 2.507 7.672 2.334 13.557-.174 5.885-.29 9.926.871 13.082 1.16 3.156 2.316 10.256 12.192 8.14 8.252-1.768 12.528-6.351 13.124-13.995.422-5.435 1.377-4.631 1.438-9.49l.767-2.3c.884-7.367.14-9.743 5.225-8.638l1.235.108c3.742.17 8.639-.602 11.514-1.938 6.19-2.871 9.861-7.667 3.758-6.408z"/><path fill="#fff" d="M75.957 122.307c-8.232 0-10.84-6.519-11.907-9.185-1.562-3.907-1.899-19.069-1.551-31.503a1.59 1.59 0 0 1 1.64-1.55 1.594 1.594 0 0 1 1.55 1.639c-.401 14.341.168 27.337 1.324 30.229 1.804 4.509 4.54 8.453 12.275 6.796 7.343-1.575 10.093-4.359 11.318-11.46.94-5.449 2.799-20.951 3.028-24.01a1.593 1.593 0 0 1 1.71-1.472 1.597 1.597 0 0 1 1.472 1.71c-.239 3.185-2.089 18.657-3.065 24.315-1.446 8.387-5.185 12.191-13.794 14.037-1.463.313-2.792.453-4 .454zM31.321 90.466a6.71 6.71 0 0 1-2.116-.35c-5.347-1.784-10.44-10.492-15.138-25.885-3.576-11.717-5.842-23.947-6.041-27.922-.589-11.784 2.445-20.121 9.02-24.778 13.007-9.216 34.888-.44 35.813-.062a1.596 1.596 0 0 1-1.207 2.955c-.211-.086-21.193-8.492-32.768-.285-5.622 3.986-8.203 11.392-7.672 22.011.167 3.349 2.284 15.285 5.906 27.149 4.194 13.742 8.967 22.413 13.096 23.79.648.216 2.62.873 5.439-2.517A245.272 245.272 0 0 1 45.88 73.046a1.596 1.596 0 0 1 2.304 2.208c-.048.05-4.847 5.067-10.077 11.359-2.477 2.979-4.851 3.853-6.786 3.853zm69.429-13.445a1.596 1.596 0 0 1-1.322-2.487c14.863-22.055 20.08-48.704 15.612-54.414-5.624-7.186-13.565-10.939-23.604-11.156-7.433-.16-13.341 1.738-14.307 2.069l-.243.099c-.971.305-1.716-.227-1.997-.849a1.6 1.6 0 0 1 .631-2.025c.046-.027.192-.089.429-.176l-.021.006.021-.007c1.641-.601 7.639-2.4 15.068-2.315 11.108.118 20.284 4.401 26.534 12.388 2.957 3.779 2.964 12.485.019 23.887-3.002 11.625-8.651 24.118-15.497 34.277-.306.457-.81.703-1.323.703zm.76 10.21c-2.538 0-4.813-.358-6.175-1.174-1.4-.839-1.667-1.979-1.702-2.584-.382-6.71 3.32-7.878 5.208-8.411-.263-.398-.637-.866-1.024-1.349-1.101-1.376-2.609-3.26-3.771-6.078-.182-.44-.752-1.463-1.412-2.648-3.579-6.418-11.026-19.773-6.242-26.612 2.214-3.165 6.623-4.411 13.119-3.716C97.6 28.837 88.5 10.625 66.907 10.271c-6.494-.108-11.82 1.889-15.822 5.93-8.96 9.049-8.636 25.422-8.631 25.586a1.595 1.595 0 1 1-3.19.084c-.02-.727-.354-17.909 9.554-27.916C53.455 9.272 59.559 6.96 66.96 7.081c13.814.227 22.706 7.25 27.732 13.101 5.479 6.377 8.165 13.411 8.386 15.759.165 1.746-1.088 2.095-1.341 2.147l-.576.013c-6.375-1.021-10.465-.312-12.156 2.104-3.639 5.201 3.406 17.834 6.414 23.229.768 1.376 1.322 2.371 1.576 2.985.988 2.396 2.277 4.006 3.312 5.3.911 1.138 1.7 2.125 1.982 3.283.131.23 1.99 2.98 13.021.703 2.765-.57 4.423-.083 4.93 1.45.997 3.015-4.597 6.532-7.694 7.97-2.775 1.29-7.204 2.106-11.036 2.106zm-4.696-4.021c.35.353 2.101.962 5.727.806 3.224-.138 6.624-.839 8.664-1.786 2.609-1.212 4.351-2.567 5.253-3.492l-.5.092c-7.053 1.456-12.042 1.262-14.828-.577a6.162 6.162 0 0 1-.54-.401c-.302.119-.581.197-.78.253-1.58.443-3.214.902-2.996 5.105zm-45.562 8.915c-1.752 0-3.596-.239-5.479-.71-1.951-.488-5.24-1.957-5.19-4.37.057-2.707 3.994-3.519 5.476-3.824 5.354-1.103 5.703-1.545 7.376-3.67.488-.619 1.095-1.39 1.923-2.314 1.229-1.376 2.572-2.073 3.992-2.073.989 0 1.8.335 2.336.558 1.708.708 3.133 2.42 3.719 4.467.529 1.847.276 3.625-.71 5.006-3.237 4.533-7.886 6.93-13.443 6.93zm-7.222-4.943c.481.372 1.445.869 2.518 1.137 1.631.408 3.213.615 4.705.615 4.546 0 8.196-1.882 10.847-5.594.553-.774.387-1.757.239-2.274-.31-1.083-1.08-2.068-1.873-2.397-.43-.178-.787-.314-1.115-.314-.176 0-.712 0-1.614 1.009a41.146 41.146 0 0 0-1.794 2.162c-2.084 2.646-3.039 3.544-9.239 4.821-1.513.31-2.289.626-2.674.835zm12.269-7.36a1.596 1.596 0 0 1-1.575-1.354 8.218 8.218 0 0 1-.08-.799c-4.064-.076-7.985-1.82-10.962-4.926-3.764-3.927-5.477-9.368-4.699-14.927.845-6.037.529-11.366.359-14.229-.047-.796-.081-1.371-.079-1.769.003-.505.013-1.844 4.489-4.113 1.592-.807 4.784-2.215 8.271-2.576 5.777-.597 9.585 1.976 10.725 7.246 3.077 14.228.244 20.521-1.825 25.117-.385.856-.749 1.664-1.04 2.447l-.257.69c-1.093 2.931-2.038 5.463-1.748 7.354a1.595 1.595 0 0 1-1.335 1.819l-.244.02zM42.464 42.26l.062 1.139c.176 2.974.504 8.508-.384 14.86-.641 4.585.759 9.06 3.843 12.276 2.437 2.542 5.644 3.945 8.94 3.945h.068c.369-1.555.982-3.197 1.642-4.966l.255-.686c.329-.884.714-1.74 1.122-2.646 1.991-4.424 4.47-9.931 1.615-23.132-.565-2.615-1.936-4.128-4.189-4.627-4.628-1.022-11.525 2.459-12.974 3.837zm9.63-.677c-.08.564 1.033 2.07 2.485 2.271 1.449.203 2.689-.975 2.768-1.539.079-.564-1.033-1.186-2.485-1.388-1.451-.202-2.691.092-2.768.656zm2.818 2.826-.407-.028c-.9-.125-1.81-.692-2.433-1.518-.219-.29-.576-.852-.505-1.354.101-.736.999-1.177 2.4-1.177.313 0 .639.023.967.069.766.106 1.477.327 2.002.62.91.508.977 1.075.936 1.368-.112.813-1.405 2.02-2.96 2.02zm-2.289-2.732c.045.348.907 1.496 2.029 1.651l.261.018c1.036 0 1.81-.815 1.901-1.082-.096-.182-.762-.634-2.025-.81a5.823 5.823 0 0 0-.821-.059c-.812 0-1.243.183-1.345.282zm43.605-1.245c.079.564-1.033 2.07-2.484 2.272-1.45.202-2.691-.975-2.771-1.539-.076-.564 1.036-1.187 2.486-1.388 1.45-.203 2.689.092 2.769.655zm-2.819 2.56c-1.396 0-2.601-1.086-2.7-1.791-.115-.846 1.278-1.489 2.712-1.688.316-.044.629-.066.93-.066 1.238 0 2.058.363 2.14.949.053.379-.238.964-.739 1.492-.331.347-1.026.948-1.973 1.079l-.37.025zm.943-3.013c-.276 0-.564.021-.856.061-1.441.201-2.301.779-2.259 1.089.048.341.968 1.332 2.173 1.332l.297-.021c.787-.109 1.378-.623 1.66-.919.443-.465.619-.903.598-1.052-.028-.198-.56-.49-1.613-.49zm3.965 32.843a1.594 1.594 0 0 1-1.324-2.483c3.398-5.075 2.776-10.25 2.175-15.255-.257-2.132-.521-4.337-.453-6.453.07-2.177.347-3.973.614-5.71.317-2.058.617-4.002.493-6.31a1.595 1.595 0 1 1 3.186-.172c.142 2.638-.197 4.838-.525 6.967-.253 1.643-.515 3.342-.578 5.327-.061 1.874.178 3.864.431 5.97.64 5.322 1.365 11.354-2.691 17.411a1.596 1.596 0 0 1-1.328.708z"/></symbol><symbol id="logo-rails"><path fill="#c00" d="M122.1 30.8h-5.3v-2.7h10.5v-5.9h-10c-2.6 0-6.1 2.1-6.1 6.1v2c0 4 3.4 6 6.1 6h5v2.8l-10.8.1v5.9h10.6c2.2 0 5.9-1.6 6-6v-2.3c0-3.8-3.1-6-6-6zm-61.6-.9c0-7.3-6.9-8-6.9-8H41.3V45h6.2v-5.5l5.4 5.6h9.2l-7.3-7.4s5.7-.5 5.7-7.8zM52.4 33h-5v-5.3h5s1.4.5 1.4 2.6c0 2.2-1.4 2.7-1.4 2.7zm23.4-10.9h-6.3c-4.5 0-6 4.1-6 6V45h6.3v-4h5.9v4h6.1V28.1c0-4.9-4.4-6-6-6zm-.1 12.3h-6v-5.6s0-1.3 2-1.3h2.2c1.7 0 1.8 1.3 1.8 1.3zm9-12.3h6.6V45h-6.6zm15.8 0H94V45h15.3v-5.9h-8.8z"/><path fill="#c00" d="M72.3 19.2c.6-.5 1.1-.9 1.1-.9S56.6 1.5 37.8 3.4c-9.4.8-21 9.4-27.8 20.7C3.2 35.4 2.3 45 2.3 45h25.6S23 22.7 39.2 13.7C42.7 12 54 5.6 72.3 19.2ZM55.6 3c-.3-.2-1.1-.6-3.1-1.1L52.4 4c1.1.4 2.1.8 3.1 1.2z"/><path fill="#c00" d="m55.6 14.4.1-2c-1.1-.2-2.2-.3-3.2-.4l-.1 2c1.1 0 2.1.2 3.2.4zM40.5 2h.3l-.6-2c-1 0-2 .1-3.1.2l.6 1.9c.9-.1 1.8-.1 2.8-.1Zm2.2 14.1c.9-.5 1.9-.8 2.8-1.1l-.7-2.1c-1 .2-2 .6-2.8 1zM27.3 5.4l-1.5-2.2c-.7.3-1.6.8-2.4 1.3l1.5 2.3c.8-.5 1.6-1 2.4-1.4zM34 19.9l1.6 2.3c.6-.8 1.2-1.6 1.9-2.3L36 17.7c-.8.7-1.4 1.5-2 2.2zm-3.7 6.9c-.5 1.2-.8 2.4-1 3.5l2.6 2.1c.1-1.3.4-2.5.7-3.8zM15.1 15l-2.3-2c-.8.8-1.7 1.6-2.4 2.4l2.5 2.1c.7-.9 1.4-1.7 2.2-2.5zM5.3 29.4 1.6 28C1 29.4.3 31 0 31.9l3.7 1.4c.4-1.1 1.1-2.7 1.6-3.9zm23.5 9.1c.1 1.7.2 3.1.4 4.1l3.9 1.4c-.3-1.3-.6-2.7-.8-4.2z"/></symbol><symbol id="logo-ruby" viewBox="0 0 128 128"><linearGradient id="a-bf0f97c1-ba6d-41a2-ad68-c6a39237a89a" gradientUnits="userSpaceOnUse" x1="157.08" y1="2382.05" x2="131.682" y2="2426.892" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#FB7655"/><stop offset="0" stop-color="#FB7655"/><stop offset=".41" stop-color="#E42B1E"/><stop offset=".99" stop-color="#900"/><stop offset="1" stop-color="#900"/></linearGradient><path fill="url(#a-bf0f97c1-ba6d-41a2-ad68-c6a39237a89a)" d="M97.078 83.214 28.34 124.031l89.003-6.04 6.855-89.745z"/><linearGradient id="b-b738ee7a-3f35-4a81-bddd-db55db2176d8" gradientUnits="userSpaceOnUse" x1="169.731" y1="2419.72" x2="136.998" y2="2441.685" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#871101"/><stop offset="0" stop-color="#871101"/><stop offset=".99" stop-color="#911209"/><stop offset="1" stop-color="#911209"/></linearGradient><path fill="url(#b-b738ee7a-3f35-4a81-bddd-db55db2176d8)" d="m117.488 117.93-7.649-52.799-20.837 27.514z"/><linearGradient id="c-872ecca0-4089-4357-837b-d6bdebd6837d" gradientUnits="userSpaceOnUse" x1="143.542" y1="2380.69" x2="110.81" y2="2402.655" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#871101"/><stop offset="0" stop-color="#871101"/><stop offset=".99" stop-color="#911209"/><stop offset="1" stop-color="#911209"/></linearGradient><path fill="url(#c-872ecca0-4089-4357-837b-d6bdebd6837d)" d="m117.592 117.93-56.044-4.399-32.91 10.385z"/><linearGradient id="d-92991640-36af-4030-9ebc-9cae6d52a905" gradientUnits="userSpaceOnUse" x1="74.817" y1="2435.622" x2="79.891" y2="2402.644" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#fff"/><stop offset="0" stop-color="#fff"/><stop offset=".23" stop-color="#E57252"/><stop offset=".46" stop-color="#DE3B20"/><stop offset=".99" stop-color="#A60003"/><stop offset="1" stop-color="#A60003"/></linearGradient><path fill="url(#d-92991640-36af-4030-9ebc-9cae6d52a905)" d="m28.717 123.928 14.001-45.867-30.81 6.588z"/><linearGradient id="e-30fc61a0-cf8c-4815-9fdf-baf97a28bca9" gradientUnits="userSpaceOnUse" x1="109.719" y1="2466.413" x2="111.589" y2="2432.757" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#fff"/><stop offset="0" stop-color="#fff"/><stop offset=".23" stop-color="#E4714E"/><stop offset=".56" stop-color="#BE1A0D"/><stop offset=".99" stop-color="#A80D00"/><stop offset="1" stop-color="#A80D00"/></linearGradient><path fill="url(#e-30fc61a0-cf8c-4815-9fdf-baf97a28bca9)" d="m88.996 92.797-12.882-50.46-36.866 34.558z"/><linearGradient id="f-e31d583d-cc0a-476b-852b-6899478b8fc9" gradientUnits="userSpaceOnUse" x1="140.691" y1="2497.523" x2="146.289" y2="2473.401" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#fff"/><stop offset="0" stop-color="#fff"/><stop offset=".18" stop-color="#E46342"/><stop offset=".4" stop-color="#C82410"/><stop offset=".99" stop-color="#A80D00"/><stop offset="1" stop-color="#A80D00"/></linearGradient><path fill="url(#f-e31d583d-cc0a-476b-852b-6899478b8fc9)" d="M121.275 43.047 86.426 14.585l-9.704 31.373z"/><linearGradient id="g-7b412965-b6bb-4bdb-8100-457008e02ccf" gradientUnits="userSpaceOnUse" x1="123.6" y1="2506.018" x2="147.719" y2="2518.077" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#fff"/><stop offset="0" stop-color="#fff"/><stop offset=".54" stop-color="#C81F11"/><stop offset=".99" stop-color="#BF0905"/><stop offset="1" stop-color="#BF0905"/></linearGradient><path fill="url(#g-7b412965-b6bb-4bdb-8100-457008e02ccf)" d="M104.978 4.437 84.481 15.764 71.551 4.285z"/><linearGradient id="h-5331faa9-e961-45c9-96de-3efa12b072bc" gradientUnits="userSpaceOnUse" x1="53.674" y1="2444.028" x2="55.66" y2="2424.153" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#fff"/><stop offset="0" stop-color="#fff"/><stop offset=".31" stop-color="#DE4024"/><stop offset=".99" stop-color="#BF190B"/><stop offset="1" stop-color="#BF190B"/></linearGradient><path fill="url(#h-5331faa9-e961-45c9-96de-3efa12b072bc)" d="m3.802 100.034 8.586-15.659L5.442 65.72z"/><path fill="#fff" d="m4.981 65.131 6.987 19.821 30.365-6.812L77 45.922l9.783-31.075L71.38 3.969l-26.19 9.802c-8.252 7.675-24.263 22.86-24.84 23.146-.573.291-10.575 19.195-15.369 28.214z"/><linearGradient id="i-54d14624-aee5-41d7-b6a0-2e50c094b1e6" gradientUnits="userSpaceOnUse" x1="40.026" y1="2418.781" x2="133.345" y2="2514.739" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#BD0012"/><stop offset="0" stop-color="#BD0012"/><stop offset=".07" stop-color="#fff"/><stop offset=".17" stop-color="#fff"/><stop offset=".27" stop-color="#C82F1C"/><stop offset=".33" stop-color="#820C01"/><stop offset=".46" stop-color="#A31601"/><stop offset=".72" stop-color="#B31301"/><stop offset=".99" stop-color="#E82609"/><stop offset="1" stop-color="#E82609"/></linearGradient><path fill="url(#i-54d14624-aee5-41d7-b6a0-2e50c094b1e6)" d="M29.519 29.521c17.882-17.73 40.937-28.207 49.785-19.28 8.843 8.926-.534 30.62-18.418 48.345-17.884 17.725-40.653 28.779-49.493 19.852-8.849-8.92.242-31.191 18.126-48.917z"/><linearGradient id="j-60f5d34d-3aa3-4061-8323-fb5d11bade16" gradientUnits="userSpaceOnUse" x1="111.507" y1="2409.102" x2="83.398" y2="2416.039" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#8C0C01"/><stop offset="0" stop-color="#8C0C01"/><stop offset=".54" stop-color="#990C00"/><stop offset=".99" stop-color="#A80D0E"/><stop offset="1" stop-color="#A80D0E"/></linearGradient><path fill="url(#j-60f5d34d-3aa3-4061-8323-fb5d11bade16)" d="m28.717 123.909 13.89-46.012 46.135 14.82c-16.68 15.642-35.233 28.865-60.025 31.192z"/><linearGradient id="k-f6ad5ec3-0fd4-46f0-9eb5-b7166c9db4a4" gradientUnits="userSpaceOnUse" x1="159.785" y1="2442.837" x2="134.814" y2="2465.217" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#7E110B"/><stop offset="0" stop-color="#7E110B"/><stop offset=".99" stop-color="#9E0C00"/><stop offset="1" stop-color="#9E0C00"/></linearGradient><path fill="url(#k-f6ad5ec3-0fd4-46f0-9eb5-b7166c9db4a4)" d="m77.062 45.831 11.844 46.911c13.934-14.65 26.439-30.401 32.563-49.883l-44.407 2.972z"/><linearGradient id="l-54ddf084-6ed3-440e-9320-cb26caeb9c9b" gradientUnits="userSpaceOnUse" x1="168.959" y1="2483.901" x2="156.521" y2="2497.199" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#79130D"/><stop offset="0" stop-color="#79130D"/><stop offset=".99" stop-color="#9E120B"/><stop offset="1" stop-color="#9E120B"/></linearGradient><path fill="url(#l-54ddf084-6ed3-440e-9320-cb26caeb9c9b)" d="M121.348 43.097c4.74-14.305 5.833-34.825-16.517-38.635l-18.339 10.13 34.856 28.505z"/><path fill="#9E1209" d="M3.802 99.828c.656 23.608 17.689 23.959 24.945 24.167l-16.759-39.14-8.186 14.973z"/><radialGradient id="m-dfb97bd5-3902-45e0-ae28-c5ae776bf978" cx="138.703" cy="2464.789" r="30.601" gradientTransform="matrix(1 0 0 -1 -47.5 2517)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#A80D00"/><stop offset="0" stop-color="#A80D00"/><stop offset=".99" stop-color="#7E0E08"/><stop offset="1" stop-color="#7E0E08"/></radialGradient><path fill="url(#m-dfb97bd5-3902-45e0-ae28-c5ae776bf978)" d="M77.128 45.904c10.708 6.581 32.286 19.798 32.723 20.041.68.383 9.304-14.542 11.261-22.976l-43.984 2.935z"/><radialGradient id="n-392bf985-eaed-45c6-8deb-24f07c107841" cx="96.325" cy="2424.465" r="40.679" gradientTransform="matrix(1 0 0 -1 -47.5 2517)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#A30C00"/><stop offset="0" stop-color="#A30C00"/><stop offset=".99" stop-color="#800E08"/><stop offset="1" stop-color="#800E08"/></radialGradient><path fill="url(#n-392bf985-eaed-45c6-8deb-24f07c107841)" d="m42.589 77.897 18.57 35.828c10.98-5.955 19.579-13.211 27.454-20.983L42.589 77.897z"/><linearGradient id="o-aadc225a-f5ca-447c-baed-2025bb746761" gradientUnits="userSpaceOnUse" x1="67.509" y1="2393.115" x2="57.373" y2="2427.506" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#8B2114"/><stop offset="0" stop-color="#8B2114"/><stop offset=".43" stop-color="#9E100A"/><stop offset=".99" stop-color="#B3100C"/><stop offset="1" stop-color="#B3100C"/></linearGradient><path fill="url(#o-aadc225a-f5ca-447c-baed-2025bb746761)" d="m11.914 84.904-2.631 31.331c4.964 6.781 11.794 7.371 18.96 6.842-5.184-12.9-15.538-38.696-16.329-38.173z"/><linearGradient id="p-43a2e280-dec2-418a-a96e-a8b903de0142" gradientUnits="userSpaceOnUse" x1="145.272" y1="2507.076" x2="167.996" y2="2497.045" gradientTransform="matrix(1 0 0 -1 -47.5 2517)"><stop offset="0" stop-color="#B31000"/><stop offset="0" stop-color="#B31000"/><stop offset=".44" stop-color="#910F08"/><stop offset=".99" stop-color="#791C12"/><stop offset="1" stop-color="#791C12"/></linearGradient><path fill="url(#p-43a2e280-dec2-418a-a96e-a8b903de0142)" d="m86.384 14.67 36.891 5.177c-1.969-8.343-8.015-13.727-18.32-15.41L86.384 14.67z"/></symbol><symbol id="logo-sass" viewBox="0 0 128 128"><path fill-rule="evenodd" clip-rule="evenodd" fill="#CB6699" d="M1.219 56.156c0 .703.207 1.167.323 1.618.756 2.933 2.381 5.45 4.309 7.746 2.746 3.272 6.109 5.906 9.554 8.383 2.988 2.148 6.037 4.248 9.037 6.38.515.366 1.002.787 1.561 1.236-.481.26-.881.489-1.297.7-3.959 2.008-7.768 4.259-11.279 6.986-2.116 1.644-4.162 3.391-5.607 5.674-2.325 3.672-3.148 7.584-1.415 11.761.506 1.22 1.278 2.274 2.367 3.053.353.252.749.502 1.162.6 1.058.249 2.136.412 3.207.609l3.033-.002c3.354-.299 6.407-1.448 9.166-3.352 4.312-2.976 7.217-6.966 8.466-12.087.908-3.722.945-7.448-.125-11.153a11.696 11.696 0 0 0-.354-1.014c-.13-.333-.283-.657-.463-1.072l6.876-3.954.103.088c-.125.409-.258.817-.371 1.23-.817 2.984-1.36 6.02-1.165 9.117.208 3.3 1.129 6.389 3.061 9.146 1.562 2.23 5.284 2.313 6.944.075.589-.795 1.16-1.626 1.589-2.513 1.121-2.315 2.159-4.671 3.23-7.011l.187-.428c-.077 1.108-.167 2.081-.208 3.055-.064 1.521.025 3.033.545 4.48.445 1.238 1.202 2.163 2.62 2.326.97.111 1.743-.333 2.456-.896a10.384 10.384 0 0 0 2.691-3.199c1.901-3.491 3.853-6.961 5.576-10.54 1.864-3.871 3.494-7.855 5.225-11.792l.286-.698c.409 1.607.694 3.181 1.219 4.671.61 1.729 1.365 3.417 2.187 5.058.389.775.344 1.278-.195 1.928-2.256 2.72-4.473 5.473-6.692 8.223-.491.607-.98 1.225-1.389 1.888a3.701 3.701 0 0 0-.48 1.364 1.737 1.737 0 0 0 1.383 1.971 9.661 9.661 0 0 0 2.708.193c3.097-.228 5.909-1.315 8.395-3.157 3.221-2.386 4.255-5.642 3.475-9.501-.211-1.047-.584-2.065-.947-3.074-.163-.455-.174-.774.123-1.198 2.575-3.677 4.775-7.578 6.821-11.569.081-.157.164-.314.306-.482.663 3.45 1.661 6.775 3.449 9.792-.912.879-1.815 1.676-2.632 2.554-1.799 1.934-3.359 4.034-4.173 6.595-.35 1.104-.619 2.226-.463 3.405.242 1.831 1.742 3.021 3.543 2.604 3.854-.892 7.181-2.708 9.612-5.925 1.636-2.166 1.785-4.582 1.1-7.113-.188-.688-.411-1.365-.651-2.154.951-.295 1.878-.649 2.837-.868 4.979-1.136 9.904-.938 14.702.86 2.801 1.05 5.064 2.807 6.406 5.571 1.639 3.379.733 6.585-2.452 8.721-.297.199-.637.356-.883.605a.869.869 0 0 0-.205.67c.021.123.346.277.533.275 1.047-.008 1.896-.557 2.711-1.121 2.042-1.413 3.532-3.314 3.853-5.817l.063-.188-.077-1.63c-.031-.094.023-.187.016-.258-.434-3.645-2.381-6.472-5.213-8.688-3.28-2.565-7.153-3.621-11.249-3.788a25.401 25.401 0 0 0-9.765 1.503c-.897.325-1.786.71-2.688 1.073-.121-.219-.251-.429-.358-.646-.926-1.896-2.048-3.708-2.296-5.882-.176-1.544-.392-3.086-.025-4.613.353-1.469.813-2.913 1.246-4.362.223-.746.066-1.164-.646-1.5a2.854 2.854 0 0 0-.786-.258c-1.75-.254-3.476-.109-5.171.384-.6.175-1.036.511-1.169 1.175-.076.381-.231.746-.339 1.122-.443 1.563-.757 3.156-1.473 4.645-1.794 3.735-3.842 7.329-5.938 10.897-.227.385-.466.763-.752 1.23-.736-1.54-1.521-2.922-1.759-4.542-.269-1.832-.481-3.661-.025-5.479.339-1.356.782-2.687 1.19-4.025.193-.636.104-.97-.472-1.305-.291-.169-.62-.319-.948-.368a11.643 11.643 0 0 0-5.354.438c-.543.176-.828.527-.994 1.087-.488 1.652-.904 3.344-1.589 4.915-2.774 6.36-5.628 12.687-8.479 19.013-.595 1.321-1.292 2.596-1.963 3.882-.17.326-.418.613-.63.919-.17-.201-.236-.339-.235-.477.005-.813-.092-1.65.063-2.436a172.189 172.189 0 0 1 1.578-7.099c.47-1.946 1.017-3.874 1.538-5.807.175-.647.178-1.252-.287-1.796-.781-.911-2.413-1.111-3.381-.409l-.428.242.083-.69c.204-1.479.245-2.953-.161-4.41-.506-1.816-1.802-2.861-3.686-2.803-.878.027-1.8.177-2.613.497-3.419 1.34-6.048 3.713-8.286 6.568a2.592 2.592 0 0 1-.757.654c-2.893 1.604-5.795 3.188-8.696 4.778l-3.229 1.769c-.866-.826-1.653-1.683-2.546-2.41-2.727-2.224-5.498-4.393-8.244-6.592-2.434-1.949-4.792-3.979-6.596-6.56-1.342-1.92-2.207-4.021-2.29-6.395-.105-3.025.753-5.789 2.293-8.362 1.97-3.292 4.657-5.934 7.611-8.327 3.125-2.53 6.505-4.678 10.008-6.639 4.901-2.743 9.942-5.171 15.347-6.774 5.542-1.644 11.165-2.585 16.965-1.929 2.28.258 4.494.78 6.527 1.895 1.557.853 2.834 1.97 3.428 3.716.586 1.718.568 3.459.162 5.204-.825 3.534-2.76 6.447-5.195 9.05-3.994 4.267-8.866 7.172-14.351 9.091a39.478 39.478 0 0 1-9.765 2.083c-2.729.229-5.401-.013-7.985-.962-1.711-.629-3.201-1.591-4.399-2.987-.214-.25-.488-.521-.887-.287-.391.23-.46.602-.329.979.219.626.421 1.278.762 1.838.857 1.405 2.107 2.424 3.483 3.298 2.643 1.681 5.597 2.246 8.66 2.377 4.648.201 9.183-.493 13.654-1.74 6.383-1.78 11.933-4.924 16.384-9.884 3.706-4.13 6.353-8.791 6.92-14.419.277-2.747-.018-5.438-1.304-7.944-1.395-2.715-3.613-4.734-6.265-6.125C68.756 18.179 64.588 17 60.286 17h-4.31c-5.21 0-10.247 1.493-15.143 3.274-3.706 1.349-7.34 2.941-10.868 4.703-7.683 3.839-14.838 8.468-20.715 14.833-2.928 3.171-5.407 6.67-6.833 10.79a40.494 40.494 0 0 0-1.111 3.746m27.839 36.013c-.333 4.459-2.354 8.074-5.657 11.002-1.858 1.646-3.989 2.818-6.471 3.23-.9.149-1.821.185-2.694-.188-1.245-.532-1.524-1.637-1.548-2.814-.037-1.876.62-3.572 1.521-5.186 1.176-2.104 2.9-3.708 4.741-5.206 2.9-2.361 6.046-4.359 9.268-6.245l.243-.1c.498 1.84.735 3.657.597 5.507zM54.303 70.98c-.235 1.424-.529 2.849-.945 4.229-1.438 4.777-3.285 9.406-5.282 13.973-.369.845-.906 1.616-1.373 2.417a1.689 1.689 0 0 1-.283.334c-.578.571-1.126.541-1.418-.206-.34-.868-.549-1.797-.729-2.716-.121-.617-.092-1.265-.13-1.897.039-4.494 1.41-8.578 3.736-12.38.959-1.568 2.003-3.062 3.598-4.054a6.27 6.27 0 0 1 1.595-.706c.85-.239 1.372.154 1.231 1.006zm17.164 21.868 6.169-7.203c.257 2.675-4.29 8.015-6.169 7.203zm19.703-4.847c-.436.25-.911.43-1.358.661-.409.212-.544-.002-.556-.354a2.385 2.385 0 0 1 .093-.721c.833-2.938 2.366-5.446 4.647-7.486l.16-.082c1.085 3.035-.169 6.368-2.986 7.982z"/></symbol><symbol id="logo-vue" viewBox="0 0 128 128"><path d="m0 8.934 49.854.158 14.167 24.47 14.432-24.47L128 8.935l-63.834 110.14zm126.98.637-24.36.02-38.476 66.053L25.691 9.592.942 9.572l63.211 107.89zm-25.149-.008-22.745.168-15.053 24.647L49.216 9.73l-22.794-.168 37.731 64.476zm-75.834-.17 23.002.009m-23.002-.01 23.002.01" fill="none"/><path d="m25.997 9.393 23.002.009L64.035 34.36 79.018 9.404 102 9.398 64.15 75.053z" fill="#35495e"/><path d="m.91 9.569 25.067-.172 38.15 65.659L101.98 9.401l25.11.026-62.966 108.06z" fill="#41b883"/></symbol><symbol id="logo-web" viewBox="0 0 48 44.53"><path d="M0 7.67v33.34c0 1.94 1.58 3.52 3.52 3.52h40.96c1.94 0 3.52-1.58 3.52-3.52V7.67H0Zm14.82 32.99H3.58V33.2h11.24v7.46Zm-1.15-13.28v.8H4.73v-.8h8.94Zm-7.3-4.55C6.37 21.27 7.64 20 9.2 20s2.83 1.27 2.83 2.83-1.27 2.83-2.83 2.83-2.83-1.27-2.83-2.83Zm7.3 6.06v.8H4.73v-.8h8.94Zm-2.6 1.5v.8H4.73v-.8h6.33Zm18.78 10.28H18.61v-7.46h11.24v7.46ZM28.7 27.39v.8h-8.94v-.8h8.94Zm-7.3-4.55c0-1.56 1.27-2.83 2.83-2.83s2.83 1.27 2.83 2.83-1.27 2.83-2.83 2.83-2.83-1.27-2.83-2.83Zm7.3 6.06v.8h-8.94v-.8h8.94Zm-2.6 1.5v.8h-6.33v-.8h6.33Zm18.78 10.28H33.64v-7.46h11.24v7.46ZM43.73 27.4v.8h-8.94v-.8h8.94Zm-7.3-4.55c0-1.56 1.27-2.83 2.83-2.83s2.83 1.27 2.83 2.83-1.27 2.83-2.83 2.83-2.83-1.27-2.83-2.83Zm7.3 6.06v.8h-8.94v-.8h8.94Zm-2.6 1.5v.8H34.8v-.8h6.33Zm4.06-12.86H3.27v-8.1h41.91v8.07ZM44.48 0H3.52C1.58 0 0 1.58 0 3.52v3.51h3.45V4.96c0-.68.55-1.22 1.22-1.22h10.17c.68 0 1.22.55 1.22 1.22v2.07H48V3.52C48 1.58 46.42 0 44.48 0Zm-9.16 5.16c-.75 0-1.35-.6-1.35-1.35s.6-1.35 1.35-1.35 1.35.6 1.35 1.35-.6 1.35-1.35 1.35Zm4.12 0c-.75 0-1.35-.6-1.35-1.35s.6-1.35 1.35-1.35 1.35.6 1.35 1.35-.6 1.35-1.35 1.35Z"/></symbol><symbol id="logo-windows" viewBox="0 0 24 24"><path d="M5.5 6.673a.5.5 0 0 1-.5-.5V4.499C5 2.018 7.019 0 9.5 0S14 2.018 14 4.498c0 .276-.224.514-.5.514s-.5-.208-.5-.485v-.029C13 2.569 11.43 1 9.5 1S6 2.57 6 4.498v1.676a.5.5 0 0 1-.5.5z" fill="#009ADA"/><path d="M7.5 6.262a.5.5 0 0 1-.5-.5v-.264A4.504 4.504 0 0 1 11.5 1a4.5 4.5 0 0 1 4.227 3 .5.5 0 1 1-.943.333A3.5 3.5 0 0 0 11.5 1.999 3.505 3.505 0 0 0 8 5.498v.264a.5.5 0 0 1-.5.5z" fill="#009ADA"/><path fill="#009ADA" d="M18.569 2.974 1 6.59v14.32L18.518 24 23 22.88V3.998z"/><path fill="#FFF" opacity=".2" d="M18.569 2.974 1 6.59v.25l17.569-3.615L23 4.248v-.25z"/><path opacity=".1" d="M1 20.66v.25L18.518 24 23 22.88v-.25l-4.482 1.12z"/><path fill="#FFF" d="M9.5 13H14V8.5l-4.5.833zm-1 0V9.518l-3.5.649V13zm1 1v3.667l4.5.833V14zm-1 0H5v2.833l3.5.648z"/><linearGradient gradientUnits="userSpaceOnUse" id="a-9891952a-1d4f-4f43-aae1-fa529b12f308" x1=".718" x2="25.029" y1="7.193" y2="18.53"><stop offset="0" stop-color="#fff" stop-opacity=".2"/><stop offset="1" stop-color="#fff" stop-opacity="0"/></linearGradient><path d="m18.569 2.974-3.022.622a4.493 4.493 0 0 0-3.12-2.486A4.461 4.461 0 0 0 9.5 0 4.504 4.504 0 0 0 5 4.498v1.268L1 6.59v14.32L18.518 24 23 22.88V3.998l-4.431-1.024zm-4.027.829-.6.123a4.485 4.485 0 0 0-.292-1.165c.357.284.665.633.892 1.042zm-2.558-1.766a3.48 3.48 0 0 1 .979 2.09L8.036 5.143C8.217 3.383 9.692 2 11.5 2c.164 0 .325.016.484.038zM6 4.498A3.503 3.503 0 0 1 9.5 1c.325 0 .633.058.932.141a4.49 4.49 0 0 0-3.417 4.21L6 5.562V4.497z" fill="url(#a-9891952a-1d4f-4f43-aae1-fa529b12f308)"/></symbol></svg>
@@ -0,0 +1,57 @@
1
+ <%
2
+ =begin
3
+
4
+ Lesli
5
+
6
+ Copyright (c) 2023, Lesli Technologies, S. A.
7
+
8
+ This program is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program. If not, see http://www.gnu.org/licenses/.
20
+
21
+ Lesli · Ruby on Rails SaaS development platform.
22
+
23
+ Made with ♥ by https://www.lesli.tech
24
+ Building a better future, one line of code at a time.
25
+
26
+ @contact hello@lesli.tech
27
+ @website https://www.lesli.tech
28
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
+
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
+ // ·
32
+ =end
33
+ %>
34
+
35
+ <%# translation_timestamp = File.mtime(Rails.root.join("public", "javascripts", "translations.js")).to_i %>
36
+ <%= javascript_include_tag "lesli/i18n" %>
37
+ <%#= javascript_include_tag "pdf", skip_pipeline: true %>
38
+ <%#= javascript_include_tag "translations?#{translation_timestamp}", skip_pipeline: true %>
39
+
40
+ <script>
41
+ // Set language for JavaScript apps
42
+ // I18n.locale = '<%= I18n.locale %>'
43
+ </script>
44
+
45
+ <%= javascript_include_tag(lesli_application_javascript_path()) %>
46
+
47
+ <%#
48
+ <script src="https://js.honeybadger.io/v3.2/honeybadger.min.js" type="text/javascript"></script>
49
+ <script type="text/javascript">
50
+ Honeybadger.configure({
51
+ apiKey: "<%= Rails.application.credentials.dig(:providers, :honey_badger, :api_key) % >",
52
+ revision: "<%= @account.dig(:revision, :version) % >-<%= @account.dig(:revision, :build) % >",
53
+ environment: "<%= Rails.env % >",
54
+ reportData: <%= Rails.env.production? % >
55
+ })
56
+ </script>
57
+ %>
@@ -0,0 +1,52 @@
1
+ <%
2
+ =begin
3
+
4
+ Lesli
5
+
6
+ Copyright (c) 2023, Lesli Technologies, S. A.
7
+
8
+ This program is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program. If not, see http://www.gnu.org/licenses/.
20
+
21
+ Lesli · Ruby on Rails SaaS Development Framework.
22
+
23
+ Made with ♥ by https://www.lesli.tech
24
+ Building a better future, one line of code at a time.
25
+
26
+ @contact hello@lesli.tech
27
+ @website https://www.lesli.dev
28
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
+
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
+ // ·
32
+ =end
33
+ %>
34
+
35
+ <%# check if custom navigation partial exists, getting the path from application helper %>
36
+ <% custom_sidebar_path = "#{lesli_engine.dig(:code)}/partials/engine-navigation" %>
37
+
38
+
39
+ <%# validate the path to be sure the partial exists when trying to render it %>
40
+ <% custom_sidebar_exists = lookup_context.exists?(custom_sidebar_path, nil, true) %>
41
+
42
+
43
+ <%# render navigation partial %>
44
+ <% if custom_sidebar_exists %>
45
+ <nav class="lesli-application-navigation">
46
+ <ul>
47
+ <%= render partial: custom_sidebar_path %>
48
+ </ul>
49
+ </nav>
50
+ <% else %>
51
+ <!-- no navigation found -->
52
+ <% end %>
@@ -0,0 +1,43 @@
1
+ <%
2
+ =begin
3
+
4
+ Lesli
5
+
6
+ Copyright (c) 2023, Lesli Technologies, S. A.
7
+
8
+ This program is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program. If not, see http://www.gnu.org/licenses/.
20
+
21
+ Lesli · Ruby on Rails SaaS development platform.
22
+
23
+ Made with ♥ by https://www.lesli.tech
24
+ Building a better future, one line of code at a time.
25
+
26
+ @contact hello@lesli.tech
27
+ @website https://www.lesli.tech
28
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
+
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
+ // ·
32
+ =end
33
+ %>
34
+
35
+
36
+ <%# Show announcements container only if cloud bell is installed %>
37
+ <% if defined?(CloudBell)%>
38
+ <application-component-announcements></application-component-announcements>
39
+ <% end %>
40
+
41
+
42
+ <%# Search results container %>
43
+ <application-component-search></application-component-search>
@@ -0,0 +1,58 @@
1
+ <%
2
+ =begin
3
+
4
+ Lesli
5
+
6
+ Copyright (c) 2023, Lesli Technologies, S. A.
7
+
8
+ This program is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program. If not, see http://www.gnu.org/licenses/.
20
+
21
+ Lesli · Ruby on Rails SaaS development platform.
22
+
23
+ Made with ♥ by https://www.lesli.tech
24
+ Building a better future, one line of code at a time.
25
+
26
+ @contact hello@lesli.tech
27
+ @website https://www.lesli.tech
28
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
+
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
+ // ·
32
+ =end
33
+ %>
34
+
35
+ <%# Loading standard focus panel %>
36
+ <% if defined?(CloudFocus) %>
37
+ <application-component-panel-tasks>
38
+ </application-component-panel-tasks>
39
+ <% end %>
40
+
41
+
42
+ <%# Loading standar bell panels %>
43
+ <% if defined?(CloudBell) %>
44
+ <application-component-panel-notifications></application-component-panel-notifications>
45
+ <application-component-panel-announcements></application-component-panel-announcements>
46
+ <% end %>
47
+
48
+
49
+ <%# Loading standar help panels %>
50
+ <% if defined?(CloudHelp) %>
51
+ <application-component-panel-tickets></application-component-panel-tickets>
52
+ <% end %>
53
+
54
+ <%# Loading user profile panel %>
55
+ <application-component-panel-profile></application-component-panel-profile>
56
+
57
+ <%# Loading cloud object files panel %>
58
+ <application-component-panel-files></application-component-panel-files>
@@ -0,0 +1,60 @@
1
+ <%
2
+ =begin
3
+
4
+ Lesli
5
+
6
+ Copyright (c) 2023, Lesli Technologies, S. A.
7
+
8
+ This program is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ This program is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU General Public License for more details.
17
+
18
+ You should have received a copy of the GNU General Public License
19
+ along with this program. If not, see http://www.gnu.org/licenses/.
20
+
21
+ Lesli · Ruby on Rails SaaS development platform.
22
+
23
+ Made with ♥ by https://www.lesli.tech
24
+ Building a better future, one line of code at a time.
25
+
26
+ @contact hello@lesli.tech
27
+ @website https://www.lesli.tech
28
+ @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
29
+
30
+ // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
31
+ // ·
32
+ =end
33
+ %>
34
+
35
+ <%# Hide vue until vue finishes compilation %>
36
+ <%# <style>[v-cloak] { display: none !important; }</style> %>
37
+
38
+
39
+ <%
40
+ # Defining color customization
41
+ # colors will be override with the ones defined in the database if custom colors exists
42
+ # if there is no custom colors defined, the var() function will return the lesli colors
43
+ @colors = @lesli.dig(:customization, :colors) || {}
44
+ %>
45
+
46
+
47
+ <%# Defining color palette %>
48
+ <style>
49
+ :root {
50
+ <% @colors.each_pair do |key, value| %>
51
+ <%= "--#{ key.to_s.gsub('_','-') }: #{ value.to_s };" if value %>
52
+ <% end %>
53
+ }
54
+ </style>
55
+
56
+
57
+ <%# Loading stylesheets %>
58
+ <%= stylesheet_link_tag lesli_application_stylesheet_path(:lesli), media: "all" %>
59
+ <%= stylesheet_link_tag lesli_application_stylesheet_path(), media: "all" %>
60
+