├── .demo └── docker-compose.yml ├── .development └── docker-compose.yml ├── .envrc ├── .formatter.exs ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .tool-versions ├── Dockerfile ├── Dockerfile.demo ├── Makefile ├── README.md ├── assets ├── css │ └── app.css ├── js │ └── app.js ├── package-lock.json ├── package.json ├── tailwind.config.js └── vendor │ ├── heroicons │ ├── LICENSE.md │ ├── UPGRADE.md │ └── optimized │ │ ├── 20 │ │ └── solid │ │ │ ├── academic-cap.svg │ │ │ ├── adjustments-horizontal.svg │ │ │ ├── adjustments-vertical.svg │ │ │ ├── archive-box-arrow-down.svg │ │ │ ├── archive-box-x-mark.svg │ │ │ ├── archive-box.svg │ │ │ ├── arrow-down-circle.svg │ │ │ ├── arrow-down-left.svg │ │ │ ├── arrow-down-on-square-stack.svg │ │ │ ├── arrow-down-on-square.svg │ │ │ ├── arrow-down-right.svg │ │ │ ├── arrow-down-tray.svg │ │ │ ├── arrow-down.svg │ │ │ ├── arrow-left-circle.svg │ │ │ ├── arrow-left-on-rectangle.svg │ │ │ ├── arrow-left.svg │ │ │ ├── arrow-long-down.svg │ │ │ ├── arrow-long-left.svg │ │ │ ├── arrow-long-right.svg │ │ │ ├── arrow-long-up.svg │ │ │ ├── arrow-path-rounded-square.svg │ │ │ ├── arrow-path.svg │ │ │ ├── arrow-right-circle.svg │ │ │ ├── arrow-right-on-rectangle.svg │ │ │ ├── arrow-right.svg │ │ │ ├── arrow-small-down.svg │ │ │ ├── arrow-small-left.svg │ │ │ ├── arrow-small-right.svg │ │ │ ├── arrow-small-up.svg │ │ │ ├── arrow-top-right-on-square.svg │ │ │ ├── arrow-trending-down.svg │ │ │ ├── arrow-trending-up.svg │ │ │ ├── arrow-up-circle.svg │ │ │ ├── arrow-up-left.svg │ │ │ ├── arrow-up-on-square-stack.svg │ │ │ ├── arrow-up-on-square.svg │ │ │ ├── arrow-up-right.svg │ │ │ ├── arrow-up-tray.svg │ │ │ ├── arrow-up.svg │ │ │ ├── arrow-uturn-down.svg │ │ │ ├── arrow-uturn-left.svg │ │ │ ├── arrow-uturn-right.svg │ │ │ ├── arrow-uturn-up.svg │ │ │ ├── arrows-pointing-in.svg │ │ │ ├── arrows-pointing-out.svg │ │ │ ├── arrows-right-left.svg │ │ │ ├── arrows-up-down.svg │ │ │ ├── at-symbol.svg │ │ │ ├── backspace.svg │ │ │ ├── backward.svg │ │ │ ├── banknotes.svg │ │ │ ├── bars-2.svg │ │ │ ├── bars-3-bottom-left.svg │ │ │ ├── bars-3-bottom-right.svg │ │ │ ├── bars-3-center-left.svg │ │ │ ├── bars-3.svg │ │ │ ├── bars-4.svg │ │ │ ├── bars-arrow-down.svg │ │ │ ├── bars-arrow-up.svg │ │ │ ├── battery-0.svg │ │ │ ├── battery-100.svg │ │ │ ├── battery-50.svg │ │ │ ├── beaker.svg │ │ │ ├── bell-alert.svg │ │ │ ├── bell-slash.svg │ │ │ ├── bell-snooze.svg │ │ │ ├── bell.svg │ │ │ ├── bolt-slash.svg │ │ │ ├── bolt.svg │ │ │ ├── book-open.svg │ │ │ ├── bookmark-slash.svg │ │ │ ├── bookmark-square.svg │ │ │ ├── bookmark.svg │ │ │ ├── briefcase.svg │ │ │ ├── bug-ant.svg │ │ │ ├── building-library.svg │ │ │ ├── building-office-2.svg │ │ │ ├── building-office.svg │ │ │ ├── building-storefront.svg │ │ │ ├── cake.svg │ │ │ ├── calculator.svg │ │ │ ├── calendar-days.svg │ │ │ ├── calendar.svg │ │ │ ├── camera.svg │ │ │ ├── chart-bar-square.svg │ │ │ ├── chart-bar.svg │ │ │ ├── chart-pie.svg │ │ │ ├── chat-bubble-bottom-center-text.svg │ │ │ ├── chat-bubble-bottom-center.svg │ │ │ ├── chat-bubble-left-ellipsis.svg │ │ │ ├── chat-bubble-left-right.svg │ │ │ ├── chat-bubble-left.svg │ │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ │ ├── chat-bubble-oval-left.svg │ │ │ ├── check-badge.svg │ │ │ ├── check-circle.svg │ │ │ ├── check.svg │ │ │ ├── chevron-double-down.svg │ │ │ ├── chevron-double-left.svg │ │ │ ├── chevron-double-right.svg │ │ │ ├── chevron-double-up.svg │ │ │ ├── chevron-down.svg │ │ │ ├── chevron-left.svg │ │ │ ├── chevron-right.svg │ │ │ ├── chevron-up-down.svg │ │ │ ├── chevron-up.svg │ │ │ ├── circle-stack.svg │ │ │ ├── clipboard-document-check.svg │ │ │ ├── clipboard-document-list.svg │ │ │ ├── clipboard-document.svg │ │ │ ├── clipboard.svg │ │ │ ├── clock.svg │ │ │ ├── cloud-arrow-down.svg │ │ │ ├── cloud-arrow-up.svg │ │ │ ├── cloud.svg │ │ │ ├── code-bracket-square.svg │ │ │ ├── code-bracket.svg │ │ │ ├── cog-6-tooth.svg │ │ │ ├── cog-8-tooth.svg │ │ │ ├── cog.svg │ │ │ ├── command-line.svg │ │ │ ├── computer-desktop.svg │ │ │ ├── cpu-chip.svg │ │ │ ├── credit-card.svg │ │ │ ├── cube-transparent.svg │ │ │ ├── cube.svg │ │ │ ├── currency-bangladeshi.svg │ │ │ ├── currency-dollar.svg │ │ │ ├── currency-euro.svg │ │ │ ├── currency-pound.svg │ │ │ ├── currency-rupee.svg │ │ │ ├── currency-yen.svg │ │ │ ├── cursor-arrow-rays.svg │ │ │ ├── cursor-arrow-ripple.svg │ │ │ ├── device-phone-mobile.svg │ │ │ ├── device-tablet.svg │ │ │ ├── document-arrow-down.svg │ │ │ ├── document-arrow-up.svg │ │ │ ├── document-chart-bar.svg │ │ │ ├── document-check.svg │ │ │ ├── document-duplicate.svg │ │ │ ├── document-magnifying-glass.svg │ │ │ ├── document-minus.svg │ │ │ ├── document-plus.svg │ │ │ ├── document-text.svg │ │ │ ├── document.svg │ │ │ ├── ellipsis-horizontal-circle.svg │ │ │ ├── ellipsis-horizontal.svg │ │ │ ├── ellipsis-vertical.svg │ │ │ ├── envelope-open.svg │ │ │ ├── envelope.svg │ │ │ ├── exclamation-circle.svg │ │ │ ├── exclamation-triangle.svg │ │ │ ├── eye-dropper.svg │ │ │ ├── eye-slash.svg │ │ │ ├── eye.svg │ │ │ ├── face-frown.svg │ │ │ ├── face-smile.svg │ │ │ ├── film.svg │ │ │ ├── finger-print.svg │ │ │ ├── fire.svg │ │ │ ├── flag.svg │ │ │ ├── folder-arrow-down.svg │ │ │ ├── folder-minus.svg │ │ │ ├── folder-open.svg │ │ │ ├── folder-plus.svg │ │ │ ├── folder.svg │ │ │ ├── forward.svg │ │ │ ├── funnel.svg │ │ │ ├── gif.svg │ │ │ ├── gift-top.svg │ │ │ ├── gift.svg │ │ │ ├── globe-alt.svg │ │ │ ├── globe-americas.svg │ │ │ ├── globe-asia-australia.svg │ │ │ ├── globe-europe-africa.svg │ │ │ ├── hand-raised.svg │ │ │ ├── hand-thumb-down.svg │ │ │ ├── hand-thumb-up.svg │ │ │ ├── hashtag.svg │ │ │ ├── heart.svg │ │ │ ├── home-modern.svg │ │ │ ├── home.svg │ │ │ ├── identification.svg │ │ │ ├── inbox-arrow-down.svg │ │ │ ├── inbox-stack.svg │ │ │ ├── inbox.svg │ │ │ ├── information-circle.svg │ │ │ ├── key.svg │ │ │ ├── language.svg │ │ │ ├── lifebuoy.svg │ │ │ ├── light-bulb.svg │ │ │ ├── link.svg │ │ │ ├── list-bullet.svg │ │ │ ├── lock-closed.svg │ │ │ ├── lock-open.svg │ │ │ ├── magnifying-glass-circle.svg │ │ │ ├── magnifying-glass-minus.svg │ │ │ ├── magnifying-glass-plus.svg │ │ │ ├── magnifying-glass.svg │ │ │ ├── map-pin.svg │ │ │ ├── map.svg │ │ │ ├── megaphone.svg │ │ │ ├── microphone.svg │ │ │ ├── minus-circle.svg │ │ │ ├── minus-small.svg │ │ │ ├── minus.svg │ │ │ ├── moon.svg │ │ │ ├── musical-note.svg │ │ │ ├── newspaper.svg │ │ │ ├── no-symbol.svg │ │ │ ├── paint-brush.svg │ │ │ ├── paper-airplane.svg │ │ │ ├── paper-clip.svg │ │ │ ├── pause-circle.svg │ │ │ ├── pause.svg │ │ │ ├── pencil-square.svg │ │ │ ├── pencil.svg │ │ │ ├── phone-arrow-down-left.svg │ │ │ ├── phone-arrow-up-right.svg │ │ │ ├── phone-x-mark.svg │ │ │ ├── phone.svg │ │ │ ├── photo.svg │ │ │ ├── play-circle.svg │ │ │ ├── play-pause.svg │ │ │ ├── play.svg │ │ │ ├── plus-circle.svg │ │ │ ├── plus-small.svg │ │ │ ├── plus.svg │ │ │ ├── power.svg │ │ │ ├── presentation-chart-bar.svg │ │ │ ├── presentation-chart-line.svg │ │ │ ├── printer.svg │ │ │ ├── puzzle-piece.svg │ │ │ ├── qr-code.svg │ │ │ ├── question-mark-circle.svg │ │ │ ├── queue-list.svg │ │ │ ├── radio.svg │ │ │ ├── receipt-percent.svg │ │ │ ├── receipt-refund.svg │ │ │ ├── rectangle-group.svg │ │ │ ├── rectangle-stack.svg │ │ │ ├── rocket-launch.svg │ │ │ ├── rss.svg │ │ │ ├── scale.svg │ │ │ ├── scissors.svg │ │ │ ├── server-stack.svg │ │ │ ├── server.svg │ │ │ ├── share.svg │ │ │ ├── shield-check.svg │ │ │ ├── shield-exclamation.svg │ │ │ ├── shopping-bag.svg │ │ │ ├── shopping-cart.svg │ │ │ ├── signal-slash.svg │ │ │ ├── signal.svg │ │ │ ├── sparkles.svg │ │ │ ├── speaker-wave.svg │ │ │ ├── speaker-x-mark.svg │ │ │ ├── square-2-stack.svg │ │ │ ├── square-3-stack-3d.svg │ │ │ ├── squares-2x2.svg │ │ │ ├── squares-plus.svg │ │ │ ├── star.svg │ │ │ ├── stop-circle.svg │ │ │ ├── stop.svg │ │ │ ├── sun.svg │ │ │ ├── swatch.svg │ │ │ ├── table-cells.svg │ │ │ ├── tag.svg │ │ │ ├── ticket.svg │ │ │ ├── trash.svg │ │ │ ├── trophy.svg │ │ │ ├── truck.svg │ │ │ ├── tv.svg │ │ │ ├── user-circle.svg │ │ │ ├── user-group.svg │ │ │ ├── user-minus.svg │ │ │ ├── user-plus.svg │ │ │ ├── user.svg │ │ │ ├── users.svg │ │ │ ├── variable.svg │ │ │ ├── video-camera-slash.svg │ │ │ ├── video-camera.svg │ │ │ ├── view-columns.svg │ │ │ ├── viewfinder-circle.svg │ │ │ ├── wallet.svg │ │ │ ├── wifi.svg │ │ │ ├── window.svg │ │ │ ├── wrench-screwdriver.svg │ │ │ ├── wrench.svg │ │ │ ├── x-circle.svg │ │ │ └── x-mark.svg │ │ └── 24 │ │ ├── outline │ │ ├── academic-cap.svg │ │ ├── adjustments-horizontal.svg │ │ ├── adjustments-vertical.svg │ │ ├── archive-box-arrow-down.svg │ │ ├── archive-box-x-mark.svg │ │ ├── archive-box.svg │ │ ├── arrow-down-circle.svg │ │ ├── arrow-down-left.svg │ │ ├── arrow-down-on-square-stack.svg │ │ ├── arrow-down-on-square.svg │ │ ├── arrow-down-right.svg │ │ ├── arrow-down-tray.svg │ │ ├── arrow-down.svg │ │ ├── arrow-left-circle.svg │ │ ├── arrow-left-on-rectangle.svg │ │ ├── arrow-left.svg │ │ ├── arrow-long-down.svg │ │ ├── arrow-long-left.svg │ │ ├── arrow-long-right.svg │ │ ├── arrow-long-up.svg │ │ ├── arrow-path-rounded-square.svg │ │ ├── arrow-path.svg │ │ ├── arrow-right-circle.svg │ │ ├── arrow-right-on-rectangle.svg │ │ ├── arrow-right.svg │ │ ├── arrow-small-down.svg │ │ ├── arrow-small-left.svg │ │ ├── arrow-small-right.svg │ │ ├── arrow-small-up.svg │ │ ├── arrow-top-right-on-square.svg │ │ ├── arrow-trending-down.svg │ │ ├── arrow-trending-up.svg │ │ ├── arrow-up-circle.svg │ │ ├── arrow-up-left.svg │ │ ├── arrow-up-on-square-stack.svg │ │ ├── arrow-up-on-square.svg │ │ ├── arrow-up-right.svg │ │ ├── arrow-up-tray.svg │ │ ├── arrow-up.svg │ │ ├── arrow-uturn-down.svg │ │ ├── arrow-uturn-left.svg │ │ ├── arrow-uturn-right.svg │ │ ├── arrow-uturn-up.svg │ │ ├── arrows-pointing-in.svg │ │ ├── arrows-pointing-out.svg │ │ ├── arrows-right-left.svg │ │ ├── arrows-up-down.svg │ │ ├── at-symbol.svg │ │ ├── backspace.svg │ │ ├── backward.svg │ │ ├── banknotes.svg │ │ ├── bars-2.svg │ │ ├── bars-3-bottom-left.svg │ │ ├── bars-3-bottom-right.svg │ │ ├── bars-3-center-left.svg │ │ ├── bars-3.svg │ │ ├── bars-4.svg │ │ ├── bars-arrow-down.svg │ │ ├── bars-arrow-up.svg │ │ ├── battery-0.svg │ │ ├── battery-100.svg │ │ ├── battery-50.svg │ │ ├── beaker.svg │ │ ├── bell-alert.svg │ │ ├── bell-slash.svg │ │ ├── bell-snooze.svg │ │ ├── bell.svg │ │ ├── bolt-slash.svg │ │ ├── bolt.svg │ │ ├── book-open.svg │ │ ├── bookmark-slash.svg │ │ ├── bookmark-square.svg │ │ ├── bookmark.svg │ │ ├── briefcase.svg │ │ ├── bug-ant.svg │ │ ├── building-library.svg │ │ ├── building-office-2.svg │ │ ├── building-office.svg │ │ ├── building-storefront.svg │ │ ├── cake.svg │ │ ├── calculator.svg │ │ ├── calendar-days.svg │ │ ├── calendar.svg │ │ ├── camera.svg │ │ ├── chart-bar-square.svg │ │ ├── chart-bar.svg │ │ ├── chart-pie.svg │ │ ├── chat-bubble-bottom-center-text.svg │ │ ├── chat-bubble-bottom-center.svg │ │ ├── chat-bubble-left-ellipsis.svg │ │ ├── chat-bubble-left-right.svg │ │ ├── chat-bubble-left.svg │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ ├── chat-bubble-oval-left.svg │ │ ├── check-badge.svg │ │ ├── check-circle.svg │ │ ├── check.svg │ │ ├── chevron-double-down.svg │ │ ├── chevron-double-left.svg │ │ ├── chevron-double-right.svg │ │ ├── chevron-double-up.svg │ │ ├── chevron-down.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-up-down.svg │ │ ├── chevron-up.svg │ │ ├── circle-stack.svg │ │ ├── clipboard-document-check.svg │ │ ├── clipboard-document-list.svg │ │ ├── clipboard-document.svg │ │ ├── clipboard.svg │ │ ├── clock.svg │ │ ├── cloud-arrow-down.svg │ │ ├── cloud-arrow-up.svg │ │ ├── cloud.svg │ │ ├── code-bracket-square.svg │ │ ├── code-bracket.svg │ │ ├── cog-6-tooth.svg │ │ ├── cog-8-tooth.svg │ │ ├── cog.svg │ │ ├── command-line.svg │ │ ├── computer-desktop.svg │ │ ├── cpu-chip.svg │ │ ├── credit-card.svg │ │ ├── cube-transparent.svg │ │ ├── cube.svg │ │ ├── currency-bangladeshi.svg │ │ ├── currency-dollar.svg │ │ ├── currency-euro.svg │ │ ├── currency-pound.svg │ │ ├── currency-rupee.svg │ │ ├── currency-yen.svg │ │ ├── cursor-arrow-rays.svg │ │ ├── cursor-arrow-ripple.svg │ │ ├── device-phone-mobile.svg │ │ ├── device-tablet.svg │ │ ├── document-arrow-down.svg │ │ ├── document-arrow-up.svg │ │ ├── document-chart-bar.svg │ │ ├── document-check.svg │ │ ├── document-duplicate.svg │ │ ├── document-magnifying-glass.svg │ │ ├── document-minus.svg │ │ ├── document-plus.svg │ │ ├── document-text.svg │ │ ├── document.svg │ │ ├── ellipsis-horizontal-circle.svg │ │ ├── ellipsis-horizontal.svg │ │ ├── ellipsis-vertical.svg │ │ ├── envelope-open.svg │ │ ├── envelope.svg │ │ ├── exclamation-circle.svg │ │ ├── exclamation-triangle.svg │ │ ├── eye-dropper.svg │ │ ├── eye-slash.svg │ │ ├── eye.svg │ │ ├── face-frown.svg │ │ ├── face-smile.svg │ │ ├── film.svg │ │ ├── finger-print.svg │ │ ├── fire.svg │ │ ├── flag.svg │ │ ├── folder-arrow-down.svg │ │ ├── folder-minus.svg │ │ ├── folder-open.svg │ │ ├── folder-plus.svg │ │ ├── folder.svg │ │ ├── forward.svg │ │ ├── funnel.svg │ │ ├── gif.svg │ │ ├── gift-top.svg │ │ ├── gift.svg │ │ ├── globe-alt.svg │ │ ├── globe-americas.svg │ │ ├── globe-asia-australia.svg │ │ ├── globe-europe-africa.svg │ │ ├── hand-raised.svg │ │ ├── hand-thumb-down.svg │ │ ├── hand-thumb-up.svg │ │ ├── hashtag.svg │ │ ├── heart.svg │ │ ├── home-modern.svg │ │ ├── home.svg │ │ ├── identification.svg │ │ ├── inbox-arrow-down.svg │ │ ├── inbox-stack.svg │ │ ├── inbox.svg │ │ ├── information-circle.svg │ │ ├── key.svg │ │ ├── language.svg │ │ ├── lifebuoy.svg │ │ ├── light-bulb.svg │ │ ├── link.svg │ │ ├── list-bullet.svg │ │ ├── lock-closed.svg │ │ ├── lock-open.svg │ │ ├── magnifying-glass-circle.svg │ │ ├── magnifying-glass-minus.svg │ │ ├── magnifying-glass-plus.svg │ │ ├── magnifying-glass.svg │ │ ├── map-pin.svg │ │ ├── map.svg │ │ ├── megaphone.svg │ │ ├── microphone.svg │ │ ├── minus-circle.svg │ │ ├── minus-small.svg │ │ ├── minus.svg │ │ ├── moon.svg │ │ ├── musical-note.svg │ │ ├── newspaper.svg │ │ ├── no-symbol.svg │ │ ├── paint-brush.svg │ │ ├── paper-airplane.svg │ │ ├── paper-clip.svg │ │ ├── pause-circle.svg │ │ ├── pause.svg │ │ ├── pencil-square.svg │ │ ├── pencil.svg │ │ ├── phone-arrow-down-left.svg │ │ ├── phone-arrow-up-right.svg │ │ ├── phone-x-mark.svg │ │ ├── phone.svg │ │ ├── photo.svg │ │ ├── play-circle.svg │ │ ├── play-pause.svg │ │ ├── play.svg │ │ ├── plus-circle.svg │ │ ├── plus-small.svg │ │ ├── plus.svg │ │ ├── power.svg │ │ ├── presentation-chart-bar.svg │ │ ├── presentation-chart-line.svg │ │ ├── printer.svg │ │ ├── puzzle-piece.svg │ │ ├── qr-code.svg │ │ ├── question-mark-circle.svg │ │ ├── queue-list.svg │ │ ├── radio.svg │ │ ├── receipt-percent.svg │ │ ├── receipt-refund.svg │ │ ├── rectangle-group.svg │ │ ├── rectangle-stack.svg │ │ ├── rocket-launch.svg │ │ ├── rss.svg │ │ ├── scale.svg │ │ ├── scissors.svg │ │ ├── server-stack.svg │ │ ├── server.svg │ │ ├── share.svg │ │ ├── shield-check.svg │ │ ├── shield-exclamation.svg │ │ ├── shopping-bag.svg │ │ ├── shopping-cart.svg │ │ ├── signal-slash.svg │ │ ├── signal.svg │ │ ├── sparkles.svg │ │ ├── speaker-wave.svg │ │ ├── speaker-x-mark.svg │ │ ├── square-2-stack.svg │ │ ├── square-3-stack-3d.svg │ │ ├── squares-2x2.svg │ │ ├── squares-plus.svg │ │ ├── star.svg │ │ ├── stop-circle.svg │ │ ├── stop.svg │ │ ├── sun.svg │ │ ├── swatch.svg │ │ ├── table-cells.svg │ │ ├── tag.svg │ │ ├── ticket.svg │ │ ├── trash.svg │ │ ├── trophy.svg │ │ ├── truck.svg │ │ ├── tv.svg │ │ ├── user-circle.svg │ │ ├── user-group.svg │ │ ├── user-minus.svg │ │ ├── user-plus.svg │ │ ├── user.svg │ │ ├── users.svg │ │ ├── variable.svg │ │ ├── video-camera-slash.svg │ │ ├── video-camera.svg │ │ ├── view-columns.svg │ │ ├── viewfinder-circle.svg │ │ ├── wallet.svg │ │ ├── wifi.svg │ │ ├── window.svg │ │ ├── wrench-screwdriver.svg │ │ ├── wrench.svg │ │ ├── x-circle.svg │ │ └── x-mark.svg │ │ └── solid │ │ ├── academic-cap.svg │ │ ├── adjustments-horizontal.svg │ │ ├── adjustments-vertical.svg │ │ ├── archive-box-arrow-down.svg │ │ ├── archive-box-x-mark.svg │ │ ├── archive-box.svg │ │ ├── arrow-down-circle.svg │ │ ├── arrow-down-left.svg │ │ ├── arrow-down-on-square-stack.svg │ │ ├── arrow-down-on-square.svg │ │ ├── arrow-down-right.svg │ │ ├── arrow-down-tray.svg │ │ ├── arrow-down.svg │ │ ├── arrow-left-circle.svg │ │ ├── arrow-left-on-rectangle.svg │ │ ├── arrow-left.svg │ │ ├── arrow-long-down.svg │ │ ├── arrow-long-left.svg │ │ ├── arrow-long-right.svg │ │ ├── arrow-long-up.svg │ │ ├── arrow-path-rounded-square.svg │ │ ├── arrow-path.svg │ │ ├── arrow-right-circle.svg │ │ ├── arrow-right-on-rectangle.svg │ │ ├── arrow-right.svg │ │ ├── arrow-small-down.svg │ │ ├── arrow-small-left.svg │ │ ├── arrow-small-right.svg │ │ ├── arrow-small-up.svg │ │ ├── arrow-top-right-on-square.svg │ │ ├── arrow-trending-down.svg │ │ ├── arrow-trending-up.svg │ │ ├── arrow-up-circle.svg │ │ ├── arrow-up-left.svg │ │ ├── arrow-up-on-square-stack.svg │ │ ├── arrow-up-on-square.svg │ │ ├── arrow-up-right.svg │ │ ├── arrow-up-tray.svg │ │ ├── arrow-up.svg │ │ ├── arrow-uturn-down.svg │ │ ├── arrow-uturn-left.svg │ │ ├── arrow-uturn-right.svg │ │ ├── arrow-uturn-up.svg │ │ ├── arrows-pointing-in.svg │ │ ├── arrows-pointing-out.svg │ │ ├── arrows-right-left.svg │ │ ├── arrows-up-down.svg │ │ ├── at-symbol.svg │ │ ├── backspace.svg │ │ ├── backward.svg │ │ ├── banknotes.svg │ │ ├── bars-2.svg │ │ ├── bars-3-bottom-left.svg │ │ ├── bars-3-bottom-right.svg │ │ ├── bars-3-center-left.svg │ │ ├── bars-3.svg │ │ ├── bars-4.svg │ │ ├── bars-arrow-down.svg │ │ ├── bars-arrow-up.svg │ │ ├── battery-0.svg │ │ ├── battery-100.svg │ │ ├── battery-50.svg │ │ ├── beaker.svg │ │ ├── bell-alert.svg │ │ ├── bell-slash.svg │ │ ├── bell-snooze.svg │ │ ├── bell.svg │ │ ├── bolt-slash.svg │ │ ├── bolt.svg │ │ ├── book-open.svg │ │ ├── bookmark-slash.svg │ │ ├── bookmark-square.svg │ │ ├── bookmark.svg │ │ ├── briefcase.svg │ │ ├── bug-ant.svg │ │ ├── building-library.svg │ │ ├── building-office-2.svg │ │ ├── building-office.svg │ │ ├── building-storefront.svg │ │ ├── cake.svg │ │ ├── calculator.svg │ │ ├── calendar-days.svg │ │ ├── calendar.svg │ │ ├── camera.svg │ │ ├── chart-bar-square.svg │ │ ├── chart-bar.svg │ │ ├── chart-pie.svg │ │ ├── chat-bubble-bottom-center-text.svg │ │ ├── chat-bubble-bottom-center.svg │ │ ├── chat-bubble-left-ellipsis.svg │ │ ├── chat-bubble-left-right.svg │ │ ├── chat-bubble-left.svg │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ ├── chat-bubble-oval-left.svg │ │ ├── check-badge.svg │ │ ├── check-circle.svg │ │ ├── check.svg │ │ ├── chevron-double-down.svg │ │ ├── chevron-double-left.svg │ │ ├── chevron-double-right.svg │ │ ├── chevron-double-up.svg │ │ ├── chevron-down.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-up-down.svg │ │ ├── chevron-up.svg │ │ ├── circle-stack.svg │ │ ├── clipboard-document-check.svg │ │ ├── clipboard-document-list.svg │ │ ├── clipboard-document.svg │ │ ├── clipboard.svg │ │ ├── clock.svg │ │ ├── cloud-arrow-down.svg │ │ ├── cloud-arrow-up.svg │ │ ├── cloud.svg │ │ ├── code-bracket-square.svg │ │ ├── code-bracket.svg │ │ ├── cog-6-tooth.svg │ │ ├── cog-8-tooth.svg │ │ ├── cog.svg │ │ ├── command-line.svg │ │ ├── computer-desktop.svg │ │ ├── cpu-chip.svg │ │ ├── credit-card.svg │ │ ├── cube-transparent.svg │ │ ├── cube.svg │ │ ├── currency-bangladeshi.svg │ │ ├── currency-dollar.svg │ │ ├── currency-euro.svg │ │ ├── currency-pound.svg │ │ ├── currency-rupee.svg │ │ ├── currency-yen.svg │ │ ├── cursor-arrow-rays.svg │ │ ├── cursor-arrow-ripple.svg │ │ ├── device-phone-mobile.svg │ │ ├── device-tablet.svg │ │ ├── document-arrow-down.svg │ │ ├── document-arrow-up.svg │ │ ├── document-chart-bar.svg │ │ ├── document-check.svg │ │ ├── document-duplicate.svg │ │ ├── document-magnifying-glass.svg │ │ ├── document-minus.svg │ │ ├── document-plus.svg │ │ ├── document-text.svg │ │ ├── document.svg │ │ ├── ellipsis-horizontal-circle.svg │ │ ├── ellipsis-horizontal.svg │ │ ├── ellipsis-vertical.svg │ │ ├── envelope-open.svg │ │ ├── envelope.svg │ │ ├── exclamation-circle.svg │ │ ├── exclamation-triangle.svg │ │ ├── eye-dropper.svg │ │ ├── eye-slash.svg │ │ ├── eye.svg │ │ ├── face-frown.svg │ │ ├── face-smile.svg │ │ ├── film.svg │ │ ├── finger-print.svg │ │ ├── fire.svg │ │ ├── flag.svg │ │ ├── folder-arrow-down.svg │ │ ├── folder-minus.svg │ │ ├── folder-open.svg │ │ ├── folder-plus.svg │ │ ├── folder.svg │ │ ├── forward.svg │ │ ├── funnel.svg │ │ ├── gif.svg │ │ ├── gift-top.svg │ │ ├── gift.svg │ │ ├── globe-alt.svg │ │ ├── globe-americas.svg │ │ ├── globe-asia-australia.svg │ │ ├── globe-europe-africa.svg │ │ ├── hand-raised.svg │ │ ├── hand-thumb-down.svg │ │ ├── hand-thumb-up.svg │ │ ├── hashtag.svg │ │ ├── heart.svg │ │ ├── home-modern.svg │ │ ├── home.svg │ │ ├── identification.svg │ │ ├── inbox-arrow-down.svg │ │ ├── inbox-stack.svg │ │ ├── inbox.svg │ │ ├── information-circle.svg │ │ ├── key.svg │ │ ├── language.svg │ │ ├── lifebuoy.svg │ │ ├── light-bulb.svg │ │ ├── link.svg │ │ ├── list-bullet.svg │ │ ├── lock-closed.svg │ │ ├── lock-open.svg │ │ ├── magnifying-glass-circle.svg │ │ ├── magnifying-glass-minus.svg │ │ ├── magnifying-glass-plus.svg │ │ ├── magnifying-glass.svg │ │ ├── map-pin.svg │ │ ├── map.svg │ │ ├── megaphone.svg │ │ ├── microphone.svg │ │ ├── minus-circle.svg │ │ ├── minus-small.svg │ │ ├── minus.svg │ │ ├── moon.svg │ │ ├── musical-note.svg │ │ ├── newspaper.svg │ │ ├── no-symbol.svg │ │ ├── paint-brush.svg │ │ ├── paper-airplane.svg │ │ ├── paper-clip.svg │ │ ├── pause-circle.svg │ │ ├── pause.svg │ │ ├── pencil-square.svg │ │ ├── pencil.svg │ │ ├── phone-arrow-down-left.svg │ │ ├── phone-arrow-up-right.svg │ │ ├── phone-x-mark.svg │ │ ├── phone.svg │ │ ├── photo.svg │ │ ├── play-circle.svg │ │ ├── play-pause.svg │ │ ├── play.svg │ │ ├── plus-circle.svg │ │ ├── plus-small.svg │ │ ├── plus.svg │ │ ├── power.svg │ │ ├── presentation-chart-bar.svg │ │ ├── presentation-chart-line.svg │ │ ├── printer.svg │ │ ├── puzzle-piece.svg │ │ ├── qr-code.svg │ │ ├── question-mark-circle.svg │ │ ├── queue-list.svg │ │ ├── radio.svg │ │ ├── receipt-percent.svg │ │ ├── receipt-refund.svg │ │ ├── rectangle-group.svg │ │ ├── rectangle-stack.svg │ │ ├── rocket-launch.svg │ │ ├── rss.svg │ │ ├── scale.svg │ │ ├── scissors.svg │ │ ├── server-stack.svg │ │ ├── server.svg │ │ ├── share.svg │ │ ├── shield-check.svg │ │ ├── shield-exclamation.svg │ │ ├── shopping-bag.svg │ │ ├── shopping-cart.svg │ │ ├── signal-slash.svg │ │ ├── signal.svg │ │ ├── sparkles.svg │ │ ├── speaker-wave.svg │ │ ├── speaker-x-mark.svg │ │ ├── square-2-stack.svg │ │ ├── square-3-stack-3d.svg │ │ ├── squares-2x2.svg │ │ ├── squares-plus.svg │ │ ├── star.svg │ │ ├── stop-circle.svg │ │ ├── stop.svg │ │ ├── sun.svg │ │ ├── swatch.svg │ │ ├── table-cells.svg │ │ ├── tag.svg │ │ ├── ticket.svg │ │ ├── trash.svg │ │ ├── trophy.svg │ │ ├── truck.svg │ │ ├── tv.svg │ │ ├── user-circle.svg │ │ ├── user-group.svg │ │ ├── user-minus.svg │ │ ├── user-plus.svg │ │ ├── user.svg │ │ ├── users.svg │ │ ├── variable.svg │ │ ├── video-camera-slash.svg │ │ ├── video-camera.svg │ │ ├── view-columns.svg │ │ ├── viewfinder-circle.svg │ │ ├── wallet.svg │ │ ├── wifi.svg │ │ ├── window.svg │ │ ├── wrench-screwdriver.svg │ │ ├── wrench.svg │ │ ├── x-circle.svg │ │ └── x-mark.svg │ └── topbar.js ├── config ├── config.exs ├── dev.exs ├── prod.exs ├── runtime.exs └── test.exs ├── coveralls.json ├── lib ├── heimdall.ex ├── heimdall │ ├── admin.ex │ ├── application.ex │ ├── data │ │ ├── secret.ex │ │ └── secret │ │ │ ├── attempt.ex │ │ │ └── read.ex │ ├── encryption_algo.ex │ ├── encryption_algo │ │ ├── aes_gcm.ex │ │ ├── plaintext.ex │ │ └── rsa.ex │ ├── release.ex │ ├── repo.ex │ ├── secrets.ex │ └── secrets_pruner.ex ├── heimdall_web.ex └── heimdall_web │ ├── components │ ├── core_components.ex │ ├── layouts.ex │ └── layouts │ │ ├── app.html.heex │ │ └── root.html.heex │ ├── controllers │ ├── admin │ │ ├── dashboard_controller.ex │ │ ├── dashboard_html.ex │ │ └── dashboard_html │ │ │ └── index.html.heex │ ├── api │ │ └── health_controller.ex │ ├── error_html.ex │ ├── error_json.ex │ ├── secret_controller.ex │ ├── secret_html.ex │ └── secret_html │ │ ├── new.html.heex │ │ ├── secret_404.html.heex │ │ ├── show.html.heex │ │ └── successfully_created.html.heex │ ├── endpoint.ex │ ├── gettext.ex │ ├── live │ ├── admin_dashboard_live.ex │ ├── admin_dashboard_live.html.heex │ ├── secret_revealer_live.ex │ └── secret_revealer_live.html.heex │ ├── router.ex │ └── telemetry.ex ├── mix.exs ├── mix.lock ├── priv ├── gettext │ ├── en │ │ └── LC_MESSAGES │ │ │ └── errors.po │ └── errors.pot ├── repo │ ├── migrations │ │ ├── .formatter.exs │ │ ├── 20231028002111_create_secrets.exs │ │ ├── 20231029164755_create_secret_attempts.exs │ │ └── 20231029164930_create_secret_reads.exs │ └── seeds.exs └── static │ ├── favicon.ico │ ├── images │ └── logo.svg │ └── robots.txt └── test ├── heimdall ├── admin_test.exs ├── data │ ├── secret │ │ ├── attempt_test.exs │ │ └── read_test.exs │ └── secret_test.exs ├── encryption_algo │ ├── aes_gcm_test.exs │ ├── plaintext_test.exs │ └── rsa_test.exs ├── secrets_pruner_test.exs └── secrets_test.exs ├── heimdall_web ├── controllers │ ├── admin │ │ └── dashboard_controller_test.exs │ ├── api │ │ └── health_controller_test.exs │ ├── error_html_test.exs │ ├── error_json_test.exs │ └── secret_controller_test.exs ├── live │ ├── admin_dashboard_live_test.exs │ └── secret_revealer_live_test.exs └── router_test.exs ├── support ├── conn_case.ex ├── data_case.ex ├── factory.ex └── keys │ ├── example-private-key.pem │ └── example-public-key.pem └── test_helper.exs /.development/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | db: 4 | image: postgis/postgis:13-3.3-alpine 5 | environment: 6 | POSTGRES_USER: postgres 7 | POSTGRES_PASSWORD: postgres 8 | ports: 9 | - "5432:5432" 10 | volumes: 11 | - ../tmp/postgresql:/var/lib/postgresql/data 12 | 13 | -------------------------------------------------------------------------------- /.envrc: -------------------------------------------------------------------------------- 1 | export ADMIN_USER=admin 2 | export ADMIN_PASSWORD=admin 3 | export PRUNE_OLD_SECRETS=true 4 | -------------------------------------------------------------------------------- /.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | import_deps: [:ecto, :ecto_sql, :phoenix], 3 | subdirectories: ["priv/*/migrations"], 4 | plugins: [Phoenix.LiveView.HTMLFormatter], 5 | inputs: [ 6 | "*.{heex,ex,exs}", 7 | "{config,lib,test}/**/*.{heex,ex,exs}", 8 | "priv/*/seeds.exs" 9 | ], 10 | line_length: 80 11 | ] 12 | -------------------------------------------------------------------------------- /.tool-versions: -------------------------------------------------------------------------------- 1 | elixir 1.14.4-otp-26 2 | erlang 26.0 3 | nodejs 14.16.0 4 | -------------------------------------------------------------------------------- /assets/css/app.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss/base"; 2 | @import "tailwindcss/components"; 3 | @import "tailwindcss/utilities"; 4 | 5 | /* This file is for your main application CSS */ 6 | -------------------------------------------------------------------------------- /assets/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "heimdall", 3 | "version": "0.0.1", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "format": "prettier -w . ../priv/**/*.html", 8 | "check_formatted": "prettier -c . ../priv/**/*.html" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "alpinejs": "^3.11.1" 15 | }, 16 | "devDependencies": { 17 | "prettier": "2.8.4" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/UPGRADE.md: -------------------------------------------------------------------------------- 1 | You are running heroicons v2.0.16. To upgrade in place, you can run the following command, 2 | where your `HERO_VSN` export is your desired version: 3 | 4 | export HERO_VSN="2.0.16" ; \ 5 | curl -L "https://github.com/tailwindlabs/heroicons/archive/refs/tags/v${HERO_VSN}.tar.gz" | \ 6 | tar -xv --strip-components=1 heroicons-${HERO_VSN}/optimized 7 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/archive-box.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/at-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/book-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chart-bar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chat-bubble-oval-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/check-badge.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/credit-card.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/currency-yen.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/device-tablet.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/document-check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/document-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/document-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/document-text.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/document.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/ellipsis-horizontal-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/envelope-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/envelope.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/eye.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/face-frown.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/face-smile.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/flag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/folder-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/folder.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/hand-raised.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/heart.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/home.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/information-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/key.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/light-bulb.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/magnifying-glass-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/magnifying-glass-plus.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/microphone.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/paint-brush.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/pause-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/play-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/play-pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/question-mark-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/rss.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/share.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/star.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/swatch.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/tag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/tv.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/user-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/user-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/video-camera-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/20/solid/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/adjustments-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/adjustments-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down-tray.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-left-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-left-on-rectangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-path.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-right-on-rectangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-top-right-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-trending-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-trending-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up-tray.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrows-pointing-in.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrows-pointing-out.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrows-right-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/arrows-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/at-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-4.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bars-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/battery-100.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/battery-50.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bell-snooze.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bolt-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/book-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/building-library.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/building-office.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/calendar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chart-bar-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chat-bubble-oval-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-double-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/code-bracket-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/code-bracket.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/command-line.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/credit-card.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-bangladeshi.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-dollar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-euro.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-pound.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-rupee.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/currency-yen.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cursor-arrow-rays.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/cursor-arrow-ripple.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/device-phone-mobile.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/device-tablet.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/ellipsis-horizontal-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/eye-dropper.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/flag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/folder-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/folder-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/hashtag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/heart.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/home-modern.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/home.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/information-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/key.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/language.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/light-bulb.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/link.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/magnifying-glass-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/magnifying-glass-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/map-pin.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/microphone.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/paper-clip.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/pause-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/play-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/play-pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/presentation-chart-bar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/question-mark-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/receipt-refund.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/rss.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/shield-check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/shield-exclamation.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/square-3-stack-3d.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/sun.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/tv.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/user-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/user-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/viewfinder-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/wifi.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/window.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/outline/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-left-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bolt-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/book-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/calendar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chat-bubble-oval-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-double-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/clipboard.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/command-line.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/credit-card.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/envelope.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/fire.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/folder-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/folder-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/folder-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/folder.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/microphone.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/play-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/rectangle-stack.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/share.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/star.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/tag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/video-camera-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /assets/vendor/heroicons/optimized/24/solid/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /config/prod.exs: -------------------------------------------------------------------------------- 1 | import Config 2 | 3 | config :heimdall, HeimdallWeb.Endpoint, 4 | cache_static_manifest: "priv/static/cache_manifest.json" 5 | 6 | config :logger, level: :info 7 | -------------------------------------------------------------------------------- /lib/heimdall.ex: -------------------------------------------------------------------------------- 1 | defmodule Heimdall do 2 | @moduledoc """ 3 | Heimdall keeps the contexts that define your domain 4 | and business logic. 5 | 6 | Contexts are also responsible for managing your data, regardless 7 | if it comes from the database, an external API or others. 8 | """ 9 | end 10 | -------------------------------------------------------------------------------- /lib/heimdall/encryption_algo.ex: -------------------------------------------------------------------------------- 1 | defmodule Heimdall.EncryptionAlgo do 2 | @moduledoc """ 3 | This module defines behavior needed to be followed by an encryption algo to 4 | work with Heimdall 5 | """ 6 | 7 | @callback encrypt(String.t(), String.t()) :: String.t() 8 | 9 | @callback decrypt(String.t(), String.t()) :: String.t() 10 | end 11 | -------------------------------------------------------------------------------- /lib/heimdall/repo.ex: -------------------------------------------------------------------------------- 1 | defmodule Heimdall.Repo do 2 | use Ecto.Repo, 3 | otp_app: :heimdall, 4 | adapter: Ecto.Adapters.Postgres 5 | end 6 | -------------------------------------------------------------------------------- /lib/heimdall_web/components/layouts.ex: -------------------------------------------------------------------------------- 1 | defmodule HeimdallWeb.Layouts do 2 | @moduledoc false 3 | 4 | use HeimdallWeb, :html 5 | 6 | embed_templates "layouts/*" 7 | end 8 | -------------------------------------------------------------------------------- /lib/heimdall_web/components/layouts/app.html.heex: -------------------------------------------------------------------------------- 1 |