openvibers/openvibe.shared Commits

Add the on-device QR encoder and three brands (#296)

OP OpenVibers committed 7 days ago · 37538885ab · 9 files, +713 −6

* Add the on-device QR encoder and three brands

ov-qr.js draws a QR code from a link entirely on the device: byte mode
(UTF-8), versions 1-40, all four error correction levels, all eight
masks with the standard penalty rules, format and version information.
SVG output is one path with crisp edges and an escaped title.

The tests compare 300 strings at every level module for module with
bwip-js 4.11.4, pinned to the same version and mask, and check its own
smallest-version choice.

brands.js gains tumblr, ycombinator (Hacker News) and line from
simple-icons 16.36.0; ov-glyphs.js carries the new Font Awesome map.

* Keep the navbar's glyphs hash current

ov-glyphs.js changed with the three new brands, so the generated
SIBLING_REV entry for it is refreshed. This is the one generated line
in navbar.js; the Share sheet's own navbar changes are left alone.

Changes

ddiff --git a/brands.js b/brands.js
iindex 400e423..31fd8b1 100644
---- a/brands.js
++++ b/brands.js
@@@ -2,7 +2,7 @@
/* Generated by scripts/build-brands.js from simple-icons 16.36.0 (CC0-1.0, https://simpleicons.org). Do not edit. */
/**
* openvibe-shared/brands — the brand logos OpenVibe shows, in place of Font Awesome's fa-brands (plan L54 K4):
-- * 46 brands on a 24-unit grid, filled, each with its own colour. Brand names are their owners' marks; Simple Icons'
++ * 49 brands on a 24-unit grid, filled, each with its own colour. Brand names are their owners' marks; Simple Icons'
* drawings are public domain.
*
* brands.get('youtube') → { title, hex, path } or null
@@@ -14,8 +14,8 @@
if (typeof module === 'object' && module.exports) module.exports = api;
else root.OVBrands = api;
})(typeof globalThis !== 'undefined' ? globalThis : this, function () {
-- const BRANDS = {"android":{"title":"Android","hex":"#3ddc84","path":"M18.4395 5.5586c-.675 1.1664-1.352 2.3318-2.0274 3.498-.0366-.0155-.0742-.0286-.1113-.043-1.8249-.6957-3.484-.8-4.42-.787-1.8551.0185-3.3544.4643-4.2597.8203-.084-.1494-1.7526-3.021-2.0215-3.4864a1.1451 1.1451 0 0 0-.1406-.1914c-.3312-.364-.9054-.4859-1.379-.203-.475.282-.7136.9361-.3886 1.5019 1.9466 3.3696-.0966-.2158 1.9473 3.3593.0172.031-.4946.2642-1.3926 1.0177C2.8987 12.176.452 14.772 0 18.9902h24c-.119-1.1108-.3686-2.099-.7461-3.0683-.7438-1.9118-1.8435-3.2928-2.7402-4.1836a12.1048 12.1048 0 0 0-2.1309-1.6875c.6594-1.122 1.312-2.2559 1.9649-3.3848.2077-.3615.1886-.7956-.0079-1.1191a1.1001 1.1001 0 0 0-.8515-.5332c-.5225-.0536-.9392.3128-1.0488.5449zm-.0391 8.461c.3944.5926.324 1.3306-.1563 1.6503-.4799.3197-1.188.0985-1.582-.4941-.3944-.5927-.324-1.3307.1563-1.6504.4727-.315 1.1812-.1086 1.582.4941zM7.207 13.5273c.4803.3197.5506 1.0577.1563 1.6504-.394.5926-1.1038.8138-1.584.4941-.48-.3197-.5503-1.0577-.1563-1.6504.4008-.6021 1.1087-.8106 1.584-.4941z"},"apple":{"title":"Apple","hex":"#000000","path":"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"},"bitcoin":{"title":"Bitcoin","hex":"#f7931a","path":"M23.638 14.904c-1.602 6.43-8.113 10.34-14.542 8.736C2.67 22.05-1.244 15.525.362 9.105 1.962 2.67 8.475-1.243 14.9.358c6.43 1.605 10.342 8.115 8.738 14.548v-.002zm-6.35-4.613c.24-1.59-.974-2.45-2.64-3.03l.54-2.153-1.315-.33-.525 2.107c-.345-.087-.705-.167-1.064-.25l.526-2.127-1.32-.33-.54 2.165c-.285-.067-.565-.132-.84-.2l-1.815-.45-.35 1.407s.975.225.955.236c.535.136.63.486.615.766l-1.477 5.92c-.075.166-.24.406-.614.314.015.02-.96-.24-.96-.24l-.66 1.51 1.71.426.93.242-.54 2.19 1.32.327.54-2.17c.36.1.705.19 1.05.273l-.51 2.154 1.32.33.545-2.19c2.24.427 3.93.257 4.64-1.774.57-1.637-.03-2.58-1.217-3.196.854-.193 1.5-.76 1.68-1.93h.01zm-3.01 4.22c-.404 1.64-3.157.75-4.05.53l.72-2.9c.896.23 3.757.67 3.33 2.37zm.41-4.24c-.37 1.49-2.662.735-3.405.55l.654-2.64c.744.18 3.137.524 2.75 2.084v.006z"},"bluesky":{"title":"Bluesky","hex":"#1185fe","path":"M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037-.856 3.061-3.978 3.842-6.755 3.37 4.854.826 6.089 3.562 3.422 6.299-5.065 5.196-7.28-1.304-7.847-2.97-.104-.305-.152-.448-.153-.327 0-.121-.05.022-.153.327-.568 1.666-2.782 8.166-7.847 2.97-2.667-2.737-1.432-5.473 3.422-6.3-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026"},"brave":{"title":"Brave","hex":"#fb542b","path":"M15.68 0l2.096 2.38s1.84-.512 2.709.358c.868.87 1.584 1.638 1.584 1.638l-.562 1.381.715 2.047s-2.104 7.98-2.35 8.955c-.486 1.919-.818 2.66-2.198 3.633-1.38.972-3.884 2.66-4.293 2.916-.409.256-.92.692-1.38.692-.46 0-.97-.436-1.38-.692a185.796 185.796 0 01-4.293-2.916c-1.38-.973-1.712-1.714-2.197-3.633-.247-.975-2.351-8.955-2.351-8.955l.715-2.047-.562-1.381s.716-.768 1.585-1.638c.868-.87 2.708-.358 2.708-.358L8.321 0h7.36zm-3.679 14.936c-.14 0-1.038.317-1.758.69-.72.373-1.242.637-1.409.742-.167.104-.065.301.087.409.152.107 2.194 1.69 2.393 1.866.198.175.489.464.687.464.198 0 .49-.29.688-.464.198-.175 2.24-1.759 2.392-1.866.152-.108.254-.305.087-.41-.167-.104-.689-.368-1.41-.741-.72-.373-1.617-.69-1.757-.69zm0-11.278s-.409.001-1.022.206-1.278.46-1.584.46c-.307 0-2.581-.434-2.581-.434S4.119 7.152 4.119 7.849c0 .697.339.881.68 1.243l2.02 2.149c.192.203.59.511.356 1.066-.235.555-.58 1.26-.196 1.977.384.716 1.042 1.194 1.464 1.115.421-.08 1.412-.598 1.776-.834.364-.237 1.518-1.19 1.518-1.554 0-.365-1.193-1.02-1.413-1.168-.22-.15-1.226-.725-1.247-.95-.02-.227-.012-.293.284-.851.297-.559.831-1.304.742-1.8-.089-.495-.95-.753-1.565-.986-.615-.232-1.799-.671-1.947-.74-.148-.068-.11-.133.339-.175.448-.043 1.719-.212 2.292-.052.573.16 1.552.403 1.632.532.079.13.149.134.067.579-.081.445-.5 2.581-.541 2.96-.04.38-.12.63.288.724.409.094 1.097.256 1.333.256s.924-.162 1.333-.256c.408-.093.329-.344.288-.723-.04-.38-.46-2.516-.541-2.961-.082-.445-.012-.45.067-.579.08-.129 1.059-.372 1.632-.532.573-.16 1.845.009 2.292.052.449.042.487.107.339.175-.148.069-1.332.508-1.947.74-.615.233-1.476.49-1.565.986-.09.496.445 1.241.742 1.8.297.558.304.624.284.85-.02.226-1.026.802-1.247.95-.22.15-1.413.804-1.413 1.169 0 .364 1.154 1.317 1.518 1.554.364.236 1.355.755 1.776.834.422.079 1.08-.4 1.464-1.115.384-.716.039-1.422-.195-1.977-.235-.555.163-.863.355-1.066l2.02-2.149c.341-.362.68-.546.68-1.243 0-.697-2.695-3.96-2.695-3.96s-2.274.436-2.58.436c-.307 0-.972-.256-1.585-.461-.613-.205-1.022-.206-1.022-.206z"},"cloudflare":{"title":"Cloudflare","hex":"#f38020","path":"M16.5088 16.8447c.1475-.5068.0908-.9707-.1553-1.3154-.2246-.3164-.6045-.499-1.0615-.5205l-8.6592-.1123a.1559.1559 0 0 1-.1333-.0713c-.0283-.042-.0351-.0986-.021-.1553.0278-.084.1123-.1484.2036-.1562l8.7359-.1123c1.0351-.0489 2.1601-.8868 2.5537-1.9136l.499-1.3013c.0215-.0561.0293-.1128.0147-.168-.5625-2.5463-2.835-4.4453-5.5499-4.4453-2.5039 0-4.6284 1.6177-5.3876 3.8614-.4927-.3658-1.1187-.5625-1.794-.499-1.2026.119-2.1665 1.083-2.2861 2.2856-.0283.31-.0069.6128.0635.894C1.5683 13.171 0 14.7754 0 16.752c0 .1748.0142.3515.0352.5273.0141.083.0844.1475.1689.1475h15.9814c.0909 0 .1758-.0645.2032-.1553l.12-.4268zm2.7568-5.5634c-.0771 0-.1611 0-.2383.0112-.0566 0-.1054.0415-.127.0976l-.3378 1.1744c-.1475.5068-.0918.9707.1543 1.3164.2256.3164.6055.498 1.0625.5195l1.8437.1133c.0557 0 .1055.0263.1329.0703.0283.043.0351.1074.0214.1562-.0283.084-.1132.1485-.204.1553l-1.921.1123c-1.041.0488-2.1582.8867-2.5527 1.914l-.1406.3585c-.0283.0713.0215.1416.0986.1416h6.5977c.0771 0 .1474-.0489.169-.126.1122-.4082.1757-.837.1757-1.2803 0-2.6025-2.125-4.727-4.7344-4.727"},"discord":{"title":"Discord","hex":"#5865f2","path":"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"},"docker":{"title":"Docker","hex":"#2496ed","path":"M13.983 11.078h2.119a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.119a.185.185 0 00-.185.185v1.888c0 .102.083.185.185.185m-2.954-5.43h2.118a.186.186 0 00.186-.186V3.574a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m0 2.716h2.118a.187.187 0 00.186-.186V6.29a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.887c0 .102.082.185.185.186m-2.93 0h2.12a.186.186 0 00.184-.186V6.29a.185.185 0 00-.185-.185H8.1a.185.185 0 00-.185.185v1.887c0 .102.083.185.185.186m-2.964 0h2.119a.186.186 0 00.185-.186V6.29a.185.185 0 00-.185-.185H5.136a.186.186 0 00-.186.185v1.887c0 .102.084.185.186.186m5.893 2.715h2.118a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m-2.93 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.083.185.185.185m-2.964 0h2.119a.185.185 0 00.185-.185V9.006a.185.185 0 00-.184-.186h-2.12a.186.186 0 00-.186.186v1.887c0 .102.084.185.186.185m-2.92 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.082.185.185.185M23.763 9.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612 1.43-.23.97-.09 1.882.403 2.661-.595.332-1.55.413-1.744.42H.751a.751.751 0 00-.75.748 11.376 11.376 0 00.692 4.062c.545 1.428 1.355 2.48 2.41 3.124 1.18.723 3.1 1.137 5.275 1.137.983.003 1.963-.086 2.93-.266a12.248 12.248 0 003.823-1.389c.98-.567 1.86-1.288 2.61-2.136 1.252-1.418 1.998-2.997 2.553-4.4h.221c1.372 0 2.215-.549 2.68-1.009.309-.293.55-.65.707-1.046l.098-.288Z"},"ethereum":{"title":"Ethereum","hex":"#3c3c3d","path":"M11.944 17.97L4.58 13.62 11.943 24l7.37-10.38-7.372 4.35h.003zM12.056 0L4.69 12.223l7.365 4.354 7.365-4.35L12.056 0z"},"facebook":{"title":"Facebook","hex":"#0866ff","path":"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"},"firefoxbrowser":{"title":"Firefox Browser","hex":"#ff7139","path":"M8.824 7.287c.008 0 .004 0 0 0zm-2.8-1.4c.006 0 .003 0 0 0zm16.754 2.161c-.505-1.215-1.53-2.528-2.333-2.943.654 1.283 1.033 2.57 1.177 3.53l.002.02c-1.314-3.278-3.544-4.6-5.366-7.477-.091-.147-.184-.292-.273-.446a3.545 3.545 0 01-.13-.24 2.118 2.118 0 01-.172-.46.03.03 0 00-.027-.03.038.038 0 00-.021 0l-.006.001a.037.037 0 00-.01.005L15.624 0c-2.585 1.515-3.657 4.168-3.932 5.856a6.197 6.197 0 00-2.305.587.297.297 0 00-.147.37c.057.162.24.24.396.17a5.622 5.622 0 012.008-.523l.067-.005a5.847 5.847 0 011.957.222l.095.03a5.816 5.816 0 01.616.228c.08.036.16.073.238.112l.107.055a5.835 5.835 0 01.368.211 5.953 5.953 0 012.034 2.104c-.62-.437-1.733-.868-2.803-.681 4.183 2.09 3.06 9.292-2.737 9.02a5.164 5.164 0 01-1.513-.292 4.42 4.42 0 01-.538-.232c-1.42-.735-2.593-2.121-2.74-3.806 0 0 .537-2 3.845-2 .357 0 1.38-.998 1.398-1.287-.005-.095-2.029-.9-2.817-1.677-.422-.416-.622-.616-.8-.767a3.47 3.47 0 00-.301-.227 5.388 5.388 0 01-.032-2.842c-1.195.544-2.124 1.403-2.8 2.163h-.006c-.46-.584-.428-2.51-.402-2.913-.006-.025-.343.176-.389.206-.406.29-.787.616-1.136.974-.397.403-.76.839-1.085 1.303a9.816 9.816 0 00-1.562 3.52c-.003.013-.11.487-.19 1.073-.013.09-.026.181-.037.272a7.8 7.8 0 00-.069.667l-.002.034-.023.387-.001.06C.386 18.795 5.593 24 12.016 24c5.752 0 10.527-4.176 11.463-9.661.02-.149.035-.298.052-.448.232-1.994-.025-4.09-.753-5.844z"},"github":{"title":"GitHub","hex":"#181717","path":"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"},"gitlab":{"title":"GitLab","hex":"#fc6d26","path":"m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z"},"google":{"title":"Google","hex":"#4285f4","path":"M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"},"googlechrome":{"title":"Google Chrome","hex":"#4285f4","path":"M12 0C8.21 0 4.831 1.757 2.632 4.501l3.953 6.848A5.454 5.454 0 0 1 12 6.545h10.691A12 12 0 0 0 12 0zM1.931 5.47A11.943 11.943 0 0 0 0 12c0 6.012 4.42 10.991 10.189 11.864l3.953-6.847a5.45 5.45 0 0 1-6.865-2.29zm13.342 2.166a5.446 5.446 0 0 1 1.45 7.09l.002.001h-.002l-5.344 9.257c.206.01.413.016.621.016 6.627 0 12-5.373 12-12 0-1.54-.29-3.011-.818-4.364zM12 16.364a4.364 4.364 0 1 1 0-8.728 4.364 4.364 0 0 1 0 8.728Z"},"instagram":{"title":"Instagram","hex":"#ff0069","path":"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077"},"kick":{"title":"Kick","hex":"#53fc19","path":"M1.333 0h8v5.333H12V2.667h2.667V0h8v8H20v2.667h-2.667v2.666H20V16h2.667v8h-8v-2.667H12v-2.666H9.333V24h-8Z"},"kickstarter":{"title":"Kickstarter","hex":"#05ce78","path":"M7.168 0c-3.2 0-5.797 2.579-5.797 5.758v12.484C1.371 21.42 3.968 24 7.168 24c1.981 0 3.716-.978 4.768-2.479l.794.79c2.26 2.245 5.943 2.245 8.203 0a5.724 5.724 0 001.696-4.075 5.724 5.724 0 00-1.696-4.074l-2.182-2.168 2.182-2.156a5.724 5.724 0 001.696-4.074 5.724 5.724 0 00-1.696-4.074c-2.26-2.246-5.942-2.246-8.203 0l-.794.789A5.797 5.797 0 007.168 0Z"},"linux":{"title":"Linux","hex":"#fcc624","path":"M12.504 0c-.155 0-.315.008-.48.021-4.226.333-3.105 4.807-3.17 6.298-.076 1.092-.3 1.953-1.05 3.02-.885 1.051-2.127 2.75-2.716 4.521-.278.832-.41 1.684-.287 2.489a.424.424 0 00-.11.135c-.26.268-.45.6-.663.839-.199.199-.485.267-.797.4-.313.136-.658.269-.864.68-.09.189-.136.394-.132.602 0 .199.027.4.055.536.058.399.116.728.04.97-.249.68-.28 1.145-.106 1.484.174.334.535.47.94.601.81.2 1.91.135 2.774.6.926.466 1.866.67 2.616.47.526-.116.97-.464 1.208-.946.587-.003 1.23-.269 2.26-.334.699-.058 1.574.267 2.577.2.025.134.063.198.114.333l.003.003c.391.778 1.113 1.132 1.884 1.071.771-.06 1.592-.536 2.257-1.306.631-.765 1.683-1.084 2.378-1.503.348-.199.629-.469.649-.853.023-.4-.2-.811-.714-1.376v-.097l-.003-.003c-.17-.2-.25-.535-.338-.926-.085-.401-.182-.786-.492-1.046h-.003c-.059-.054-.123-.067-.188-.135a.357.357 0 00-.19-.064c.431-1.278.264-2.55-.173-3.694-.533-1.41-1.465-2.638-2.175-3.483-.796-1.005-1.576-1.957-1.56-3.368.026-2.152.236-6.133-3.544-6.139zm.529 3.405h.013c.213 0 .396.062.584.198.19.135.33.332.438.533.105.259.158.459.166.724 0-.02.006-.04.006-.06v.105a.086.086 0 01-.004-.021l-.004-.024a1.807 1.807 0 01-.15.706.953.953 0 01-.213.335.71.71 0 00-.088-.042c-.104-.045-.198-.064-.284-.133a1.312 1.312 0 00-.22-.066c.05-.06.146-.133.183-.198.053-.128.082-.264.088-.402v-.02a1.21 1.21 0 00-.061-.4c-.045-.134-.101-.2-.183-.333-.084-.066-.167-.132-.267-.132h-.016c-.093 0-.176.03-.262.132a.8.8 0 00-.205.334 1.18 1.18 0 00-.09.4v.019c.002.089.008.179.02.267-.193-.067-.438-.135-.607-.202a1.635 1.635 0 01-.018-.2v-.02a1.772 1.772 0 01.15-.768c.082-.22.232-.406.43-.533a.985.985 0 01.594-.2zm-2.962.059h.036c.142 0 .27.048.399.135.146.129.264.288.344.465.09.199.14.4.153.667v.004c.007.134.006.2-.002.266v.08c-.03.007-.056.018-.083.024-.152.055-.274.135-.393.2.012-.09.013-.18.003-.267v-.015c-.012-.133-.04-.2-.082-.333a.613.613 0 00-.166-.267.248.248 0 00-.183-.064h-.021c-.071.006-.13.04-.186.132a.552.552 0 00-.12.27.944.944 0 00-.023.33v.015c.012.135.037.2.08.334.046.134.098.2.166.268.01.009.02.018.034.024-.07.057-.117.07-.176.136a.304.304 0 01-.131.068 2.62 2.62 0 01-.275-.402 1.772 1.772 0 01-.155-.667 1.759 1.759 0 01.08-.668 1.43 1.43 0 01.283-.535c.128-.133.26-.2.418-.2zm1.37 1.706c.332 0 .733.065 1.216.399.293.2.523.269 1.052.468h.003c.255.136.405.266.478.399v-.131a.571.571 0 01.016.47c-.123.31-.516.643-1.063.842v.002c-.268.135-.501.333-.775.465-.276.135-.588.292-1.012.267a1.139 1.139 0 01-.448-.067 3.566 3.566 0 01-.322-.198c-.195-.135-.363-.332-.612-.465v-.005h-.005c-.4-.246-.616-.512-.686-.71-.07-.268-.005-.47.193-.6.224-.135.38-.271.483-.336.104-.074.143-.102.176-.131h.002v-.003c.169-.202.436-.47.839-.601.139-.036.294-.065.466-.065zm2.8 2.142c.358 1.417 1.196 3.475 1.735 4.473.286.534.855 1.659 1.102 3.024.156-.005.33.018.513.064.646-1.671-.546-3.467-1.089-3.966-.22-.2-.232-.335-.123-.335.59.534 1.365 1.572 1.646 2.757.13.535.16 1.104.021 1.67.067.028.135.06.205.067 1.032.534 1.413.938 1.23 1.537v-.043c-.06-.003-.12 0-.18 0h-.016c.151-.467-.182-.825-1.065-1.224-.915-.4-1.646-.336-1.77.465-.008.043-.013.066-.018.135-.068.023-.139.053-.209.064-.43.268-.662.669-.793 1.187-.13.533-.17 1.156-.205 1.869v.003c-.02.334-.17.838-.319 1.35-1.5 1.072-3.58 1.538-5.348.334a2.645 2.645 0 00-.402-.533 1.45 1.45 0 00-.275-.333c.182 0 .338-.03.465-.067a.615.615 0 00.314-.334c.108-.267 0-.697-.345-1.163-.345-.467-.931-.995-1.788-1.521-.63-.4-.986-.87-1.15-1.396-.165-.534-.143-1.085-.015-1.645.245-1.07.873-2.11 1.274-2.763.107-.065.037.135-.408.974-.396.751-1.14 2.497-.122 3.854a8.123 8.123 0 01.647-2.876c.564-1.278 1.743-3.504 1.836-5.268.048.036.217.135.289.202.218.133.38.333.59.465.21.201.477.335.876.335.039.003.075.006.11.006.412 0 .73-.134.997-.268.29-.134.52-.334.74-.4h.005c.467-.135.835-.402 1.044-.7zm2.185 8.958c.037.6.343 1.245.882 1.377.588.134 1.434-.333 1.791-.765l.211-.01c.315-.007.577.01.847.268l.003.003c.208.199.305.53.391.876.085.4.154.78.409 1.066.486.527.645.906.636 1.14l.003-.007v.018l-.003-.012c-.015.262-.185.396-.498.595-.63.401-1.746.712-2.457 1.57-.618.737-1.37 1.14-2.036 1.191-.664.053-1.237-.2-1.574-.898l-.005-.003c-.21-.4-.12-1.025.056-1.69.176-.668.428-1.344.463-1.897.037-.714.076-1.335.195-1.814.12-.465.308-.797.641-.984l.045-.022zm-10.814.049h.01c.053 0 .105.005.157.014.376.055.706.333 1.023.752l.91 1.664.003.003c.243.533.754 1.064 1.189 1.637.434.598.77 1.131.729 1.57v.006c-.057.744-.48 1.148-1.125 1.294-.645.135-1.52.002-2.395-.464-.968-.536-2.118-.469-2.857-.602-.369-.066-.61-.2-.723-.4-.11-.2-.113-.602.123-1.23v-.004l.002-.003c.117-.334.03-.752-.027-1.118-.055-.401-.083-.71.043-.94.16-.334.396-.4.69-.533.294-.135.64-.202.915-.47h.002v-.002c.256-.268.445-.601.668-.838.19-.201.38-.336.663-.336zm7.159-9.074c-.435.201-.945.535-1.488.535-.542 0-.97-.267-1.28-.466-.154-.134-.28-.268-.373-.335-.164-.134-.144-.333-.074-.333.109.016.129.134.199.2.096.066.215.2.36.333.292.2.68.467 1.167.467.485 0 1.053-.267 1.398-.466.195-.135.445-.334.648-.467.156-.136.149-.267.279-.267.128.016.034.134-.147.332a8.097 8.097 0 01-.69.468zm-1.082-1.583V5.64c-.006-.02.013-.042.029-.05.074-.043.18-.027.26.004.063 0 .16.067.15.135-.006.049-.085.066-.135.066-.055 0-.092-.043-.141-.068-.052-.018-.146-.008-.163-.065zm-.551 0c-.02.058-.113.049-.166.066-.047.025-.086.068-.14.068-.05 0-.13-.02-.136-.068-.01-.066.088-.133.15-.133.08-.031.184-.047.259-.005.019.009.036.03.03.05v.02h.003z"},"mastodon":{"title":"Mastodon","hex":"#6364ff","path":"M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"},"matrix":{"title":"Matrix","hex":"#000000","path":"M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"},"medium":{"title":"Medium","hex":"#000000","path":"M4.21 0A4.201 4.201 0 0 0 0 4.21v15.58A4.201 4.201 0 0 0 4.21 24h15.58A4.201 4.201 0 0 0 24 19.79v-1.093c-.137.013-.278.02-.422.02-2.577 0-4.027-2.146-4.09-4.832a7.592 7.592 0 0 1 .022-.708c.093-1.186.475-2.241 1.105-3.022a3.885 3.885 0 0 1 1.395-1.1c.468-.237 1.127-.367 1.664-.367h.023c.101 0 .202.004.303.01V4.211A4.201 4.201 0 0 0 19.79 0Zm.198 5.583h4.165l3.588 8.435 3.59-8.435h3.864v.146l-.019.004c-.705.16-1.063.397-1.063 1.254h-.003l.003 10.274c.06.676.424.885 1.063 1.03l.02.004v.145h-4.923v-.145l.019-.005c.639-.144.994-.353 1.054-1.03V7.267l-4.745 11.15h-.261L6.15 7.569v9.445c0 .857.358 1.094 1.063 1.253l.02.004v.147H4.405v-.147l.019-.004c.705-.16 1.065-.397 1.065-1.253V6.987c0-.857-.358-1.094-1.064-1.254l-.018-.004zm19.25 3.668c-1.086.023-1.733 1.323-1.813 3.124H24V9.298a1.378 1.378 0 0 0-.342-.047Zm-1.862 3.632c-.1 1.756.86 3.239 2.204 3.634v-3.634z"},"nodedotjs":{"title":"Node.js","hex":"#5fa04e","path":"M11.998,24c-0.321,0-0.641-0.084-0.922-0.247l-2.936-1.737c-0.438-0.245-0.224-0.332-0.08-0.383 c0.585-0.203,0.703-0.25,1.328-0.604c0.065-0.037,0.151-0.023,0.218,0.017l2.256,1.339c0.082,0.045,0.197,0.045,0.272,0l8.795-5.076 c0.082-0.047,0.134-0.141,0.134-0.238V6.921c0-0.099-0.053-0.192-0.137-0.242l-8.791-5.072c-0.081-0.047-0.189-0.047-0.271,0 L3.075,6.68C2.99,6.729,2.936,6.825,2.936,6.921v10.15c0,0.097,0.054,0.189,0.139,0.235l2.409,1.392 c1.307,0.654,2.108-0.116,2.108-0.89V7.787c0-0.142,0.114-0.253,0.256-0.253h1.115c0.139,0,0.255,0.112,0.255,0.253v10.021 c0,1.745-0.95,2.745-2.604,2.745c-0.508,0-0.909,0-2.026-0.551L2.28,18.675c-0.57-0.329-0.922-0.945-0.922-1.604V6.921 c0-0.659,0.353-1.275,0.922-1.603l8.795-5.082c0.557-0.315,1.296-0.315,1.848,0l8.794,5.082c0.57,0.329,0.924,0.944,0.924,1.603 v10.15c0,0.659-0.354,1.273-0.924,1.604l-8.794,5.078C12.643,23.916,12.324,24,11.998,24z M19.099,13.993 c0-1.9-1.284-2.406-3.987-2.763c-2.731-0.361-3.009-0.548-3.009-1.187c0-0.528,0.235-1.233,2.258-1.233 c1.807,0,2.473,0.389,2.747,1.607c0.024,0.115,0.129,0.199,0.247,0.199h1.141c0.071,0,0.138-0.031,0.186-0.081 c0.048-0.054,0.074-0.123,0.067-0.196c-0.177-2.098-1.571-3.076-4.388-3.076c-2.508,0-4.004,1.058-4.004,2.833 c0,1.925,1.488,2.457,3.895,2.695c2.88,0.282,3.103,0.703,3.103,1.269c0,0.983-0.789,1.402-2.642,1.402 c-2.327,0-2.839-0.584-3.011-1.742c-0.02-0.124-0.126-0.215-0.253-0.215h-1.137c-0.141,0-0.254,0.112-0.254,0.253 c0,1.482,0.806,3.248,4.655,3.248C17.501,17.007,19.099,15.91,19.099,13.993z"},"npm":{"title":"npm","hex":"#cb3837","path":"M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z"},"patreon":{"title":"Patreon","hex":"#000000","path":"M22.957 7.21c-.004-3.064-2.391-5.576-5.191-6.482-3.478-1.125-8.064-.962-11.384.604C2.357 3.231 1.093 7.391 1.046 11.54c-.039 3.411.302 12.396 5.369 12.46 3.765.047 4.326-4.804 6.068-7.141 1.24-1.662 2.836-2.132 4.801-2.618 3.376-.836 5.678-3.501 5.673-7.031Z"},"paypal":{"title":"PayPal","hex":"#002991","path":"M15.607 4.653H8.941L6.645 19.251H1.82L4.862 0h7.995c3.754 0 6.375 2.294 6.473 5.513-.648-.478-2.105-.86-3.722-.86m6.57 5.546c0 3.41-3.01 6.853-6.958 6.853h-2.493L11.595 24H6.74l1.845-11.538h3.592c4.208 0 7.346-3.634 7.153-6.949a5.24 5.24 0 0 1 2.848 4.686M9.653 5.546h6.408c.907 0 1.942.222 2.363.541-.195 2.741-2.655 5.483-6.441 5.483H8.714Z"},"pinterest":{"title":"Pinterest","hex":"#bd081c","path":"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z"},"python":{"title":"Python","hex":"#3776ab","path":"M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z"},"raspberrypi":{"title":"Raspberry Pi","hex":"#a22846","path":"m19.8955 10.8961-.1726-.3028c.0068-2.1746-1.0022-3.061-2.1788-3.7348.356-.0938.7237-.1711.8245-.6182.6118-.1566.7397-.4398.8011-.7398.16-.1066.6955-.4061.6394-.9211.2998-.2069.4669-.4725.3819-.8487.3222-.3515.407-.6419.2702-.9096.3868-.4805.2152-.7295.05-.9817.2897-.5254.0341-1.0887-.7758-.9944-.3221-.4733-1.0244-.3659-1.133-.3637-.1215-.1519-.2819-.2821-.7755-.219-.3197-.2851-.6771-.2364-1.0458-.0964-.4378-.3403-.7275-.0675-1.0584.0356-.53-.1706-.6513.0631-.9117.1583-.5781-.1203-.7538.1416-1.0309.4182l-.3224-.0063c-.8719.5061-1.305 1.5366-1.4585 2.0664-.1536-.5299-.5858-1.5604-1.4575-2.0664l-.3223.0063C9.942.5014 9.7663.2394 9.1883.3597 8.9279.2646 8.807.0309 8.2766.2015c-.2172-.0677-.417-.2084-.6522-.2012l.0004.0002C7.5017.0041 7.369.049 7.2185.166c-.3688-.1401-.7262-.1887-1.0459.0964-.4936-.0631-.654.0671-.7756.219C5.2887.4791 4.5862.3717 4.264.845c-.8096-.0943-1.0655.4691-.7756.9944-.1653.2521-.3366.5013.05.9819-.1367.2677-.0519.5581.2703.9096-.085.3763.0822.6418.3819.8487-.0561.515.4795.8144.6394.9211.0614.3001.1894.5832.8011.7398.1008.4472.4685.5244.8245.6183-1.1766.6737-2.1856 1.56-2.1788 3.7348l-.1724.3028c-1.3491.8082-2.5629 3.4056-.6648 5.5167.124.6609.3319 1.1355.5171 1.6609.2769 2.117 2.0841 3.1082 2.5608 3.2255.6984.524 1.4423 1.0212 2.449 1.3696.949.964 1.977 1.3314 3.0107 1.3308.0152 0 .0306.0002.0457 0 1.0337.0006 2.0618-.3668 3.0107-1.3308 1.0067-.3483 1.7506-.8456 2.4491-1.3696.4766-.1173 2.2838-1.1085 2.5607-3.2255.1851-.5253.3931-1 .517-1.6609 1.8981-2.1113.6843-4.7089-.6649-5.517zm-1.0386-.3715c-.0704.8759-4.6354-3.0504-3.8472-3.1808 2.1391-.3558 3.9191.896 3.8472 3.1808zm-2.0155 4.3649c-1.1481.7409-2.8025.2626-3.6953-1.0681-.8928-1.3306-.6858-3.0101.4623-3.7509 1.1481-.7409 2.8025-.2627 3.6953 1.068.8927 1.3307.6858 3.0101-.4623 3.751zM13.6591 1.3721c.0396.1967.0843.321.1354.3577.2537-.272.4611-.5506.7878-.8123.0011.1537-.0776.3205.1169.4425.1752-.2356.4119-.4459.7263-.6244-.1514.2611-.026.3404.0554.4486.24-.2059.4681-.4144.9109-.5759-.121.1474-.2902.2914-.1108.4607.2473-.1544.496-.3086 1.0833-.4183-.1323.1475-.4059.295-.2401.4426.3104-.1186.6539-.2047 1.034-.2546-.182.1496-.3337.2963-.1846.4122.3323-.1022.7899-.2398 1.2372-.1212l-.2832.2849c-.0314.0382.6623.0297 1.1202.0364-.167.2321-.3375.4562-.437.8548.0454.0459.2723.0204.4862 0-.2194.4618-.6004.5783-.6893.776.134.1015.32.075.5232.006-.158.3254-.4892.5484-.7509.8123.0662.047.1818.075.4555.0425-.2418.257-.5339.492-.8802.7032.0614.0708.2722.0681.4678.0727-.3136.3069-.7173.466-1.0955.6668.1885.1288.3234.0988.4678.097-.2676.2198-.7225.3342-1.1448.4668.0803.1249.1607.1589.3324.194-.447.2473-1.0873.1343-1.2679.2607.0435.1243.1665.2053.3139.2728-.7197.0418-2.6879-.0262-3.0652-1.5156.7367-.8094 2.0813-1.7593 4.394-2.934-1.7994.6022-3.4229 1.405-4.7817 2.5096-1.5978-.7436-.4965-2.6197.283-3.3645zm-1.6126 5.3718c1.1329-.0123 2.5356.8325 2.53 1.6286-.005.7027-.9851 1.2715-2.5213 1.2607-1.5043-.0177-2.5172-.7148-2.5137-1.3957.003-.5603 1.2282-1.5263 2.505-1.4936zm-5.7646-.6006c.1717-.0351.252-.0692.3323-.194-.4223-.1327-.8772-.247-1.1448-.4668.1444.0018.2792.0318.4678-.097-.3783-.2008-.782-.3599-1.0956-.6668.1955-.0048.4064-.002.4677-.0728-.3462-.2113-.6383-.4463-.8801-.7033.2738.0325.3893.0045.4555-.0425-.2617-.264-.593-.487-.7509-.8123.2032.069.3892.0954.5232-.006-.089-.1977-.47-.3142-.6894-.776.214.0204.4409.0459.4863 0-.0994-.3985-.2698-.6226-.4369-.8547.4579-.0067 1.1516.0018 1.1202-.0364l-.2831-.2849c.4472-.1186.9049.019 1.2371.1213.1492-.1159-.0026-.2626-.1847-.4123.3801.05.7236.1361 1.034.2547.1659-.1476-.1076-.2951-.24-.4426.5872.1097.8361.2639 1.0833.4183.1794-.1694.0103-.3133-.1108-.4607.4428.1615.6709.37.911.5759.0814-.1082.2068-.1875.0554-.4486.3143.1785.5511.3888.7263.6244.1945-.122.1159-.2888.1169-.4426.3267.2618.534.5404.7879.8124.0511-.0366.0959-.161.1354-.3577.7794.7448 1.8807 2.6208.2831 3.3646-1.3589-1.1039-2.9817-1.9064-4.78-2.5086 2.3115 1.174 3.6556 2.1239 4.392 2.9328-.3773 1.4895-2.3455 1.5575-3.0651 1.5157.1473-.0676.2703-.1485.3139-.2728-.1806-.1264-.8209-.0134-1.2679-.2607zm2.8175 1.1334c.7881.1304-3.7769 4.0567-3.8472 3.1809-.0719-2.2846 1.7079-3.5367 3.8472-3.1809zm-4.847 8.7567c-1.1094-.8789-1.4668-3.4529.5901-4.6097 1.2394-.3273.4184 5.051-.5901 4.6097zm4.2656 4.5989c-.6257.3719-2.1452.2187-3.2252-1.3095-.7283-1.2823-.6345-2.5872-.123-2.9705.7648-.4589 1.9464.1609 2.8559 1.2003.7923.9405 1.1536 2.5927.4923 3.0797zm-1.2415-5.6086c-1.1481-.7409-1.3551-2.4203-.4623-3.7511.8928-1.3307 2.5472-1.8089 3.6952-1.068 1.1481.7409 1.3551 2.4203.4623 3.7509-.8926 1.3308-2.5471 1.809-3.6952 1.0682zm4.7948 8.2279c-1.3763.0584-2.7258-1.1105-2.7081-1.5157-.0206-.594 1.6758-1.0578 2.782-1.0306 1.1131-.0479 2.6068.3531 2.6097.8851.0184.5166-1.3547 1.6838-2.6836 1.6612zm2.7584-5.8578c.0081 1.3899-1.226 2.5225-2.7562 2.5299-1.5302.0073-2.7773-1.1135-2.7854-2.5033v-.0265c-.008-1.3899 1.2259-2.5226 2.7562-2.5299 1.5302-.0073 2.7773 1.1134 2.7853 2.5033a.7794.7794 0 0 1 .0001.0265zm3.855 2.0029c-1.186 1.6208-2.7916 1.684-3.3896 1.2325-.6255-.5811-.148-2.3854.7094-3.3747v-.0003c.9812-1.0912 2.0302-1.8037 2.7609-1.2469.4919.4828.7805 2.3008-.0807 3.3894zm1.0724-3.4301c-1.0086.4413-1.8298-4.9372-.5901-4.61 2.0568 1.1569 1.6994 3.731.5901 4.61zm-.0256-8.3279h.2985v-.5304h.2986c.1502 0 .2053.0624.2262.2052.0152.1088.0113.2395.0477.3253h.2984c-.0533-.0763-.0515-.2358-.0571-.3213-.0097-.1373-.0513-.2796-.1977-.3176v-.0037c.1502-.061.2149-.1807.2149-.341 0-.2048-.1539-.3738-.3974-.3738h-.732v1.3573zm.2985-1.1255h.3269c.1333 0 .2054.0573.2054.188 0 .1369-.0721.1942-.2054.1942H20.03v-.3822zm-1.0337.4633c0 .7009.5682 1.2694 1.2695 1.2694s1.2695-.5684 1.2695-1.2694c0-.7013-.5683-1.2697-1.2695-1.2697-.7013 0-1.2695.5684-1.2695 1.2697zm2.3275 0c0 .5845-.4737 1.058-1.058 1.058s-1.058-.4735-1.058-1.058c0-.5849.4737-1.058 1.058-1.058s1.058.4731 1.058 1.058z"},"reddit":{"title":"Reddit","hex":"#ff4500","path":"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z"},"signal":{"title":"Signal","hex":"#3b45fd","path":"M12 0q-.934 0-1.83.139l.17 1.111a11 11 0 0 1 3.32 0l.172-1.111A12 12 0 0 0 12 0M9.152.34A12 12 0 0 0 5.77 1.742l.584.961a10.8 10.8 0 0 1 3.066-1.27zm5.696 0-.268 1.094a10.8 10.8 0 0 1 3.066 1.27l.584-.962A12 12 0 0 0 14.848.34M12 2.25a9.75 9.75 0 0 0-8.539 14.459c.074.134.1.292.064.441l-1.013 4.338 4.338-1.013a.62.62 0 0 1 .441.064A9.7 9.7 0 0 0 12 21.75c5.385 0 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25m-7.092.068a12 12 0 0 0-2.59 2.59l.909.664a11 11 0 0 1 2.345-2.345zm14.184 0-.664.909a11 11 0 0 1 2.345 2.345l.909-.664a12 12 0 0 0-2.59-2.59M1.742 5.77A12 12 0 0 0 .34 9.152l1.094.268a10.8 10.8 0 0 1 1.269-3.066zm20.516 0-.961.584a10.8 10.8 0 0 1 1.27 3.066l1.093-.268a12 12 0 0 0-1.402-3.383M.138 10.168A12 12 0 0 0 0 12q0 .934.139 1.83l1.111-.17A11 11 0 0 1 1.125 12q0-.848.125-1.66zm23.723.002-1.111.17q.125.812.125 1.66c0 .848-.042 1.12-.125 1.66l1.111.172a12.1 12.1 0 0 0 0-3.662M1.434 14.58l-1.094.268a12 12 0 0 0 .96 2.591l-.265 1.14 1.096.255.36-1.539-.188-.365a10.8 10.8 0 0 1-.87-2.35m21.133 0a10.8 10.8 0 0 1-1.27 3.067l.962.584a12 12 0 0 0 1.402-3.383zm-1.793 3.848a11 11 0 0 1-2.345 2.345l.664.909a12 12 0 0 0 2.59-2.59zm-19.959 1.1L.357 21.48a1.8 1.8 0 0 0 2.162 2.161l1.954-.455-.256-1.095-1.953.455a.675.675 0 0 1-.81-.81l.454-1.954zm16.832 1.769a10.8 10.8 0 0 1-3.066 1.27l.268 1.093a12 12 0 0 0 3.382-1.402zm-10.94.213-1.54.36.256 1.095 1.139-.266c.814.415 1.683.74 2.591.961l.268-1.094a10.8 10.8 0 0 1-2.35-.869zm3.634 1.24-.172 1.111a12.1 12.1 0 0 0 3.662 0l-.17-1.111q-.812.125-1.66.125a11 11 0 0 1-1.66-.125"},"snapchat":{"title":"Snapchat","hex":"#fffc00","path":"M12.206.793c.99 0 4.347.276 5.93 3.821.529 1.193.403 3.219.299 4.847l-.003.06c-.012.18-.022.345-.03.51.075.045.203.09.401.09.3-.016.659-.12 1.033-.301.165-.088.344-.104.464-.104.182 0 .359.029.509.09.45.149.734.479.734.838.015.449-.39.839-1.213 1.168-.089.029-.209.075-.344.119-.45.135-1.139.36-1.333.81-.09.224-.061.524.12.868l.015.015c.06.136 1.526 3.475 4.791 4.014.255.044.435.27.42.509 0 .075-.015.149-.045.225-.24.569-1.273.988-3.146 1.271-.059.091-.12.375-.164.57-.029.179-.074.36-.134.553-.076.271-.27.405-.555.405h-.03c-.135 0-.313-.031-.538-.074-.36-.075-.765-.135-1.273-.135-.3 0-.599.015-.913.074-.6.104-1.123.464-1.723.884-.853.599-1.826 1.288-3.294 1.288-.06 0-.119-.015-.18-.015h-.149c-1.468 0-2.427-.675-3.279-1.288-.599-.42-1.107-.779-1.707-.884-.314-.045-.629-.074-.928-.074-.54 0-.958.089-1.272.149-.211.043-.391.074-.54.074-.374 0-.523-.224-.583-.42-.061-.192-.09-.389-.135-.567-.046-.181-.105-.494-.166-.57-1.918-.222-2.95-.642-3.189-1.226-.031-.063-.052-.15-.055-.225-.015-.243.165-.465.42-.509 3.264-.54 4.73-3.879 4.791-4.02l.016-.029c.18-.345.224-.645.119-.869-.195-.434-.884-.658-1.332-.809-.121-.029-.24-.074-.346-.119-1.107-.435-1.257-.93-1.197-1.273.09-.479.674-.793 1.168-.793.146 0 .27.029.383.074.42.194.789.3 1.104.3.234 0 .384-.06.465-.105l-.046-.569c-.098-1.626-.225-3.651.307-4.837C7.392 1.077 10.739.807 11.727.807l.419-.015h.06z"},"soundcloud":{"title":"SoundCloud","hex":"#ff5500","path":"M23.999 14.165c-.052 1.796-1.612 3.169-3.4 3.169h-8.18a.68.68 0 0 1-.675-.683V7.862a.747.747 0 0 1 .452-.724s.75-.513 2.333-.513a5.364 5.364 0 0 1 2.763.755 5.433 5.433 0 0 1 2.57 3.54c.282-.08.574-.121.868-.12.884 0 1.73.358 2.347.992s.948 1.49.922 2.373ZM10.721 8.421c.247 2.98.427 5.697 0 8.672a.264.264 0 0 1-.53 0c-.395-2.946-.22-5.718 0-8.672a.264.264 0 0 1 .53 0ZM9.072 9.448c.285 2.659.37 4.986-.006 7.655a.277.277 0 0 1-.55 0c-.331-2.63-.256-5.02 0-7.655a.277.277 0 0 1 .556 0Zm-1.663-.257c.27 2.726.39 5.171 0 7.904a.266.266 0 0 1-.532 0c-.38-2.69-.257-5.21 0-7.904a.266.266 0 0 1 .532 0Zm-1.647.77a26.108 26.108 0 0 1-.008 7.147.272.272 0 0 1-.542 0 27.955 27.955 0 0 1 0-7.147.275.275 0 0 1 .55 0Zm-1.67 1.769c.421 1.865.228 3.5-.029 5.388a.257.257 0 0 1-.514 0c-.21-1.858-.398-3.549 0-5.389a.272.272 0 0 1 .543 0Zm-1.655-.273c.388 1.897.26 3.508-.01 5.412-.026.28-.514.283-.54 0-.244-1.878-.347-3.54-.01-5.412a.283.283 0 0 1 .56 0Zm-1.668.911c.4 1.268.257 2.292-.026 3.572a.257.257 0 0 1-.514 0c-.241-1.262-.354-2.312-.023-3.572a.283.283 0 0 1 .563 0Z"},"spotify":{"title":"Spotify","hex":"#1ed760","path":"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"},"steam":{"title":"Steam","hex":"#000000","path":"M11.979 0C5.678 0 .511 4.86.022 11.037l6.432 2.658c.545-.371 1.203-.59 1.912-.59.063 0 .125.004.188.006l2.861-4.142V8.91c0-2.495 2.028-4.524 4.524-4.524 2.494 0 4.524 2.031 4.524 4.527s-2.03 4.525-4.524 4.525h-.105l-4.076 2.911c0 .052.004.105.004.159 0 1.875-1.515 3.396-3.39 3.396-1.635 0-3.016-1.173-3.331-2.727L.436 15.27C1.862 20.307 6.486 24 11.979 24c6.627 0 11.999-5.373 11.999-12S18.605 0 11.979 0zM7.54 18.21l-1.473-.61c.262.543.714.999 1.314 1.25 1.297.539 2.793-.076 3.332-1.375.263-.63.264-1.319.005-1.949s-.75-1.121-1.377-1.383c-.624-.26-1.29-.249-1.878-.03l1.523.63c.956.4 1.409 1.5 1.009 2.455-.397.957-1.497 1.41-2.454 1.012H7.54zm11.415-9.303c0-1.662-1.353-3.015-3.015-3.015-1.665 0-3.015 1.353-3.015 3.015 0 1.665 1.35 3.015 3.015 3.015 1.663 0 3.015-1.35 3.015-3.015zm-5.273-.005c0-1.252 1.013-2.266 2.265-2.266 1.249 0 2.266 1.014 2.266 2.266 0 1.251-1.017 2.265-2.266 2.265-1.253 0-2.265-1.014-2.265-2.265z"},"stripe":{"title":"Stripe","hex":"#635bff","path":"M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.594-7.305h.003z"},"telegram":{"title":"Telegram","hex":"#26a5e4","path":"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"},"threads":{"title":"Threads","hex":"#000000","path":"M18.263 11.097c-.03-3.486-1.92-5.586-5.111-5.586-2.13 0-3.922.963-4.863 2.499l2.062 1.438c.535-.843 1.272-1.543 2.628-1.543 1.528 0 2.318.85 2.544 2.431a15 15 0 0 0-2.236-.173c-4.125 0-6.068 1.867-6.068 4.336s1.943 3.99 4.804 3.99c3.139 0 5.013-2.115 5.781-4.735.798.361 1.348 1.204 1.348 2.47 0 3.387-3.907 5.232-7.22 5.232-4.885 0-8.077-3.207-8.077-8.424 0-6.392 4.223-10.487 9.9-10.487 3.808 0 5.69 1.671 6.97 3.914l2.108-1.475C21.44 2.078 18.331 0 13.663 0 6.227 0 1.168 5.277 1.168 12.934c0 7 4.953 11.066 10.856 11.066 4.878 0 9.809-2.846 9.809-7.716 0-2.545-1.46-4.231-3.569-5.187m-6.33 4.855c-1.077 0-2.026-.512-2.026-1.453 0-1.483 1.822-1.934 3.606-1.934.678 0 1.34.045 1.927.173-.422 1.927-1.671 3.215-3.508 3.214Z"},"tiktok":{"title":"TikTok","hex":"#000000","path":"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"},"twitch":{"title":"Twitch","hex":"#9146ff","path":"M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"},"ubuntu":{"title":"Ubuntu","hex":"#e95420","path":"M17.61.455a3.41 3.41 0 0 0-3.41 3.41 3.41 3.41 0 0 0 3.41 3.41 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41zM12.92.8C8.923.777 5.137 2.941 3.148 6.451a4.5 4.5 0 0 1 .26-.007 4.92 4.92 0 0 1 2.585.737A8.316 8.316 0 0 1 12.688 3.6 4.944 4.944 0 0 1 13.723.834 11.008 11.008 0 0 0 12.92.8zm9.226 4.994a4.915 4.915 0 0 1-1.918 2.246 8.36 8.36 0 0 1-.273 8.303 4.89 4.89 0 0 1 1.632 2.54 11.156 11.156 0 0 0 .559-13.089zM3.41 7.932A3.41 3.41 0 0 0 0 11.342a3.41 3.41 0 0 0 3.41 3.409 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41zm2.027 7.866a4.908 4.908 0 0 1-2.915.358 11.1 11.1 0 0 0 7.991 6.698 11.234 11.234 0 0 0 2.422.249 4.879 4.879 0 0 1-.999-2.85 8.484 8.484 0 0 1-.836-.136 8.304 8.304 0 0 1-5.663-4.32zm11.405.928a3.41 3.41 0 0 0-3.41 3.41 3.41 3.41 0 0 0 3.41 3.41 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41z"},"vimeo":{"title":"Vimeo","hex":"#1ab7ea","path":"M23.9765 6.4168c-.105 2.338-1.739 5.5429-4.894 9.6088-3.2679 4.247-6.0258 6.3699-8.2898 6.3699-1.409 0-2.578-1.294-3.553-3.881l-1.9179-7.1138c-.719-2.584-1.488-3.878-2.312-3.878-.179 0-.806.378-1.8809 1.132l-1.129-1.457a315.06 315.06 0 003.501-3.1279c1.579-1.368 2.765-2.085 3.5539-2.159 1.867-.18 3.016 1.1 3.447 3.838.465 2.953.789 4.789.971 5.5069.5389 2.45 1.1309 3.674 1.7759 3.674.502 0 1.256-.796 2.265-2.385 1.004-1.589 1.54-2.797 1.612-3.628.144-1.371-.395-2.061-1.614-2.061-.574 0-1.167.121-1.777.391 1.186-3.8679 3.434-5.7568 6.7619-5.6368 2.4729.06 3.6279 1.664 3.4929 4.7969z"},"whatsapp":{"title":"WhatsApp","hex":"#25d366","path":"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"},"wikipedia":{"title":"Wikipedia","hex":"#000000","path":"M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.007-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z"},"x":{"title":"X","hex":"#000000","path":"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"},"youtube":{"title":"YouTube","hex":"#ff0000","path":"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"}};
-- const FA = {"youtube":"youtube","square-youtube":"youtube","twitch":"twitch","discord":"discord","github":"github","square-github":"github","x-twitter":"x","square-x-twitter":"x","twitter":"x","kick":"kick","kickstarter-k":"kick","kickstarter":"kickstarter","google":"google","tiktok":"tiktok","threads":"threads","spotify":"spotify","soundcloud":"soundcloud","reddit":"reddit","reddit-alien":"reddit","paypal":"paypal","patreon":"patreon","mastodon":"mastodon","linux":"linux","instagram":"instagram","facebook":"facebook","facebook-f":"facebook","cloudflare":"cloudflare","brave":"brave","bluesky":"bluesky","bitcoin":"bitcoin","apple":"apple","telegram":"telegram","whatsapp":"whatsapp","steam":"steam","snapchat":"snapchat","pinterest":"pinterest","vimeo":"vimeo","vimeo-v":"vimeo","npm":"npm","node":"nodedotjs","node-js":"nodedotjs","docker":"docker","python":"python","android":"android","chrome":"googlechrome","firefox":"firefoxbrowser","firefox-browser":"firefoxbrowser","gitlab":"gitlab","ubuntu":"ubuntu","raspberry":"raspberrypi","raspberry-pi":"raspberrypi","stripe":"stripe","cc-stripe":"stripe","signal":"signal","matrix":"matrix","medium":"medium","wikipedia":"wikipedia","wikipedia-w":"wikipedia","ethereum":"ethereum"};
++ const BRANDS = {"android":{"title":"Android","hex":"#3ddc84","path":"M18.4395 5.5586c-.675 1.1664-1.352 2.3318-2.0274 3.498-.0366-.0155-.0742-.0286-.1113-.043-1.8249-.6957-3.484-.8-4.42-.787-1.8551.0185-3.3544.4643-4.2597.8203-.084-.1494-1.7526-3.021-2.0215-3.4864a1.1451 1.1451 0 0 0-.1406-.1914c-.3312-.364-.9054-.4859-1.379-.203-.475.282-.7136.9361-.3886 1.5019 1.9466 3.3696-.0966-.2158 1.9473 3.3593.0172.031-.4946.2642-1.3926 1.0177C2.8987 12.176.452 14.772 0 18.9902h24c-.119-1.1108-.3686-2.099-.7461-3.0683-.7438-1.9118-1.8435-3.2928-2.7402-4.1836a12.1048 12.1048 0 0 0-2.1309-1.6875c.6594-1.122 1.312-2.2559 1.9649-3.3848.2077-.3615.1886-.7956-.0079-1.1191a1.1001 1.1001 0 0 0-.8515-.5332c-.5225-.0536-.9392.3128-1.0488.5449zm-.0391 8.461c.3944.5926.324 1.3306-.1563 1.6503-.4799.3197-1.188.0985-1.582-.4941-.3944-.5927-.324-1.3307.1563-1.6504.4727-.315 1.1812-.1086 1.582.4941zM7.207 13.5273c.4803.3197.5506 1.0577.1563 1.6504-.394.5926-1.1038.8138-1.584.4941-.48-.3197-.5503-1.0577-.1563-1.6504.4008-.6021 1.1087-.8106 1.584-.4941z"},"apple":{"title":"Apple","hex":"#000000","path":"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"},"bitcoin":{"title":"Bitcoin","hex":"#f7931a","path":"M23.638 14.904c-1.602 6.43-8.113 10.34-14.542 8.736C2.67 22.05-1.244 15.525.362 9.105 1.962 2.67 8.475-1.243 14.9.358c6.43 1.605 10.342 8.115 8.738 14.548v-.002zm-6.35-4.613c.24-1.59-.974-2.45-2.64-3.03l.54-2.153-1.315-.33-.525 2.107c-.345-.087-.705-.167-1.064-.25l.526-2.127-1.32-.33-.54 2.165c-.285-.067-.565-.132-.84-.2l-1.815-.45-.35 1.407s.975.225.955.236c.535.136.63.486.615.766l-1.477 5.92c-.075.166-.24.406-.614.314.015.02-.96-.24-.96-.24l-.66 1.51 1.71.426.93.242-.54 2.19 1.32.327.54-2.17c.36.1.705.19 1.05.273l-.51 2.154 1.32.33.545-2.19c2.24.427 3.93.257 4.64-1.774.57-1.637-.03-2.58-1.217-3.196.854-.193 1.5-.76 1.68-1.93h.01zm-3.01 4.22c-.404 1.64-3.157.75-4.05.53l.72-2.9c.896.23 3.757.67 3.33 2.37zm.41-4.24c-.37 1.49-2.662.735-3.405.55l.654-2.64c.744.18 3.137.524 2.75 2.084v.006z"},"bluesky":{"title":"Bluesky","hex":"#1185fe","path":"M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037-.856 3.061-3.978 3.842-6.755 3.37 4.854.826 6.089 3.562 3.422 6.299-5.065 5.196-7.28-1.304-7.847-2.97-.104-.305-.152-.448-.153-.327 0-.121-.05.022-.153.327-.568 1.666-2.782 8.166-7.847 2.97-2.667-2.737-1.432-5.473 3.422-6.3-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026"},"brave":{"title":"Brave","hex":"#fb542b","path":"M15.68 0l2.096 2.38s1.84-.512 2.709.358c.868.87 1.584 1.638 1.584 1.638l-.562 1.381.715 2.047s-2.104 7.98-2.35 8.955c-.486 1.919-.818 2.66-2.198 3.633-1.38.972-3.884 2.66-4.293 2.916-.409.256-.92.692-1.38.692-.46 0-.97-.436-1.38-.692a185.796 185.796 0 01-4.293-2.916c-1.38-.973-1.712-1.714-2.197-3.633-.247-.975-2.351-8.955-2.351-8.955l.715-2.047-.562-1.381s.716-.768 1.585-1.638c.868-.87 2.708-.358 2.708-.358L8.321 0h7.36zm-3.679 14.936c-.14 0-1.038.317-1.758.69-.72.373-1.242.637-1.409.742-.167.104-.065.301.087.409.152.107 2.194 1.69 2.393 1.866.198.175.489.464.687.464.198 0 .49-.29.688-.464.198-.175 2.24-1.759 2.392-1.866.152-.108.254-.305.087-.41-.167-.104-.689-.368-1.41-.741-.72-.373-1.617-.69-1.757-.69zm0-11.278s-.409.001-1.022.206-1.278.46-1.584.46c-.307 0-2.581-.434-2.581-.434S4.119 7.152 4.119 7.849c0 .697.339.881.68 1.243l2.02 2.149c.192.203.59.511.356 1.066-.235.555-.58 1.26-.196 1.977.384.716 1.042 1.194 1.464 1.115.421-.08 1.412-.598 1.776-.834.364-.237 1.518-1.19 1.518-1.554 0-.365-1.193-1.02-1.413-1.168-.22-.15-1.226-.725-1.247-.95-.02-.227-.012-.293.284-.851.297-.559.831-1.304.742-1.8-.089-.495-.95-.753-1.565-.986-.615-.232-1.799-.671-1.947-.74-.148-.068-.11-.133.339-.175.448-.043 1.719-.212 2.292-.052.573.16 1.552.403 1.632.532.079.13.149.134.067.579-.081.445-.5 2.581-.541 2.96-.04.38-.12.63.288.724.409.094 1.097.256 1.333.256s.924-.162 1.333-.256c.408-.093.329-.344.288-.723-.04-.38-.46-2.516-.541-2.961-.082-.445-.012-.45.067-.579.08-.129 1.059-.372 1.632-.532.573-.16 1.845.009 2.292.052.449.042.487.107.339.175-.148.069-1.332.508-1.947.74-.615.233-1.476.49-1.565.986-.09.496.445 1.241.742 1.8.297.558.304.624.284.85-.02.226-1.026.802-1.247.95-.22.15-1.413.804-1.413 1.169 0 .364 1.154 1.317 1.518 1.554.364.236 1.355.755 1.776.834.422.079 1.08-.4 1.464-1.115.384-.716.039-1.422-.195-1.977-.235-.555.163-.863.355-1.066l2.02-2.149c.341-.362.68-.546.68-1.243 0-.697-2.695-3.96-2.695-3.96s-2.274.436-2.58.436c-.307 0-.972-.256-1.585-.461-.613-.205-1.022-.206-1.022-.206z"},"cloudflare":{"title":"Cloudflare","hex":"#f38020","path":"M16.5088 16.8447c.1475-.5068.0908-.9707-.1553-1.3154-.2246-.3164-.6045-.499-1.0615-.5205l-8.6592-.1123a.1559.1559 0 0 1-.1333-.0713c-.0283-.042-.0351-.0986-.021-.1553.0278-.084.1123-.1484.2036-.1562l8.7359-.1123c1.0351-.0489 2.1601-.8868 2.5537-1.9136l.499-1.3013c.0215-.0561.0293-.1128.0147-.168-.5625-2.5463-2.835-4.4453-5.5499-4.4453-2.5039 0-4.6284 1.6177-5.3876 3.8614-.4927-.3658-1.1187-.5625-1.794-.499-1.2026.119-2.1665 1.083-2.2861 2.2856-.0283.31-.0069.6128.0635.894C1.5683 13.171 0 14.7754 0 16.752c0 .1748.0142.3515.0352.5273.0141.083.0844.1475.1689.1475h15.9814c.0909 0 .1758-.0645.2032-.1553l.12-.4268zm2.7568-5.5634c-.0771 0-.1611 0-.2383.0112-.0566 0-.1054.0415-.127.0976l-.3378 1.1744c-.1475.5068-.0918.9707.1543 1.3164.2256.3164.6055.498 1.0625.5195l1.8437.1133c.0557 0 .1055.0263.1329.0703.0283.043.0351.1074.0214.1562-.0283.084-.1132.1485-.204.1553l-1.921.1123c-1.041.0488-2.1582.8867-2.5527 1.914l-.1406.3585c-.0283.0713.0215.1416.0986.1416h6.5977c.0771 0 .1474-.0489.169-.126.1122-.4082.1757-.837.1757-1.2803 0-2.6025-2.125-4.727-4.7344-4.727"},"discord":{"title":"Discord","hex":"#5865f2","path":"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"},"docker":{"title":"Docker","hex":"#2496ed","path":"M13.983 11.078h2.119a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.119a.185.185 0 00-.185.185v1.888c0 .102.083.185.185.185m-2.954-5.43h2.118a.186.186 0 00.186-.186V3.574a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m0 2.716h2.118a.187.187 0 00.186-.186V6.29a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.887c0 .102.082.185.185.186m-2.93 0h2.12a.186.186 0 00.184-.186V6.29a.185.185 0 00-.185-.185H8.1a.185.185 0 00-.185.185v1.887c0 .102.083.185.185.186m-2.964 0h2.119a.186.186 0 00.185-.186V6.29a.185.185 0 00-.185-.185H5.136a.186.186 0 00-.186.185v1.887c0 .102.084.185.186.186m5.893 2.715h2.118a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m-2.93 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.083.185.185.185m-2.964 0h2.119a.185.185 0 00.185-.185V9.006a.185.185 0 00-.184-.186h-2.12a.186.186 0 00-.186.186v1.887c0 .102.084.185.186.185m-2.92 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.082.185.185.185M23.763 9.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612 1.43-.23.97-.09 1.882.403 2.661-.595.332-1.55.413-1.744.42H.751a.751.751 0 00-.75.748 11.376 11.376 0 00.692 4.062c.545 1.428 1.355 2.48 2.41 3.124 1.18.723 3.1 1.137 5.275 1.137.983.003 1.963-.086 2.93-.266a12.248 12.248 0 003.823-1.389c.98-.567 1.86-1.288 2.61-2.136 1.252-1.418 1.998-2.997 2.553-4.4h.221c1.372 0 2.215-.549 2.68-1.009.309-.293.55-.65.707-1.046l.098-.288Z"},"ethereum":{"title":"Ethereum","hex":"#3c3c3d","path":"M11.944 17.97L4.58 13.62 11.943 24l7.37-10.38-7.372 4.35h.003zM12.056 0L4.69 12.223l7.365 4.354 7.365-4.35L12.056 0z"},"facebook":{"title":"Facebook","hex":"#0866ff","path":"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"},"firefoxbrowser":{"title":"Firefox Browser","hex":"#ff7139","path":"M8.824 7.287c.008 0 .004 0 0 0zm-2.8-1.4c.006 0 .003 0 0 0zm16.754 2.161c-.505-1.215-1.53-2.528-2.333-2.943.654 1.283 1.033 2.57 1.177 3.53l.002.02c-1.314-3.278-3.544-4.6-5.366-7.477-.091-.147-.184-.292-.273-.446a3.545 3.545 0 01-.13-.24 2.118 2.118 0 01-.172-.46.03.03 0 00-.027-.03.038.038 0 00-.021 0l-.006.001a.037.037 0 00-.01.005L15.624 0c-2.585 1.515-3.657 4.168-3.932 5.856a6.197 6.197 0 00-2.305.587.297.297 0 00-.147.37c.057.162.24.24.396.17a5.622 5.622 0 012.008-.523l.067-.005a5.847 5.847 0 011.957.222l.095.03a5.816 5.816 0 01.616.228c.08.036.16.073.238.112l.107.055a5.835 5.835 0 01.368.211 5.953 5.953 0 012.034 2.104c-.62-.437-1.733-.868-2.803-.681 4.183 2.09 3.06 9.292-2.737 9.02a5.164 5.164 0 01-1.513-.292 4.42 4.42 0 01-.538-.232c-1.42-.735-2.593-2.121-2.74-3.806 0 0 .537-2 3.845-2 .357 0 1.38-.998 1.398-1.287-.005-.095-2.029-.9-2.817-1.677-.422-.416-.622-.616-.8-.767a3.47 3.47 0 00-.301-.227 5.388 5.388 0 01-.032-2.842c-1.195.544-2.124 1.403-2.8 2.163h-.006c-.46-.584-.428-2.51-.402-2.913-.006-.025-.343.176-.389.206-.406.29-.787.616-1.136.974-.397.403-.76.839-1.085 1.303a9.816 9.816 0 00-1.562 3.52c-.003.013-.11.487-.19 1.073-.013.09-.026.181-.037.272a7.8 7.8 0 00-.069.667l-.002.034-.023.387-.001.06C.386 18.795 5.593 24 12.016 24c5.752 0 10.527-4.176 11.463-9.661.02-.149.035-.298.052-.448.232-1.994-.025-4.09-.753-5.844z"},"github":{"title":"GitHub","hex":"#181717","path":"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"},"gitlab":{"title":"GitLab","hex":"#fc6d26","path":"m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z"},"google":{"title":"Google","hex":"#4285f4","path":"M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"},"googlechrome":{"title":"Google Chrome","hex":"#4285f4","path":"M12 0C8.21 0 4.831 1.757 2.632 4.501l3.953 6.848A5.454 5.454 0 0 1 12 6.545h10.691A12 12 0 0 0 12 0zM1.931 5.47A11.943 11.943 0 0 0 0 12c0 6.012 4.42 10.991 10.189 11.864l3.953-6.847a5.45 5.45 0 0 1-6.865-2.29zm13.342 2.166a5.446 5.446 0 0 1 1.45 7.09l.002.001h-.002l-5.344 9.257c.206.01.413.016.621.016 6.627 0 12-5.373 12-12 0-1.54-.29-3.011-.818-4.364zM12 16.364a4.364 4.364 0 1 1 0-8.728 4.364 4.364 0 0 1 0 8.728Z"},"instagram":{"title":"Instagram","hex":"#ff0069","path":"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077"},"kick":{"title":"Kick","hex":"#53fc19","path":"M1.333 0h8v5.333H12V2.667h2.667V0h8v8H20v2.667h-2.667v2.666H20V16h2.667v8h-8v-2.667H12v-2.666H9.333V24h-8Z"},"kickstarter":{"title":"Kickstarter","hex":"#05ce78","path":"M7.168 0c-3.2 0-5.797 2.579-5.797 5.758v12.484C1.371 21.42 3.968 24 7.168 24c1.981 0 3.716-.978 4.768-2.479l.794.79c2.26 2.245 5.943 2.245 8.203 0a5.724 5.724 0 001.696-4.075 5.724 5.724 0 00-1.696-4.074l-2.182-2.168 2.182-2.156a5.724 5.724 0 001.696-4.074 5.724 5.724 0 00-1.696-4.074c-2.26-2.246-5.942-2.246-8.203 0l-.794.789A5.797 5.797 0 007.168 0Z"},"line":{"title":"LINE","hex":"#00c300","path":"M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314"},"linux":{"title":"Linux","hex":"#fcc624","path":"M12.504 0c-.155 0-.315.008-.48.021-4.226.333-3.105 4.807-3.17 6.298-.076 1.092-.3 1.953-1.05 3.02-.885 1.051-2.127 2.75-2.716 4.521-.278.832-.41 1.684-.287 2.489a.424.424 0 00-.11.135c-.26.268-.45.6-.663.839-.199.199-.485.267-.797.4-.313.136-.658.269-.864.68-.09.189-.136.394-.132.602 0 .199.027.4.055.536.058.399.116.728.04.97-.249.68-.28 1.145-.106 1.484.174.334.535.47.94.601.81.2 1.91.135 2.774.6.926.466 1.866.67 2.616.47.526-.116.97-.464 1.208-.946.587-.003 1.23-.269 2.26-.334.699-.058 1.574.267 2.577.2.025.134.063.198.114.333l.003.003c.391.778 1.113 1.132 1.884 1.071.771-.06 1.592-.536 2.257-1.306.631-.765 1.683-1.084 2.378-1.503.348-.199.629-.469.649-.853.023-.4-.2-.811-.714-1.376v-.097l-.003-.003c-.17-.2-.25-.535-.338-.926-.085-.401-.182-.786-.492-1.046h-.003c-.059-.054-.123-.067-.188-.135a.357.357 0 00-.19-.064c.431-1.278.264-2.55-.173-3.694-.533-1.41-1.465-2.638-2.175-3.483-.796-1.005-1.576-1.957-1.56-3.368.026-2.152.236-6.133-3.544-6.139zm.529 3.405h.013c.213 0 .396.062.584.198.19.135.33.332.438.533.105.259.158.459.166.724 0-.02.006-.04.006-.06v.105a.086.086 0 01-.004-.021l-.004-.024a1.807 1.807 0 01-.15.706.953.953 0 01-.213.335.71.71 0 00-.088-.042c-.104-.045-.198-.064-.284-.133a1.312 1.312 0 00-.22-.066c.05-.06.146-.133.183-.198.053-.128.082-.264.088-.402v-.02a1.21 1.21 0 00-.061-.4c-.045-.134-.101-.2-.183-.333-.084-.066-.167-.132-.267-.132h-.016c-.093 0-.176.03-.262.132a.8.8 0 00-.205.334 1.18 1.18 0 00-.09.4v.019c.002.089.008.179.02.267-.193-.067-.438-.135-.607-.202a1.635 1.635 0 01-.018-.2v-.02a1.772 1.772 0 01.15-.768c.082-.22.232-.406.43-.533a.985.985 0 01.594-.2zm-2.962.059h.036c.142 0 .27.048.399.135.146.129.264.288.344.465.09.199.14.4.153.667v.004c.007.134.006.2-.002.266v.08c-.03.007-.056.018-.083.024-.152.055-.274.135-.393.2.012-.09.013-.18.003-.267v-.015c-.012-.133-.04-.2-.082-.333a.613.613 0 00-.166-.267.248.248 0 00-.183-.064h-.021c-.071.006-.13.04-.186.132a.552.552 0 00-.12.27.944.944 0 00-.023.33v.015c.012.135.037.2.08.334.046.134.098.2.166.268.01.009.02.018.034.024-.07.057-.117.07-.176.136a.304.304 0 01-.131.068 2.62 2.62 0 01-.275-.402 1.772 1.772 0 01-.155-.667 1.759 1.759 0 01.08-.668 1.43 1.43 0 01.283-.535c.128-.133.26-.2.418-.2zm1.37 1.706c.332 0 .733.065 1.216.399.293.2.523.269 1.052.468h.003c.255.136.405.266.478.399v-.131a.571.571 0 01.016.47c-.123.31-.516.643-1.063.842v.002c-.268.135-.501.333-.775.465-.276.135-.588.292-1.012.267a1.139 1.139 0 01-.448-.067 3.566 3.566 0 01-.322-.198c-.195-.135-.363-.332-.612-.465v-.005h-.005c-.4-.246-.616-.512-.686-.71-.07-.268-.005-.47.193-.6.224-.135.38-.271.483-.336.104-.074.143-.102.176-.131h.002v-.003c.169-.202.436-.47.839-.601.139-.036.294-.065.466-.065zm2.8 2.142c.358 1.417 1.196 3.475 1.735 4.473.286.534.855 1.659 1.102 3.024.156-.005.33.018.513.064.646-1.671-.546-3.467-1.089-3.966-.22-.2-.232-.335-.123-.335.59.534 1.365 1.572 1.646 2.757.13.535.16 1.104.021 1.67.067.028.135.06.205.067 1.032.534 1.413.938 1.23 1.537v-.043c-.06-.003-.12 0-.18 0h-.016c.151-.467-.182-.825-1.065-1.224-.915-.4-1.646-.336-1.77.465-.008.043-.013.066-.018.135-.068.023-.139.053-.209.064-.43.268-.662.669-.793 1.187-.13.533-.17 1.156-.205 1.869v.003c-.02.334-.17.838-.319 1.35-1.5 1.072-3.58 1.538-5.348.334a2.645 2.645 0 00-.402-.533 1.45 1.45 0 00-.275-.333c.182 0 .338-.03.465-.067a.615.615 0 00.314-.334c.108-.267 0-.697-.345-1.163-.345-.467-.931-.995-1.788-1.521-.63-.4-.986-.87-1.15-1.396-.165-.534-.143-1.085-.015-1.645.245-1.07.873-2.11 1.274-2.763.107-.065.037.135-.408.974-.396.751-1.14 2.497-.122 3.854a8.123 8.123 0 01.647-2.876c.564-1.278 1.743-3.504 1.836-5.268.048.036.217.135.289.202.218.133.38.333.59.465.21.201.477.335.876.335.039.003.075.006.11.006.412 0 .73-.134.997-.268.29-.134.52-.334.74-.4h.005c.467-.135.835-.402 1.044-.7zm2.185 8.958c.037.6.343 1.245.882 1.377.588.134 1.434-.333 1.791-.765l.211-.01c.315-.007.577.01.847.268l.003.003c.208.199.305.53.391.876.085.4.154.78.409 1.066.486.527.645.906.636 1.14l.003-.007v.018l-.003-.012c-.015.262-.185.396-.498.595-.63.401-1.746.712-2.457 1.57-.618.737-1.37 1.14-2.036 1.191-.664.053-1.237-.2-1.574-.898l-.005-.003c-.21-.4-.12-1.025.056-1.69.176-.668.428-1.344.463-1.897.037-.714.076-1.335.195-1.814.12-.465.308-.797.641-.984l.045-.022zm-10.814.049h.01c.053 0 .105.005.157.014.376.055.706.333 1.023.752l.91 1.664.003.003c.243.533.754 1.064 1.189 1.637.434.598.77 1.131.729 1.57v.006c-.057.744-.48 1.148-1.125 1.294-.645.135-1.52.002-2.395-.464-.968-.536-2.118-.469-2.857-.602-.369-.066-.61-.2-.723-.4-.11-.2-.113-.602.123-1.23v-.004l.002-.003c.117-.334.03-.752-.027-1.118-.055-.401-.083-.71.043-.94.16-.334.396-.4.69-.533.294-.135.64-.202.915-.47h.002v-.002c.256-.268.445-.601.668-.838.19-.201.38-.336.663-.336zm7.159-9.074c-.435.201-.945.535-1.488.535-.542 0-.97-.267-1.28-.466-.154-.134-.28-.268-.373-.335-.164-.134-.144-.333-.074-.333.109.016.129.134.199.2.096.066.215.2.36.333.292.2.68.467 1.167.467.485 0 1.053-.267 1.398-.466.195-.135.445-.334.648-.467.156-.136.149-.267.279-.267.128.016.034.134-.147.332a8.097 8.097 0 01-.69.468zm-1.082-1.583V5.64c-.006-.02.013-.042.029-.05.074-.043.18-.027.26.004.063 0 .16.067.15.135-.006.049-.085.066-.135.066-.055 0-.092-.043-.141-.068-.052-.018-.146-.008-.163-.065zm-.551 0c-.02.058-.113.049-.166.066-.047.025-.086.068-.14.068-.05 0-.13-.02-.136-.068-.01-.066.088-.133.15-.133.08-.031.184-.047.259-.005.019.009.036.03.03.05v.02h.003z"},"mastodon":{"title":"Mastodon","hex":"#6364ff","path":"M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"},"matrix":{"title":"Matrix","hex":"#000000","path":"M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"},"medium":{"title":"Medium","hex":"#000000","path":"M4.21 0A4.201 4.201 0 0 0 0 4.21v15.58A4.201 4.201 0 0 0 4.21 24h15.58A4.201 4.201 0 0 0 24 19.79v-1.093c-.137.013-.278.02-.422.02-2.577 0-4.027-2.146-4.09-4.832a7.592 7.592 0 0 1 .022-.708c.093-1.186.475-2.241 1.105-3.022a3.885 3.885 0 0 1 1.395-1.1c.468-.237 1.127-.367 1.664-.367h.023c.101 0 .202.004.303.01V4.211A4.201 4.201 0 0 0 19.79 0Zm.198 5.583h4.165l3.588 8.435 3.59-8.435h3.864v.146l-.019.004c-.705.16-1.063.397-1.063 1.254h-.003l.003 10.274c.06.676.424.885 1.063 1.03l.02.004v.145h-4.923v-.145l.019-.005c.639-.144.994-.353 1.054-1.03V7.267l-4.745 11.15h-.261L6.15 7.569v9.445c0 .857.358 1.094 1.063 1.253l.02.004v.147H4.405v-.147l.019-.004c.705-.16 1.065-.397 1.065-1.253V6.987c0-.857-.358-1.094-1.064-1.254l-.018-.004zm19.25 3.668c-1.086.023-1.733 1.323-1.813 3.124H24V9.298a1.378 1.378 0 0 0-.342-.047Zm-1.862 3.632c-.1 1.756.86 3.239 2.204 3.634v-3.634z"},"nodedotjs":{"title":"Node.js","hex":"#5fa04e","path":"M11.998,24c-0.321,0-0.641-0.084-0.922-0.247l-2.936-1.737c-0.438-0.245-0.224-0.332-0.08-0.383 c0.585-0.203,0.703-0.25,1.328-0.604c0.065-0.037,0.151-0.023,0.218,0.017l2.256,1.339c0.082,0.045,0.197,0.045,0.272,0l8.795-5.076 c0.082-0.047,0.134-0.141,0.134-0.238V6.921c0-0.099-0.053-0.192-0.137-0.242l-8.791-5.072c-0.081-0.047-0.189-0.047-0.271,0 L3.075,6.68C2.99,6.729,2.936,6.825,2.936,6.921v10.15c0,0.097,0.054,0.189,0.139,0.235l2.409,1.392 c1.307,0.654,2.108-0.116,2.108-0.89V7.787c0-0.142,0.114-0.253,0.256-0.253h1.115c0.139,0,0.255,0.112,0.255,0.253v10.021 c0,1.745-0.95,2.745-2.604,2.745c-0.508,0-0.909,0-2.026-0.551L2.28,18.675c-0.57-0.329-0.922-0.945-0.922-1.604V6.921 c0-0.659,0.353-1.275,0.922-1.603l8.795-5.082c0.557-0.315,1.296-0.315,1.848,0l8.794,5.082c0.57,0.329,0.924,0.944,0.924,1.603 v10.15c0,0.659-0.354,1.273-0.924,1.604l-8.794,5.078C12.643,23.916,12.324,24,11.998,24z M19.099,13.993 c0-1.9-1.284-2.406-3.987-2.763c-2.731-0.361-3.009-0.548-3.009-1.187c0-0.528,0.235-1.233,2.258-1.233 c1.807,0,2.473,0.389,2.747,1.607c0.024,0.115,0.129,0.199,0.247,0.199h1.141c0.071,0,0.138-0.031,0.186-0.081 c0.048-0.054,0.074-0.123,0.067-0.196c-0.177-2.098-1.571-3.076-4.388-3.076c-2.508,0-4.004,1.058-4.004,2.833 c0,1.925,1.488,2.457,3.895,2.695c2.88,0.282,3.103,0.703,3.103,1.269c0,0.983-0.789,1.402-2.642,1.402 c-2.327,0-2.839-0.584-3.011-1.742c-0.02-0.124-0.126-0.215-0.253-0.215h-1.137c-0.141,0-0.254,0.112-0.254,0.253 c0,1.482,0.806,3.248,4.655,3.248C17.501,17.007,19.099,15.91,19.099,13.993z"},"npm":{"title":"npm","hex":"#cb3837","path":"M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z"},"patreon":{"title":"Patreon","hex":"#000000","path":"M22.957 7.21c-.004-3.064-2.391-5.576-5.191-6.482-3.478-1.125-8.064-.962-11.384.604C2.357 3.231 1.093 7.391 1.046 11.54c-.039 3.411.302 12.396 5.369 12.46 3.765.047 4.326-4.804 6.068-7.141 1.24-1.662 2.836-2.132 4.801-2.618 3.376-.836 5.678-3.501 5.673-7.031Z"},"paypal":{"title":"PayPal","hex":"#002991","path":"M15.607 4.653H8.941L6.645 19.251H1.82L4.862 0h7.995c3.754 0 6.375 2.294 6.473 5.513-.648-.478-2.105-.86-3.722-.86m6.57 5.546c0 3.41-3.01 6.853-6.958 6.853h-2.493L11.595 24H6.74l1.845-11.538h3.592c4.208 0 7.346-3.634 7.153-6.949a5.24 5.24 0 0 1 2.848 4.686M9.653 5.546h6.408c.907 0 1.942.222 2.363.541-.195 2.741-2.655 5.483-6.441 5.483H8.714Z"},"pinterest":{"title":"Pinterest","hex":"#bd081c","path":"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z"},"python":{"title":"Python","hex":"#3776ab","path":"M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z"},"raspberrypi":{"title":"Raspberry Pi","hex":"#a22846","path":"m19.8955 10.8961-.1726-.3028c.0068-2.1746-1.0022-3.061-2.1788-3.7348.356-.0938.7237-.1711.8245-.6182.6118-.1566.7397-.4398.8011-.7398.16-.1066.6955-.4061.6394-.9211.2998-.2069.4669-.4725.3819-.8487.3222-.3515.407-.6419.2702-.9096.3868-.4805.2152-.7295.05-.9817.2897-.5254.0341-1.0887-.7758-.9944-.3221-.4733-1.0244-.3659-1.133-.3637-.1215-.1519-.2819-.2821-.7755-.219-.3197-.2851-.6771-.2364-1.0458-.0964-.4378-.3403-.7275-.0675-1.0584.0356-.53-.1706-.6513.0631-.9117.1583-.5781-.1203-.7538.1416-1.0309.4182l-.3224-.0063c-.8719.5061-1.305 1.5366-1.4585 2.0664-.1536-.5299-.5858-1.5604-1.4575-2.0664l-.3223.0063C9.942.5014 9.7663.2394 9.1883.3597 8.9279.2646 8.807.0309 8.2766.2015c-.2172-.0677-.417-.2084-.6522-.2012l.0004.0002C7.5017.0041 7.369.049 7.2185.166c-.3688-.1401-.7262-.1887-1.0459.0964-.4936-.0631-.654.0671-.7756.219C5.2887.4791 4.5862.3717 4.264.845c-.8096-.0943-1.0655.4691-.7756.9944-.1653.2521-.3366.5013.05.9819-.1367.2677-.0519.5581.2703.9096-.085.3763.0822.6418.3819.8487-.0561.515.4795.8144.6394.9211.0614.3001.1894.5832.8011.7398.1008.4472.4685.5244.8245.6183-1.1766.6737-2.1856 1.56-2.1788 3.7348l-.1724.3028c-1.3491.8082-2.5629 3.4056-.6648 5.5167.124.6609.3319 1.1355.5171 1.6609.2769 2.117 2.0841 3.1082 2.5608 3.2255.6984.524 1.4423 1.0212 2.449 1.3696.949.964 1.977 1.3314 3.0107 1.3308.0152 0 .0306.0002.0457 0 1.0337.0006 2.0618-.3668 3.0107-1.3308 1.0067-.3483 1.7506-.8456 2.4491-1.3696.4766-.1173 2.2838-1.1085 2.5607-3.2255.1851-.5253.3931-1 .517-1.6609 1.8981-2.1113.6843-4.7089-.6649-5.517zm-1.0386-.3715c-.0704.8759-4.6354-3.0504-3.8472-3.1808 2.1391-.3558 3.9191.896 3.8472 3.1808zm-2.0155 4.3649c-1.1481.7409-2.8025.2626-3.6953-1.0681-.8928-1.3306-.6858-3.0101.4623-3.7509 1.1481-.7409 2.8025-.2627 3.6953 1.068.8927 1.3307.6858 3.0101-.4623 3.751zM13.6591 1.3721c.0396.1967.0843.321.1354.3577.2537-.272.4611-.5506.7878-.8123.0011.1537-.0776.3205.1169.4425.1752-.2356.4119-.4459.7263-.6244-.1514.2611-.026.3404.0554.4486.24-.2059.4681-.4144.9109-.5759-.121.1474-.2902.2914-.1108.4607.2473-.1544.496-.3086 1.0833-.4183-.1323.1475-.4059.295-.2401.4426.3104-.1186.6539-.2047 1.034-.2546-.182.1496-.3337.2963-.1846.4122.3323-.1022.7899-.2398 1.2372-.1212l-.2832.2849c-.0314.0382.6623.0297 1.1202.0364-.167.2321-.3375.4562-.437.8548.0454.0459.2723.0204.4862 0-.2194.4618-.6004.5783-.6893.776.134.1015.32.075.5232.006-.158.3254-.4892.5484-.7509.8123.0662.047.1818.075.4555.0425-.2418.257-.5339.492-.8802.7032.0614.0708.2722.0681.4678.0727-.3136.3069-.7173.466-1.0955.6668.1885.1288.3234.0988.4678.097-.2676.2198-.7225.3342-1.1448.4668.0803.1249.1607.1589.3324.194-.447.2473-1.0873.1343-1.2679.2607.0435.1243.1665.2053.3139.2728-.7197.0418-2.6879-.0262-3.0652-1.5156.7367-.8094 2.0813-1.7593 4.394-2.934-1.7994.6022-3.4229 1.405-4.7817 2.5096-1.5978-.7436-.4965-2.6197.283-3.3645zm-1.6126 5.3718c1.1329-.0123 2.5356.8325 2.53 1.6286-.005.7027-.9851 1.2715-2.5213 1.2607-1.5043-.0177-2.5172-.7148-2.5137-1.3957.003-.5603 1.2282-1.5263 2.505-1.4936zm-5.7646-.6006c.1717-.0351.252-.0692.3323-.194-.4223-.1327-.8772-.247-1.1448-.4668.1444.0018.2792.0318.4678-.097-.3783-.2008-.782-.3599-1.0956-.6668.1955-.0048.4064-.002.4677-.0728-.3462-.2113-.6383-.4463-.8801-.7033.2738.0325.3893.0045.4555-.0425-.2617-.264-.593-.487-.7509-.8123.2032.069.3892.0954.5232-.006-.089-.1977-.47-.3142-.6894-.776.214.0204.4409.0459.4863 0-.0994-.3985-.2698-.6226-.4369-.8547.4579-.0067 1.1516.0018 1.1202-.0364l-.2831-.2849c.4472-.1186.9049.019 1.2371.1213.1492-.1159-.0026-.2626-.1847-.4123.3801.05.7236.1361 1.034.2547.1659-.1476-.1076-.2951-.24-.4426.5872.1097.8361.2639 1.0833.4183.1794-.1694.0103-.3133-.1108-.4607.4428.1615.6709.37.911.5759.0814-.1082.2068-.1875.0554-.4486.3143.1785.5511.3888.7263.6244.1945-.122.1159-.2888.1169-.4426.3267.2618.534.5404.7879.8124.0511-.0366.0959-.161.1354-.3577.7794.7448 1.8807 2.6208.2831 3.3646-1.3589-1.1039-2.9817-1.9064-4.78-2.5086 2.3115 1.174 3.6556 2.1239 4.392 2.9328-.3773 1.4895-2.3455 1.5575-3.0651 1.5157.1473-.0676.2703-.1485.3139-.2728-.1806-.1264-.8209-.0134-1.2679-.2607zm2.8175 1.1334c.7881.1304-3.7769 4.0567-3.8472 3.1809-.0719-2.2846 1.7079-3.5367 3.8472-3.1809zm-4.847 8.7567c-1.1094-.8789-1.4668-3.4529.5901-4.6097 1.2394-.3273.4184 5.051-.5901 4.6097zm4.2656 4.5989c-.6257.3719-2.1452.2187-3.2252-1.3095-.7283-1.2823-.6345-2.5872-.123-2.9705.7648-.4589 1.9464.1609 2.8559 1.2003.7923.9405 1.1536 2.5927.4923 3.0797zm-1.2415-5.6086c-1.1481-.7409-1.3551-2.4203-.4623-3.7511.8928-1.3307 2.5472-1.8089 3.6952-1.068 1.1481.7409 1.3551 2.4203.4623 3.7509-.8926 1.3308-2.5471 1.809-3.6952 1.0682zm4.7948 8.2279c-1.3763.0584-2.7258-1.1105-2.7081-1.5157-.0206-.594 1.6758-1.0578 2.782-1.0306 1.1131-.0479 2.6068.3531 2.6097.8851.0184.5166-1.3547 1.6838-2.6836 1.6612zm2.7584-5.8578c.0081 1.3899-1.226 2.5225-2.7562 2.5299-1.5302.0073-2.7773-1.1135-2.7854-2.5033v-.0265c-.008-1.3899 1.2259-2.5226 2.7562-2.5299 1.5302-.0073 2.7773 1.1134 2.7853 2.5033a.7794.7794 0 0 1 .0001.0265zm3.855 2.0029c-1.186 1.6208-2.7916 1.684-3.3896 1.2325-.6255-.5811-.148-2.3854.7094-3.3747v-.0003c.9812-1.0912 2.0302-1.8037 2.7609-1.2469.4919.4828.7805 2.3008-.0807 3.3894zm1.0724-3.4301c-1.0086.4413-1.8298-4.9372-.5901-4.61 2.0568 1.1569 1.6994 3.731.5901 4.61zm-.0256-8.3279h.2985v-.5304h.2986c.1502 0 .2053.0624.2262.2052.0152.1088.0113.2395.0477.3253h.2984c-.0533-.0763-.0515-.2358-.0571-.3213-.0097-.1373-.0513-.2796-.1977-.3176v-.0037c.1502-.061.2149-.1807.2149-.341 0-.2048-.1539-.3738-.3974-.3738h-.732v1.3573zm.2985-1.1255h.3269c.1333 0 .2054.0573.2054.188 0 .1369-.0721.1942-.2054.1942H20.03v-.3822zm-1.0337.4633c0 .7009.5682 1.2694 1.2695 1.2694s1.2695-.5684 1.2695-1.2694c0-.7013-.5683-1.2697-1.2695-1.2697-.7013 0-1.2695.5684-1.2695 1.2697zm2.3275 0c0 .5845-.4737 1.058-1.058 1.058s-1.058-.4735-1.058-1.058c0-.5849.4737-1.058 1.058-1.058s1.058.4731 1.058 1.058z"},"reddit":{"title":"Reddit","hex":"#ff4500","path":"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z"},"signal":{"title":"Signal","hex":"#3b45fd","path":"M12 0q-.934 0-1.83.139l.17 1.111a11 11 0 0 1 3.32 0l.172-1.111A12 12 0 0 0 12 0M9.152.34A12 12 0 0 0 5.77 1.742l.584.961a10.8 10.8 0 0 1 3.066-1.27zm5.696 0-.268 1.094a10.8 10.8 0 0 1 3.066 1.27l.584-.962A12 12 0 0 0 14.848.34M12 2.25a9.75 9.75 0 0 0-8.539 14.459c.074.134.1.292.064.441l-1.013 4.338 4.338-1.013a.62.62 0 0 1 .441.064A9.7 9.7 0 0 0 12 21.75c5.385 0 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25m-7.092.068a12 12 0 0 0-2.59 2.59l.909.664a11 11 0 0 1 2.345-2.345zm14.184 0-.664.909a11 11 0 0 1 2.345 2.345l.909-.664a12 12 0 0 0-2.59-2.59M1.742 5.77A12 12 0 0 0 .34 9.152l1.094.268a10.8 10.8 0 0 1 1.269-3.066zm20.516 0-.961.584a10.8 10.8 0 0 1 1.27 3.066l1.093-.268a12 12 0 0 0-1.402-3.383M.138 10.168A12 12 0 0 0 0 12q0 .934.139 1.83l1.111-.17A11 11 0 0 1 1.125 12q0-.848.125-1.66zm23.723.002-1.111.17q.125.812.125 1.66c0 .848-.042 1.12-.125 1.66l1.111.172a12.1 12.1 0 0 0 0-3.662M1.434 14.58l-1.094.268a12 12 0 0 0 .96 2.591l-.265 1.14 1.096.255.36-1.539-.188-.365a10.8 10.8 0 0 1-.87-2.35m21.133 0a10.8 10.8 0 0 1-1.27 3.067l.962.584a12 12 0 0 0 1.402-3.383zm-1.793 3.848a11 11 0 0 1-2.345 2.345l.664.909a12 12 0 0 0 2.59-2.59zm-19.959 1.1L.357 21.48a1.8 1.8 0 0 0 2.162 2.161l1.954-.455-.256-1.095-1.953.455a.675.675 0 0 1-.81-.81l.454-1.954zm16.832 1.769a10.8 10.8 0 0 1-3.066 1.27l.268 1.093a12 12 0 0 0 3.382-1.402zm-10.94.213-1.54.36.256 1.095 1.139-.266c.814.415 1.683.74 2.591.961l.268-1.094a10.8 10.8 0 0 1-2.35-.869zm3.634 1.24-.172 1.111a12.1 12.1 0 0 0 3.662 0l-.17-1.111q-.812.125-1.66.125a11 11 0 0 1-1.66-.125"},"snapchat":{"title":"Snapchat","hex":"#fffc00","path":"M12.206.793c.99 0 4.347.276 5.93 3.821.529 1.193.403 3.219.299 4.847l-.003.06c-.012.18-.022.345-.03.51.075.045.203.09.401.09.3-.016.659-.12 1.033-.301.165-.088.344-.104.464-.104.182 0 .359.029.509.09.45.149.734.479.734.838.015.449-.39.839-1.213 1.168-.089.029-.209.075-.344.119-.45.135-1.139.36-1.333.81-.09.224-.061.524.12.868l.015.015c.06.136 1.526 3.475 4.791 4.014.255.044.435.27.42.509 0 .075-.015.149-.045.225-.24.569-1.273.988-3.146 1.271-.059.091-.12.375-.164.57-.029.179-.074.36-.134.553-.076.271-.27.405-.555.405h-.03c-.135 0-.313-.031-.538-.074-.36-.075-.765-.135-1.273-.135-.3 0-.599.015-.913.074-.6.104-1.123.464-1.723.884-.853.599-1.826 1.288-3.294 1.288-.06 0-.119-.015-.18-.015h-.149c-1.468 0-2.427-.675-3.279-1.288-.599-.42-1.107-.779-1.707-.884-.314-.045-.629-.074-.928-.074-.54 0-.958.089-1.272.149-.211.043-.391.074-.54.074-.374 0-.523-.224-.583-.42-.061-.192-.09-.389-.135-.567-.046-.181-.105-.494-.166-.57-1.918-.222-2.95-.642-3.189-1.226-.031-.063-.052-.15-.055-.225-.015-.243.165-.465.42-.509 3.264-.54 4.73-3.879 4.791-4.02l.016-.029c.18-.345.224-.645.119-.869-.195-.434-.884-.658-1.332-.809-.121-.029-.24-.074-.346-.119-1.107-.435-1.257-.93-1.197-1.273.09-.479.674-.793 1.168-.793.146 0 .27.029.383.074.42.194.789.3 1.104.3.234 0 .384-.06.465-.105l-.046-.569c-.098-1.626-.225-3.651.307-4.837C7.392 1.077 10.739.807 11.727.807l.419-.015h.06z"},"soundcloud":{"title":"SoundCloud","hex":"#ff5500","path":"M23.999 14.165c-.052 1.796-1.612 3.169-3.4 3.169h-8.18a.68.68 0 0 1-.675-.683V7.862a.747.747 0 0 1 .452-.724s.75-.513 2.333-.513a5.364 5.364 0 0 1 2.763.755 5.433 5.433 0 0 1 2.57 3.54c.282-.08.574-.121.868-.12.884 0 1.73.358 2.347.992s.948 1.49.922 2.373ZM10.721 8.421c.247 2.98.427 5.697 0 8.672a.264.264 0 0 1-.53 0c-.395-2.946-.22-5.718 0-8.672a.264.264 0 0 1 .53 0ZM9.072 9.448c.285 2.659.37 4.986-.006 7.655a.277.277 0 0 1-.55 0c-.331-2.63-.256-5.02 0-7.655a.277.277 0 0 1 .556 0Zm-1.663-.257c.27 2.726.39 5.171 0 7.904a.266.266 0 0 1-.532 0c-.38-2.69-.257-5.21 0-7.904a.266.266 0 0 1 .532 0Zm-1.647.77a26.108 26.108 0 0 1-.008 7.147.272.272 0 0 1-.542 0 27.955 27.955 0 0 1 0-7.147.275.275 0 0 1 .55 0Zm-1.67 1.769c.421 1.865.228 3.5-.029 5.388a.257.257 0 0 1-.514 0c-.21-1.858-.398-3.549 0-5.389a.272.272 0 0 1 .543 0Zm-1.655-.273c.388 1.897.26 3.508-.01 5.412-.026.28-.514.283-.54 0-.244-1.878-.347-3.54-.01-5.412a.283.283 0 0 1 .56 0Zm-1.668.911c.4 1.268.257 2.292-.026 3.572a.257.257 0 0 1-.514 0c-.241-1.262-.354-2.312-.023-3.572a.283.283 0 0 1 .563 0Z"},"spotify":{"title":"Spotify","hex":"#1ed760","path":"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"},"steam":{"title":"Steam","hex":"#000000","path":"M11.979 0C5.678 0 .511 4.86.022 11.037l6.432 2.658c.545-.371 1.203-.59 1.912-.59.063 0 .125.004.188.006l2.861-4.142V8.91c0-2.495 2.028-4.524 4.524-4.524 2.494 0 4.524 2.031 4.524 4.527s-2.03 4.525-4.524 4.525h-.105l-4.076 2.911c0 .052.004.105.004.159 0 1.875-1.515 3.396-3.39 3.396-1.635 0-3.016-1.173-3.331-2.727L.436 15.27C1.862 20.307 6.486 24 11.979 24c6.627 0 11.999-5.373 11.999-12S18.605 0 11.979 0zM7.54 18.21l-1.473-.61c.262.543.714.999 1.314 1.25 1.297.539 2.793-.076 3.332-1.375.263-.63.264-1.319.005-1.949s-.75-1.121-1.377-1.383c-.624-.26-1.29-.249-1.878-.03l1.523.63c.956.4 1.409 1.5 1.009 2.455-.397.957-1.497 1.41-2.454 1.012H7.54zm11.415-9.303c0-1.662-1.353-3.015-3.015-3.015-1.665 0-3.015 1.353-3.015 3.015 0 1.665 1.35 3.015 3.015 3.015 1.663 0 3.015-1.35 3.015-3.015zm-5.273-.005c0-1.252 1.013-2.266 2.265-2.266 1.249 0 2.266 1.014 2.266 2.266 0 1.251-1.017 2.265-2.266 2.265-1.253 0-2.265-1.014-2.265-2.265z"},"stripe":{"title":"Stripe","hex":"#635bff","path":"M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.594-7.305h.003z"},"telegram":{"title":"Telegram","hex":"#26a5e4","path":"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"},"threads":{"title":"Threads","hex":"#000000","path":"M18.263 11.097c-.03-3.486-1.92-5.586-5.111-5.586-2.13 0-3.922.963-4.863 2.499l2.062 1.438c.535-.843 1.272-1.543 2.628-1.543 1.528 0 2.318.85 2.544 2.431a15 15 0 0 0-2.236-.173c-4.125 0-6.068 1.867-6.068 4.336s1.943 3.99 4.804 3.99c3.139 0 5.013-2.115 5.781-4.735.798.361 1.348 1.204 1.348 2.47 0 3.387-3.907 5.232-7.22 5.232-4.885 0-8.077-3.207-8.077-8.424 0-6.392 4.223-10.487 9.9-10.487 3.808 0 5.69 1.671 6.97 3.914l2.108-1.475C21.44 2.078 18.331 0 13.663 0 6.227 0 1.168 5.277 1.168 12.934c0 7 4.953 11.066 10.856 11.066 4.878 0 9.809-2.846 9.809-7.716 0-2.545-1.46-4.231-3.569-5.187m-6.33 4.855c-1.077 0-2.026-.512-2.026-1.453 0-1.483 1.822-1.934 3.606-1.934.678 0 1.34.045 1.927.173-.422 1.927-1.671 3.215-3.508 3.214Z"},"tiktok":{"title":"TikTok","hex":"#000000","path":"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"},"tumblr":{"title":"Tumblr","hex":"#36465d","path":"M14.563 24c-5.093 0-7.031-3.756-7.031-6.411V9.747H5.116V6.648c3.63-1.313 4.512-4.596 4.71-6.469C9.84.051 9.941 0 9.999 0h3.517v6.114h4.801v3.633h-4.82v7.47c.016 1.001.375 2.371 2.207 2.371h.09c.631-.02 1.486-.205 1.936-.419l1.156 3.425c-.436.636-2.4 1.374-4.156 1.404h-.178l.011.002z"},"twitch":{"title":"Twitch","hex":"#9146ff","path":"M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"},"ubuntu":{"title":"Ubuntu","hex":"#e95420","path":"M17.61.455a3.41 3.41 0 0 0-3.41 3.41 3.41 3.41 0 0 0 3.41 3.41 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41zM12.92.8C8.923.777 5.137 2.941 3.148 6.451a4.5 4.5 0 0 1 .26-.007 4.92 4.92 0 0 1 2.585.737A8.316 8.316 0 0 1 12.688 3.6 4.944 4.944 0 0 1 13.723.834 11.008 11.008 0 0 0 12.92.8zm9.226 4.994a4.915 4.915 0 0 1-1.918 2.246 8.36 8.36 0 0 1-.273 8.303 4.89 4.89 0 0 1 1.632 2.54 11.156 11.156 0 0 0 .559-13.089zM3.41 7.932A3.41 3.41 0 0 0 0 11.342a3.41 3.41 0 0 0 3.41 3.409 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41zm2.027 7.866a4.908 4.908 0 0 1-2.915.358 11.1 11.1 0 0 0 7.991 6.698 11.234 11.234 0 0 0 2.422.249 4.879 4.879 0 0 1-.999-2.85 8.484 8.484 0 0 1-.836-.136 8.304 8.304 0 0 1-5.663-4.32zm11.405.928a3.41 3.41 0 0 0-3.41 3.41 3.41 3.41 0 0 0 3.41 3.41 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41z"},"vimeo":{"title":"Vimeo","hex":"#1ab7ea","path":"M23.9765 6.4168c-.105 2.338-1.739 5.5429-4.894 9.6088-3.2679 4.247-6.0258 6.3699-8.2898 6.3699-1.409 0-2.578-1.294-3.553-3.881l-1.9179-7.1138c-.719-2.584-1.488-3.878-2.312-3.878-.179 0-.806.378-1.8809 1.132l-1.129-1.457a315.06 315.06 0 003.501-3.1279c1.579-1.368 2.765-2.085 3.5539-2.159 1.867-.18 3.016 1.1 3.447 3.838.465 2.953.789 4.789.971 5.5069.5389 2.45 1.1309 3.674 1.7759 3.674.502 0 1.256-.796 2.265-2.385 1.004-1.589 1.54-2.797 1.612-3.628.144-1.371-.395-2.061-1.614-2.061-.574 0-1.167.121-1.777.391 1.186-3.8679 3.434-5.7568 6.7619-5.6368 2.4729.06 3.6279 1.664 3.4929 4.7969z"},"whatsapp":{"title":"WhatsApp","hex":"#25d366","path":"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"},"wikipedia":{"title":"Wikipedia","hex":"#000000","path":"M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.007-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z"},"x":{"title":"X","hex":"#000000","path":"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"},"ycombinator":{"title":"Y Combinator","hex":"#f0652f","path":"M0 24V0h24v24H0zM6.951 5.896l4.112 7.708v5.064h1.583v-4.972l4.148-7.799h-1.749l-2.457 4.875c-.372.745-.688 1.434-.688 1.434s-.297-.708-.651-1.434L8.831 5.896h-1.88z"},"youtube":{"title":"YouTube","hex":"#ff0000","path":"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"}};
++ const FA = {"youtube":"youtube","square-youtube":"youtube","twitch":"twitch","discord":"discord","github":"github","square-github":"github","x-twitter":"x","square-x-twitter":"x","twitter":"x","kick":"kick","kickstarter-k":"kick","kickstarter":"kickstarter","google":"google","tiktok":"tiktok","threads":"threads","spotify":"spotify","soundcloud":"soundcloud","reddit":"reddit","reddit-alien":"reddit","tumblr":"tumblr","hacker-news":"ycombinator","line":"line","paypal":"paypal","patreon":"patreon","mastodon":"mastodon","linux":"linux","instagram":"instagram","facebook":"facebook","facebook-f":"facebook","cloudflare":"cloudflare","brave":"brave","bluesky":"bluesky","bitcoin":"bitcoin","apple":"apple","telegram":"telegram","whatsapp":"whatsapp","steam":"steam","snapchat":"snapchat","pinterest":"pinterest","vimeo":"vimeo","vimeo-v":"vimeo","npm":"npm","node":"nodedotjs","node-js":"nodedotjs","docker":"docker","python":"python","android":"android","chrome":"googlechrome","firefox":"firefoxbrowser","firefox-browser":"firefoxbrowser","gitlab":"gitlab","ubuntu":"ubuntu","raspberry":"raspberrypi","raspberry-pi":"raspberrypi","stripe":"stripe","cc-stripe":"stripe","signal":"signal","matrix":"matrix","medium":"medium","wikipedia":"wikipedia","wikipedia-w":"wikipedia","ethereum":"ethereum"};
const has = (o, k) => Object.prototype.hasOwnProperty.call(o, k);
const get = (slug) => (has(BRANDS, slug) ? BRANDS[slug] : null);
const fromFa = (name) => { const n = String(name || '').replace(/^fa-/, ''); return has(FA, n) ? FA[n] : null; };
ddiff --git a/files.js b/files.js
iindex c65a5df..029969e 100644
---- a/files.js
++++ b/files.js
@@@ -34,6 +34,7 @@ const BROWSER = Object.freeze([
'ov-fx.js', // the network's effects (data-fx): glint, glow, lift, press, ripple, tilt, reveal, count, confetti
'ov-labels.js', // content labels (L1): each viewer's show / blur / hide; navbar.js loads it when a page has [data-ov-labels]
'ov-forms.js', // OpenVibe's own select (a menu on a computer, a sheet on a phone); navbar.js loads it when a page has a form control
++ 'ov-qr.js', // a QR code from a link, on the device: the Share sheet's QR code (ov-share.js loads it on first use)
'ov-thread.js', // one conversation UI (L55 C4): the drawer, search, composer, copy, streaming turns; markup from openvibe-shared/thread, drawn with thread.css
'ov-icons.js', // ring icons (also required on the server as openvibe-shared/icons)
'history.js', // cross-site history
ddiff --git a/navbar.js b/navbar.js
iindex 8caa799..fbdf465 100644
---- a/navbar.js
++++ b/navbar.js
@@@ -491,7 +491,7 @@
const NAV_ICONS_REV = 'd9a4febbbad7'; // sha256(nav-icons.js), first 12 hex: its ?v= (cacheable forever)
// END generated
// The files loaded from beside this one, by content (scripts/sibling-revs.js): a release changes their URLs.
-- const SIBLING_REV = { 'ov-mark.js': '1e91c9c0f347', 'ov-glyphs.js': '2c505c7b96a3', 'ov-brand.woff2': '3b4e6a8a5878', 'ov-look.js': '2a6c53a7b176', 'ov-fx.js': '46fce1e2b8db', 'ov-labels.js': 'a30b178391f5', 'ov-forms.js': '068ce1b1c4d5', 'ov-forms.css': '98cf0f28bb68' };
++ const SIBLING_REV = { 'ov-mark.js': '1e91c9c0f347', 'ov-glyphs.js': '715972edd968', 'ov-brand.woff2': '3b4e6a8a5878', 'ov-look.js': '2a6c53a7b176', 'ov-fx.js': '46fce1e2b8db', 'ov-labels.js': 'a30b178391f5', 'ov-forms.js': '068ce1b1c4d5', 'ov-forms.css': '98cf0f28bb68' };
// The navbar's icons are filled paths (no Font Awesome CSS needed): the ones above ship here, the rest
// (nav-icons.js) load after first paint when a link, chip or menu row names one, into an empty <svg> of their
// size. Anything unknown, or nav-icons.js failing, falls back to <i class="fa-solid">.
ddiff --git a/ov-glyphs.js b/ov-glyphs.js
iindex 4eb2e1e..fa0ecd6 100644
---- a/ov-glyphs.js
++++ b/ov-glyphs.js
@@@ -26,7 +26,7 @@
const G = {"airplane":"<path d=\"M12 3c1 0 1.5 1 1.5 2.5V10l7.5 4.5V16l-7.5-2.5V18l2 1.5V21L12 20l-3.5 1v-1.5l2-1.5v-4.5L3 16v-1.5L10.5 10V5.5C10.5 4 11 3 12 3Z\"/>","alert":"<path d=\"M12 4 2.8 19.5h18.4Z\"/><path d=\"M12 10v4M12 17h.01\"/>","alert-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5v5.5M12 16.5h.01\"/>","align-left":"<path d=\"M4 6h16M4 10h10M4 14h16M4 18h10\"/>","archive":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"5\" rx=\"1\"/><path d=\"M5 9v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9M10 13h4\"/>","arrow-down":"<path d=\"M12 4v16M6 14l6 6 6-6\"/>","arrow-left":"<path d=\"M20 12H4M10 6l-6 6 6 6\"/>","arrow-right":"<path d=\"M4 12h16M14 6l6 6-6 6\"/>","arrow-up":"<path d=\"M12 20V4M6 10l6-6 6 6\"/>","arrows-h":"<path d=\"M3.5 12h17M7.5 8l-4 4 4 4M16.5 8l4 4-4 4\"/>","at":"<circle cx=\"12\" cy=\"12\" r=\"3.6\"/><path d=\"M15.6 12v1.4a2.6 2.6 0 0 0 5.2 0V12a8.8 8.8 0 1 0-3.4 6.9\"/>","back":"<path d=\"M15 5l-7 7 7 7\"/>","ban":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m6 6 12 12\"/>","bell":"<path d=\"M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15ZM10 20a2 2 0 0 0 4 0\"/>","book":"<path d=\"M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2Z\"/><path d=\"M4 19V5\"/>","book-open":"<path d=\"M12 6.6C10 5.1 7 4.6 3.5 5.2v13.2c3.5-.6 6.5-.1 8.5 1.4 2-1.5 5-2 8.5-1.4V5.2C17 4.6 14 5.1 12 6.6Z\"/><path d=\"M12 6.6v13.2\"/>","box":"<path d=\"M3.5 8 12 4l8.5 4v8.5L12 20.5l-8.5-4Z\"/><path d=\"M3.5 8 12 12l8.5-4M12 12v8.5M7.8 6l8.4 4\"/>","brain":"<path d=\"M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2\"/>","branch":"<circle cx=\"6\" cy=\"5\" r=\"2\"/><circle cx=\"6\" cy=\"19\" r=\"2\"/><circle cx=\"18\" cy=\"7\" r=\"2\"/><path d=\"M6 7v10M18 9c0 5.5-6.5 4-11 8.5\"/>","bridge":"<path d=\"M2 15.5h20M4.5 15.5V10M19.5 15.5V10M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 15.5V12M15.5 15.5V12M12 15.5V8\"/>","briefcase":"<rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3 12.5h7.5M13.5 12.5H21M10.5 11.5h3v2.5h-3Z\"/>","bug":"<rect x=\"7.5\" y=\"8\" width=\"9\" height=\"12.5\" rx=\"4.5\"/><path d=\"M9.5 8.3a2.5 2.5 0 0 1 5 0M12 12.5v8M7.5 13.5H4M20 13.5h-3.5M7.9 10 5 7.5M16.1 10 19 7.5M7.9 17.5 5 20M16.1 17.5 19 20\"/>","burst":"<path d=\"M12 2.5L13.99 7.2L18.72 5.28L16.8 10.01L21.5 12L16.8 13.99L18.72 18.72L13.99 16.8L12 21.5L10.01 16.8L5.28 18.72L7.2 13.99L2.5 12L7.2 10.01L5.28 5.28L10.01 7.2Z\"/>","busy":"<path d=\"M6 12h.01M12 12h.01M18 12h.01\" stroke-width=\"3.4\"/>","calendar":"<rect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"/><path d=\"M4 10h16M9 3v4M15 3v4\"/>","camera":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><circle cx=\"12\" cy=\"13.3\" r=\"3.4\"/>","camera-flip":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><path d=\"M15 12.6a3.1 3.1 0 0 0-5.6-1.2M9 14.4a3.1 3.1 0 0 0 5.6 1.2M9.3 9.5v2h2M14.7 17.5v-2h-2\"/>","camera-off":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><circle cx=\"12\" cy=\"13.3\" r=\"3.4\"/><path d=\"M3.5 3.5l17 17\"/>","car":"<path d=\"M3.5 17v-4.5L6.2 7h11.6l2.7 5.5V17Z\"/><path d=\"M3.5 12.5h17M6.5 17v2.5M17.5 17v2.5M7.2 15h.01M16.8 15h.01\"/>","card":"<rect x=\"2.5\" y=\"5\" width=\"19\" height=\"14\" rx=\"2\"/><path d=\"M2.5 10h19M6 15h4\"/>","care":"<path d=\"M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3\"/><path d=\"M15.5 10s-3.2-2-3.2-4.4a1.9 1.9 0 0 1 3.2-1.3 1.9 1.9 0 0 1 3.2 1.3c0 2.4-3.2 4.4-3.2 4.4Z\"/>","cart":"<path d=\"M3 4h2l2.4 11h11L21 7H6.2\"/><circle cx=\"9\" cy=\"19.5\" r=\"1.3\"/><circle cx=\"17\" cy=\"19.5\" r=\"1.3\"/>","cc":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2.5\"/><path d=\"M10.6 10.1a2.4 2.4 0 1 0 0 3.8M17.1 10.1a2.4 2.4 0 1 0 0 3.8\"/>","chart":"<path d=\"M4 4v16h16\"/><path d=\"m7.5 14.5 3.5-4 3 2.5 5-6\"/>","chat":"<path d=\"M4 5h16v11H8l-4 4Z\"/>","chat-off":"<path d=\"M4 5h16v11H8l-4 4Z\"/><path d=\"M3.5 3.5l17 17\"/>","check":"<path d=\"m5 12.5 4.5 4.5L19 7.5\"/>","check-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8 12.4 2.8 2.8L16 9.6\"/>","check-double":"<path d=\"m2.5 12.5 4 4L15 8M11 16.5l1 1L21.5 8\"/>","chevron":"<path d=\"m9 6 6 6-6 6\"/>","chevrons-left":"<path d=\"m11.5 17-5-5 5-5M18 17l-5-5 5-5\"/>","chevrons-right":"<path d=\"m6 17 5-5-5-5M12.5 17l5-5-5-5\"/>","child":"<circle cx=\"12\" cy=\"5.5\" r=\"2.2\"/><path d=\"M7.5 10.5 12 9l4.5 1.5M12 9v6M9 21l3-6 3 6\"/>","chip":"<rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.5\"/><path d=\"M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/>","city":"<path d=\"M3 21h18M5 21V9h5v12M10 21V4h6v17M16 21v-8h3.5v8M7.5 12h.01M7.5 15.5h.01M13 7.5h.01M13 11h.01M13 14.5h.01\"/>","clapper":"<path d=\"M3.5 10h17v9a1 1 0 0 1-1 1h-15a1 1 0 0 1-1-1Z\"/><path d=\"M3.5 10 2.9 6.6l16.4-3 .7 3.6ZM8 5.7l2.3 3.3M13.3 4.7l2.3 3.3\"/>","clipboard":"<rect x=\"5.5\" y=\"5\" width=\"13\" height=\"16\" rx=\"2\"/><path d=\"M9 5V3.5h6V5M9 11h6M9 15h4\"/>","clipboard-check":"<rect x=\"5.5\" y=\"5\" width=\"13\" height=\"16\" rx=\"2\"/><path d=\"M9 5V3.5h6V5M9 13.5l2 2 4-4\"/>","clock":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5V12l3 2\"/>","close":"<path d=\"M6 6l12 12M18 6 6 18\"/>","cloud":"<path d=\"M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18Z\"/>","cloud-off":"<path d=\"M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18Z\"/><path d=\"M3.5 3.5l17 17\"/>","code":"<path d=\"m8 8-4 4 4 4M16 8l4 4-4 4M14 5l-4 14\"/>","coin":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M14.5 9.2c-.5-.8-1.4-1.2-2.5-1.2-1.5 0-2.5.8-2.5 2s1 1.6 2.5 2 2.5.8 2.5 2-1 2-2.5 2c-1.1 0-2-.4-2.5-1.2M12 6.5v11\"/>","columns":"<rect x=\"3.5\" y=\"4.5\" width=\"17\" height=\"15\" rx=\"2\"/><path d=\"M12 4.5v15M3.5 9h17\"/>","commit":"<circle cx=\"12\" cy=\"12\" r=\"3.6\"/><path d=\"M3 12h5.4M15.6 12H21\"/>","compass":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m15.6 8.4-2.1 5.1-5.1 2.1 2.1-5.1Z\"/>","compress":"<path d=\"M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5\"/>","computer":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M8 20h8M12 16v4\"/>","contrast":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 3v18M12 7.5h7M12 12h9M12 16.5h7\"/>","cookie":"<path d=\"M20.5 12.5a8.5 8.5 0 1 1-9-9 3 3 0 0 0 4 3.6 3 3 0 0 0 5 5.4Z\"/><path d=\"M8.5 9.5h.01M12 14h.01M8 15.5h.01M15.5 15.5h.01\"/>","copy":"<rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"2\"/><path d=\"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2\"/>","couch":"<path d=\"M5 11V8a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3\"/><path d=\"M3 13a2 2 0 0 1 4 0v1.5h10V13a2 2 0 0 1 4 0v5H3ZM5 18v2M19 18v2\"/>","crown":"<path d=\"M3 8.5 7.5 12.5 12 5.5l4.5 7 4.5-4L19 19H5Z\"/>","cubes":"<path d=\"M12 3.5 8 5.5v4.5l4 2 4-2V5.5ZM7.5 12 3.5 14v4.5l4 2 4-2V14ZM16.5 12l-4 2v4.5l4 2 4-2V14Z\"/>","database":"<ellipse cx=\"12\" cy=\"6\" rx=\"7\" ry=\"3\"/><path d=\"M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3\"/>","dice":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"3\"/><path d=\"M8.5 8.5h.01M15.5 8.5h.01M12 12h.01M8.5 15.5h.01M15.5 15.5h.01\" stroke-width=\"2.6\"/>","dish":"<path d=\"M5 9.5A9.5 9.5 0 0 0 14.5 19Z\"/><path d=\"m9.5 14.5 4.5-4.5M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5\"/>","dollar":"<path d=\"M16 7.5C15.3 6 13.8 5 12 5 9.5 5 8 6.3 8 8s1.7 2.6 4 3 4 1.4 4 3.3-1.6 3.2-4 3.2c-1.9 0-3.4-1-4-2.5M12 3v18\"/>","donate":"<circle cx=\"12\" cy=\"8.5\" r=\"5\"/><path d=\"M12 6.4v4.2M4 15.5h16V20H4ZM8.5 17.75h7\"/>","door":"<path d=\"M14 4.5 6 3v18l8-1.5ZM14 5h3.5a1 1 0 0 1 1 1v15M3 21h18M11 12h.01\"/>","down":"<path d=\"m6 9 6 6 6-6\"/>","download":"<path d=\"M12 4v11M7 10l5 5 5-5M5 20h14\"/>","drive":"<rect x=\"3\" y=\"13\" width=\"18\" height=\"7\" rx=\"2\"/><path d=\"M3.5 13 6.5 5h11l3 8M17 16.5h.01M14 16.5h.01\"/>","drop":"<path d=\"M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z\"/>","ear":"<path d=\"M7.5 9a5 5 0 1 1 9.6 2c-.8 1.6-2.6 2.5-2.6 4.6a3 3 0 0 1-5.7 1.4\"/><path d=\"M10.5 9.3a2 2 0 1 1 3.5 1.3\"/>","enter":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 8l4 4-4 4M14 12H4\"/>","eraser":"<path d=\"m14 4.5 5.5 5.5-9 9H6.3l-2.6-2.6a1.5 1.5 0 0 1 0-2.1Z\"/><path d=\"M9 9.5l5.5 5.5M10.5 19H20\"/>","expand":"<path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\"/>","eye":"<path d=\"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","eye-off":"<path d=\"M3 12s3.5-6.5 9-6.5c1.6 0 3 .5 4.3 1.2M21 12s-3.5 6.5-9 6.5c-1.6 0-3-.5-4.3-1.2\"/><path d=\"M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16\"/>","fast-forward":"<path d=\"M3.5 6.5v11L11 12ZM12.5 6.5v11L20 12Z\"/>","file":"<path d=\"M6 3h8l4 4v14H6Z\"/><path d=\"M14 3v4h4\"/>","file-code":"<path d=\"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z\"/><path d=\"M14 3v5h5M10 12.5 8 14.5l2 2M14 12.5l2 2-2 2\"/>","film":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M7.5 4v16M16.5 4v16M3 9h4.5M3 15h4.5M16.5 9H21M16.5 15H21\"/>","filter":"<path d=\"M4 6h16M7 12h10M10 18h4\"/>","finish":"<path d=\"M5 21V3.5\"/><rect x=\"5\" y=\"4\" width=\"14.5\" height=\"9\" rx=\"1\"/><path d=\"M5 8.5h14.5M9.8 4v9M14.6 4v9\"/>","fire":"<path d=\"M12 21a6 6 0 0 0 6-6c0-3.8-2.6-6-3.7-9-1.8 2-2.3 4-2.3 4S10.8 8 9.8 6.2C7.6 8.7 6 11.6 6 15a6 6 0 0 0 6 6Z\"/>","fish":"<path d=\"M8 12c2-3.2 4.5-4.8 7.5-4.8 2.6 0 4.5 2 5.5 4.8-1 2.8-2.9 4.8-5.5 4.8-3 0-5.5-1.6-7.5-4.8Z\"/><path d=\"M8 12 3.5 8.5v7Z\"/><path d=\"M16.8 10.6h.01\"/>","fist":"<path d=\"M7.5 11V7.5a1.5 1.5 0 0 1 3 0V10M10.5 9.5v-3a1.5 1.5 0 0 1 3 0v3M13.5 9.5v-2a1.5 1.5 0 0 1 3 0V10M16.5 10V9a1.5 1.5 0 0 1 3 0v5a7 7 0 0 1-7 7H12a5.5 5.5 0 0 1-5.5-5.5V13A2 2 0 0 1 8.5 11h2a1.5 1.5 0 0 1 0 3H9\"/>","flag":"<path d=\"M5 21V4M5 4h11l-2 4 2 4H5\"/>","flask":"<path d=\"M9.5 3.5h5M10 3.5V9.5L4.8 18.2a1.5 1.5 0 0 0 1.3 2.3h11.8a1.5 1.5 0 0 0 1.3-2.3L14 9.5V3.5\"/><path d=\"M7.2 15h9.6\"/>","focus":"<circle cx=\"12\" cy=\"12\" r=\"1.6\"/><path d=\"M12 3v5M10 6l2 2 2-2M12 21v-5M10 18l2-2 2 2M3 12h5M6 10l2 2-2 2M21 12h-5M18 10l-2 2 2 2\"/>","folder":"<path d=\"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"/>","folder-tree":"<path d=\"M4.5 3.5v13a1 1 0 0 0 1 1H10M4.5 8.5H10\"/><path d=\"M10.5 5.5h3l1 1.5h5.5V11h-9.5ZM10.5 14.5h3l1 1.5h5.5V20h-9.5Z\"/>","food":"<path d=\"M7 3v7M5 3v4.5a2 2 0 0 0 4 0V3M7 10v11M17 21V3c-2 1.2-3.2 3.6-3.2 7v3H17\"/>","game":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"11\" rx=\"5\"/><path d=\"M7 11v3M5.5 12.5h3M15.5 12h.01M18 13.5h.01\"/>","gauge":"<path d=\"M4 18a8 8 0 1 1 16 0\"/><path d=\"m12 14.5 4-5.5\"/><circle cx=\"12\" cy=\"14.5\" r=\"1.3\"/>","gavel":"<path d=\"m14 4.5 5.5 5.5M10.5 8l5.5 5.5M12.3 6.3l-6 6 5.4 5.4 6-6M3 21l6.3-6.3M14 21h7\"/>","gear":"<circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z\"/>","gem":"<path d=\"M6.5 4h11L21 9l-9 11L3 9Z\"/><path d=\"M3 9h18M9.5 4 8 9l4 11M14.5 4 16 9l-4 11\"/>","ghost":"<path d=\"M5 20V11a7 7 0 0 1 14 0v9l-2.3-1.8-2.4 1.8-2.3-1.8L9.7 20l-2.4-1.8Z\"/><path d=\"M9.5 10.5h.01M14.5 10.5h.01\"/>","gift":"<rect x=\"4\" y=\"9\" width=\"16\" height=\"11\" rx=\"1\"/><path d=\"M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S12 9 12 9s5-1 5-3.5S13.5 6 12 9\"/>","globe":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18\"/>","grid":"<rect x=\"4\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"4\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/>","grip":"<path d=\"M9 6h.01M15 6h.01M9 12h.01M15 12h.01M9 18h.01M15 18h.01\" stroke-width=\"3\"/>","group":"<path d=\"M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4\"/><rect x=\"7\" y=\"7\" width=\"6\" height=\"5\" rx=\"1\"/><rect x=\"11\" y=\"12\" width=\"6\" height=\"5\" rx=\"1\"/>","hammer":"<path d=\"M13 4.5 19.5 11l-2.8 2.8-6.5-6.5Z\"/><path d=\"M13.5 10.5 4.5 19.5a1.4 1.4 0 0 0 2 2l9-9\"/>","hand":"<path d=\"M8 13V5.5a1.5 1.5 0 0 1 3 0V11M11 10V4.5a1.5 1.5 0 0 1 3 0V11M14 10.5V6a1.5 1.5 0 0 1 3 0v7c0 4-2.5 7-6.5 7-2.6 0-4.2-1.3-5.7-3.6L3 13.6a1.5 1.5 0 0 1 2.4-1.8L8 15\"/>","handshake":"<path d=\"M2.5 9.5v6M21.5 9.5v6\"/><path d=\"M2.5 10.5h2.5l4-3 3.2 1.4L15 7.5l4 3h2.5\"/><path d=\"M5 10.5l6.8 6.8a1.3 1.3 0 0 0 1.9-1.8M13.7 15.5l.6.6a1.3 1.3 0 0 0 1.9-1.8M16.2 14.3l.3.3a1.3 1.3 0 0 0 1.9-1.8L19 10.5M18.4 12.8l-4.6-4.6-2.6 2.3a1.5 1.5 0 0 1-2.1-2.1l2.1-2.2\"/>","hash":"<path d=\"M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17\"/>","heading":"<path d=\"M6 4v16M18 4v16M6 12h12M4 4h4M16 4h4M4 20h4M16 20h4\"/>","headphones":"<path d=\"M4 15v-3a8 8 0 0 1 16 0v3\"/><rect x=\"3\" y=\"14\" width=\"4.5\" height=\"6.5\" rx=\"1.5\"/><rect x=\"16.5\" y=\"14\" width=\"4.5\" height=\"6.5\" rx=\"1.5\"/>","heart":"<path d=\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z\"/>","heart-broken":"<path d=\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z\"/><path d=\"M12 7.4 10.4 11l3 2-1.4 3.4\"/>","heart-pulse":"<path d=\"M19.8 12.5c-1.9 4-7.8 7.5-7.8 7.5s-5.9-3.5-7.8-7.5M3.4 9.5A4.8 4.8 0 0 1 12 7a4.8 4.8 0 0 1 8.6 2.5\"/><path d=\"M2.5 12h4.5l1.5-2.5 2.5 5 2-3.5h8.5\"/>","help":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M9.6 9.3a2.5 2.5 0 0 1 4.8.9c0 1.7-2.4 2.2-2.4 3.8M12 17h.01\"/>","history":"<path d=\"M4 12a8 8 0 1 0 2.4-5.7L4 8.6M4 4.5v4.1h4.1\"/><path d=\"M12 8v4.2l3 1.8\"/>","home":"<path d=\"M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1Z\"/>","hot-tub":"<circle cx=\"8\" cy=\"5.5\" r=\"1.8\"/><path d=\"M3 12h18v3.5a4.5 4.5 0 0 1-4.5 4.5h-9A4.5 4.5 0 0 1 3 15.5ZM6 12v-1.5A2.5 2.5 0 0 1 8.5 8H9M13.5 9.5c.8-1-.8-2 0-3M17.5 9.5c.8-1-.8-2 0-3\"/>","hourglass":"<path d=\"M6 3.5h12M6 20.5h12M7.5 3.5c0 4.5 4.5 5.5 4.5 8.5s-4.5 4-4.5 8.5M16.5 3.5c0 4.5-4.5 5.5-4.5 8.5s4.5 4 4.5 8.5\"/>","id":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><circle cx=\"9\" cy=\"11\" r=\"2\"/><path d=\"M6 16c.5-1.5 1.7-2.3 3-2.3s2.5.8 3 2.3M15 10h3M15 13.5h3\"/>","idea":"<path d=\"M9 18h6M10 21h4M8.6 14.6A6 6 0 1 1 15.4 14.6c-.7.6-1.4 1.5-1.4 2.4h-4c0-.9-.7-1.8-1.4-2.4Z\"/>","image":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"/><circle cx=\"9\" cy=\"10\" r=\"1.6\"/><path d=\"m21 16-5-5-8 8\"/>","inbox":"<path d=\"M3 13.5 5.5 5h13l2.5 8.5V19a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1ZM3 13.5h5l1.5 2.5h5l1.5-2.5h5\"/>","infinity":"<path d=\"M12 12c-2-2.7-3.7-4-5.5-4a4 4 0 0 0 0 8c1.8 0 3.5-1.3 5.5-4Zm0 0c2 2.7 3.7 4 5.5 4a4 4 0 0 0 0-8c-1.8 0-3.5 1.3-5.5 4Z\"/>","info":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 11v5M12 8h.01\"/>","invite":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M19 8v6M16 11h6\"/>","key":"<circle cx=\"8\" cy=\"15\" r=\"4\"/><path d=\"m10.8 12.2 8.7-8.7M16 7l3 3M14 9l2 2\"/>","keyboard":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><path d=\"M6 10h.01M9 10h.01M12 10h.01M15 10h.01M18 10h.01M8 14h8\"/>","language":"<path d=\"M4 5h9M8.5 3v2M6 5c.5 3 2.5 6 6 7.5M11 5c-.6 3.4-2.8 6.8-6.5 8.5M12 21l4-9 4 9M13.4 18h5.2\"/>","laugh":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8 13.5h8a4 4 0 0 1-8 0ZM7.5 8.6l2.2 1.2-2.2 1.2M16.5 8.6l-2.2 1.2 2.2 1.2\"/>","layers":"<path d=\"m12 3.5 9 5-9 5-9-5Z\"/><path d=\"m3 13 9 5 9-5\"/>","leaf":"<path d=\"M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15ZM5 19l8-8\"/>","leave":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10\"/>","lifebuoy":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"m5.6 5.6 3.6 3.6M14.8 14.8l3.6 3.6M18.4 5.6l-3.6 3.6M9.2 14.8l-3.6 3.6\"/>","link":"<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/>","link-off":"<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/><path d=\"M3.5 3.5l17 17\"/>","list":"<path d=\"M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01\"/>","list-ordered":"<path d=\"M10 6h11M10 12h11M10 18h11M4 4.5 5 4v4.5M4 8.5h2M4 13a1 1 0 0 1 2 .3c0 1.1-2 1.7-2 2.7h2.2\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14\"/>","lock":"<rect x=\"5\" y=\"11\" width=\"14\" height=\"9\" rx=\"2\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/>","lungs":"<path d=\"M12 4v7.5M12 9.5l-2.8 2M12 9.5l2.8 2M8.6 6.8C6 6.8 4 10.5 4 15c0 2.6 1 4.5 3 4.5s2.5-2 2.5-4.5V8.5M15.4 6.8C18 6.8 20 10.5 20 15c0 2.6-1 4.5-3 4.5s-2.5-2-2.5-4.5V8.5\"/>","mail":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"m4 7 8 6 8-6\"/>","map":"<path d=\"M9 4 3 6v14l6-2 6 2 6-2V4l-6 2Z\"/><path d=\"M9 4v14M15 6v14\"/>","mask":"<path d=\"M3.5 7c3 1.3 5.8 1.8 8.5 1.8S17.5 8.3 20.5 7c0 6-2.5 10-5 10-1.4 0-2-1.5-3.5-1.5S9.9 17 8.5 17c-2.5 0-5-4-5-10Z\"/><path d=\"M7.5 11.5h2M14.5 11.5h2\"/>","medical":"<rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M12 10.5v6M9 13.5h6\"/>","megaphone":"<path d=\"M3.5 10v4a1 1 0 0 0 1 1H7l9 4.5v-15L7 9H4.5a1 1 0 0 0-1 1Z\"/><path d=\"M7 15l1.3 5h2.4L10 15.6M19 9.5a3.2 3.2 0 0 1 0 5\"/>","members":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 4.8a3.2 3.2 0 0 1 0 6.4M18 14.8c1.9.6 3 2.4 3 5.2\"/>","menu":"<path d=\"M4 7h16M4 12h16M4 17h16\"/>","mic":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 14 0M12 18v3\"/>","mic-off":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16\"/>","minus":"<path d=\"M5 12h14\"/>","minus-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8 12h8\"/>","money":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M6 9.5v.01M18 14.5v.01\"/>","moon":"<path d=\"M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z\"/>","more":"<circle cx=\"5\" cy=\"12\" r=\"1.6\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/><circle cx=\"19\" cy=\"12\" r=\"1.6\"/>","mountain":"<path d=\"M3 20 9.5 8.5l4 6.5 2.5-3.5L21 20Z\"/>","move":"<path d=\"M12 3.5v17M3.5 12h17M9 6.5l3-3 3 3M9 17.5l3 3 3-3M6.5 9l-3 3 3 3M17.5 9l3 3-3 3\"/>","mug":"<path d=\"M4.5 9h11v7a4 4 0 0 1-4 4h-3a4 4 0 0 1-4-4Z\"/><path d=\"M15.5 10.5H17a2.5 2.5 0 0 1 0 5h-1.5M8 3.5c-.8 1 .8 2 0 3M11.5 3.5c-.8 1 .8 2 0 3\"/>","music":"<path d=\"M9 18V6l11-2v12\"/><circle cx=\"6.5\" cy=\"18\" r=\"2.5\"/><circle cx=\"17.5\" cy=\"16\" r=\"2.5\"/>","mute":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"m16 10 4 4M20 10l-4 4\"/>","news":"<path d=\"M4 5h13v14a2 2 0 0 0 2 2H6a2 2 0 0 1-2-2Z\"/><path d=\"M17 9h3v10a2 2 0 0 1-2 2M7.5 9h6M7.5 12.5h6M7.5 16h3.5\"/>","nodes":"<circle cx=\"12\" cy=\"5\" r=\"2.2\"/><circle cx=\"5.5\" cy=\"18\" r=\"2.2\"/><circle cx=\"18.5\" cy=\"18\" r=\"2.2\"/><path d=\"M11 7 6.5 16M13 7l4.5 9M7.7 18h8.6\"/>","open":"<path d=\"M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4\"/>","palette":"<path d=\"M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.2-1-1.6-1-2.6s.8-1.7 2-1.7H17a4 4 0 0 0 4-4C21 6.7 17 3 12 3Z\"/><circle cx=\"7.5\" cy=\"11\" r=\"1.2\"/><circle cx=\"10\" cy=\"7.3\" r=\"1.2\"/><circle cx=\"14.5\" cy=\"7.3\" r=\"1.2\"/>","parking":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"3\"/><path d=\"M9.5 17V7h3.5a3 3 0 0 1 0 6H9.5\"/>","pause":"<path d=\"M8 5v14M16 5v14\"/>","paw":"<path d=\"M8 18.4c0-2.8 1.8-5 4-5s4 2.2 4 5c0 1.3-1 2-2 2-.8 0-1.3-.5-2-.5s-1.2.5-2 .5c-1 0-2-.7-2-2Z\"/><circle cx=\"5.8\" cy=\"11\" r=\"1.8\"/><circle cx=\"9.4\" cy=\"6.4\" r=\"1.8\"/><circle cx=\"14.6\" cy=\"6.4\" r=\"1.8\"/><circle cx=\"18.2\" cy=\"11\" r=\"1.8\"/>","pencil":"<path d=\"M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"/>","phone":"<path d=\"M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2\"/>","phone-off":"<path d=\"M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2\"/><path d=\"M3.5 3.5l17 17\"/>","piggy":"<path d=\"M4 12c0-3.3 3.4-6 8-6 1.3 0 2.5.2 3.6.6L18.5 5v3.4c.8.7 1.4 1.6 1.6 2.6h1.4v3.5H20c-.5 1-1.3 1.8-2.4 2.4V20h-3v-2c-.8.2-1.7.3-2.6.3-.8 0-1.6-.1-2.4-.3v2h-3v-3C5 15.8 4 14 4 12Z\"/><path d=\"M16 10.5h.01M9.5 8.5h3\"/>","pin":"<path d=\"M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0C18.5 15.4 12 21 12 21Z\"/><circle cx=\"12\" cy=\"10\" r=\"2.4\"/>","plane":"<path d=\"M20.5 3.5 3.5 10.5l6.8 3.2 3.2 6.8Z\"/><path d=\"m10.3 13.7 10.2-10.2\"/>","play":"<path d=\"M8 5v14l11-7Z\"/>","plug":"<path d=\"M9 3v5M15 3v5M6.5 8h11v3a5.5 5.5 0 0 1-11 0ZM12 16.5V21\"/>","plus":"<path d=\"M12 5v14M5 12h14\"/>","plus-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 8v8M8 12h8\"/>","print":"<path d=\"M7 9V3.5h10V9\"/><rect x=\"3.5\" y=\"9\" width=\"17\" height=\"8\" rx=\"2\"/><path d=\"M7 14h10v6.5H7ZM16.5 12h.01\"/>","puzzle":"<path d=\"M5.5 7.5h3.5a2 2 0 1 1 4 0h3.5v3.5a2 2 0 1 1 0 4v3.5h-3.5a2 2 0 1 0-4 0H5.5v-3.5a2 2 0 1 0 0-4Z\"/>","quote":"<path d=\"M10 6.5C6.5 7.5 4.5 10 4.5 13.5v3h5v-5h-5M19.5 6.5c-3.5 1-5.5 3.5-5.5 7v3h5v-5h-5\"/>","radio":"<rect x=\"3\" y=\"8\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M7 8 17 3.5\"/><circle cx=\"15.5\" cy=\"14\" r=\"2.5\"/><path d=\"M6.5 12.5h4M6.5 15.5h4\"/>","ranking":"<path d=\"M3 20.5h18M4 20.5V14h5M9 20.5V10h6v10.5M15 20.5V16h5v4.5\"/><path d=\"m12 3 .9 1.8 2 .3-1.45 1.4.35 2L12 7.6l-1.8.9.35-2L9.1 5.1l2-.3Z\"/>","record":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","recycle":"<path d=\"M7.2 19.5H4.8a1.4 1.4 0 0 1-1.2-2.1l2.6-4.5M9.8 4.9l1-1.7a1.4 1.4 0 0 1 2.4 0l2.6 4.5M18.6 12.9l1.8 3.1a1.4 1.4 0 0 1-1.2 2.1h-5.2\"/><path d=\"M11 17.6l2.1 2.1-2.1 2.1M3.4 10.6l2.8-.8.8 2.9M18 5.6l-.8 2.9-2.9-.8\"/>","reply":"<path d=\"M9 7 4 12l5 5M4 12h10a6 6 0 0 1 6 6v1\"/>","restroom":"<circle cx=\"7\" cy=\"4.8\" r=\"1.8\"/><circle cx=\"17\" cy=\"4.8\" r=\"1.8\"/><path d=\"M12 3v18M5.5 21v-5.5H4.5V10.5A1.5 1.5 0 0 1 6 9h2a1.5 1.5 0 0 1 1.5 1.5v5H8.5V21M16 21v-4h-2.5l2-6.6a1 1 0 0 1 1-.9h1a1 1 0 0 1 1 .9l2 6.6H18v4\"/>","retry":"<path d=\"M4 12a8 8 0 0 1 13.7-5.7L20 8.5M20 4v4.5h-4.5M20 12a8 8 0 0 1-13.7 5.7L4 15.5M4 20v-4.5h4.5\"/>","rewind":"<path d=\"M20.5 6.5v11L13 12ZM11.5 6.5v11L4 12Z\"/>","road":"<path d=\"M8 3 4 21M16 3l4 18M12 4v2.5M12 10.5v3M12 17.5V20\"/>","robot":"<rect x=\"5\" y=\"8\" width=\"14\" height=\"11\" rx=\"3\"/><path d=\"M12 4v4M9 13h.01M15 13h.01M9.5 16.5h5M3 13v2M21 13v2\"/>","rocket":"<path d=\"M12 15.5 8.5 12C10 6.5 14 3.5 20.5 3.5 20.5 10 17.5 14 12 15.5ZM8.5 12 5 11.5 7.5 8h4M12 15.5l.5 3.5 3.5-2.5v-4M6.5 17.5c-1.5 0-3 1.5-3 3 1.5 0 3-1.5 3-3Z\"/><circle cx=\"15.5\" cy=\"8.5\" r=\"1.5\"/>","route":"<circle cx=\"6\" cy=\"18\" r=\"2.4\"/><circle cx=\"18\" cy=\"6\" r=\"2.4\"/><path d=\"M8.4 18H16a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h7.6\"/>","rss":"<path d=\"M5 4.5a14.5 14.5 0 0 1 14.5 14.5M5 10.5A8.5 8.5 0 0 1 13.5 19\"/><path d=\"M5.5 18.5h.01\" stroke-width=\"3.4\"/>","save":"<path d=\"M5 4h11l3 3v13H5Z\"/><path d=\"M8 4v5h7V4M8 20v-6h8v6\"/>","scale":"<path d=\"M12 3.5V21M8 21h8M4.5 7h15M12 3.5h.01M2.5 14 5 7.5 7.5 14M16.5 14 19 7.5l2.5 6.5M2.5 14a2.5 2.5 0 0 0 5 0M16.5 14a2.5 2.5 0 0 0 5 0\"/>","scissors":"<circle cx=\"6\" cy=\"7\" r=\"2.6\"/><circle cx=\"6\" cy=\"17\" r=\"2.6\"/><path d=\"M8.2 8.6 20 18M8.2 15.4 20 6\"/>","scroll":"<path d=\"M8 3.5h10.5a2 2 0 0 1 2 2v1.5H17M8 3.5a2 2 0 0 0-2 2v12a3 3 0 0 1-3 3h11a3 3 0 0 0 3-3v-12a2 2 0 0 0-2-2M10 9h4M10 13h4\"/>","search":"<circle cx=\"11\" cy=\"11\" r=\"6.5\"/><path d=\"m20 20-4.2-4.2\"/>","seedling":"<path d=\"M12 21v-9M12 12C12 8 9.5 5.5 5 5.5c0 4 2.5 6.5 7 6.5ZM12 14.5c0-4 2.5-6.5 7-6.5 0 4-2.5 6.5-7 6.5Z\"/>","server":"<rect x=\"4\" y=\"4\" width=\"16\" height=\"7\" rx=\"2\"/><rect x=\"4\" y=\"13\" width=\"16\" height=\"7\" rx=\"2\"/><path d=\"M8 7.5h.01M8 16.5h.01\"/>","shapes":"<circle cx=\"7.5\" cy=\"7.5\" r=\"3.5\"/><path d=\"m16.5 3.5 4 7h-8ZM14 14h6v6h-6ZM3.5 20l3.5-6 3.5 6Z\"/>","share":"<path d=\"M12 15V3.5M7.5 8 12 3.5 16.5 8M5 13v6a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-6\"/>","shelter":"<path d=\"M2.5 10.5 12 3l9.5 7.5M5 9v12M19 9v12\"/><circle cx=\"12\" cy=\"11\" r=\"1.8\"/><path d=\"M9.5 21v-4.5a2.5 2.5 0 0 1 5 0V21\"/>","shield":"<path d=\"M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6Z\"/>","shirt":"<path d=\"M8 3 3 6l2 4 2-1v12h10V9l2 1 2-4-5-3c-.5 1.5-2 2.5-4 2.5S8.5 4.5 8 3Z\"/>","signature":"<path d=\"M3 16c2.5 0 3.5-9 6-9 1.5 0 1 6 2.5 6 1 0 1.5-2.5 2.5-2.5s.8 2 2 2c.8 0 1.5-.6 2-1.2M3 20h18\"/>","skip":"<path d=\"M6 5l9 7-9 7Z\"/><path d=\"M18.5 5v14\"/>","skull":"<path d=\"M12 3a7 7 0 0 0-7 7c0 2.3 1.1 3.9 2.5 5v3h9v-3c1.4-1.1 2.5-2.7 2.5-5a7 7 0 0 0-7-7Z\"/><circle cx=\"9.5\" cy=\"10.5\" r=\"1.4\"/><circle cx=\"14.5\" cy=\"10.5\" r=\"1.4\"/><path d=\"M10.5 18v3M13.5 18v3\"/>","slash":"<path d=\"M5 5l14 14\"/>","sliders":"<path d=\"M4 7h9.5M18.5 7H20M4 17h3.5M12.5 17H20\"/><circle cx=\"16\" cy=\"7\" r=\"2.3\"/><circle cx=\"10\" cy=\"17\" r=\"2.3\"/>","smile":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8.5 14a4 4 0 0 0 7 0M9 9.5h.01M15 9.5h.01\"/>","snow":"<path d=\"M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5\"/>","sort":"<path d=\"M4 6h9M4 12h6M4 18h3M17.5 5v14M14.5 16l3 3 3-3\"/>","sort-asc":"<path d=\"M4 6h3M4 12h6M4 18h9M17.5 5v14M14.5 16l3 3 3-3\"/>","spark":"<path d=\"M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8ZM19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8Z\"/>","square":"<rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2.5\"/>","star":"<path d=\"m12 4 2.4 5 5.4.6-4 3.7 1.1 5.4L12 16l-4.9 2.7 1.1-5.4-4-3.7 5.4-.6Z\"/>","steps":"<path d=\"M9 6h11M9 12h11M9 18h11\"/><path d=\"m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17\"/>","stop":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8.5 8.5 7 7\"/>","store":"<path d=\"M4 9 5.5 4h13L20 9M4 9h16v1.5a2.7 2.7 0 0 1-5.3 0 2.7 2.7 0 0 1-5.4 0A2.7 2.7 0 0 1 4 10.5ZM5 13v7h14v-7M10 20v-4h4v4\"/>","storm":"<path d=\"M7 17.5a4.5 4.5 0 1 1 .9-8.9A5.5 5.5 0 0 1 18.5 10a3.8 3.8 0 0 1-.5 7.5\"/><path d=\"m13 13-2.5 4h3L11 21\"/>","sun":"<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"/>","swap":"<path d=\"M4 8h14l-3.5-3.5M20 16H6l3.5 3.5\"/>","sword":"<path d=\"M20 4v3.5L10.5 17 7 13.5 16.5 4Z\"/><path d=\"M5.5 12 12 18.5M8.5 15.5 4 20\"/>","table":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M3 9.5h18M3 15h18M9 9.5V20M15 9.5V20\"/>","tack":"<path d=\"M9 3h6l-1 5 3 3H7l3-3ZM12 11v10\"/>","tag":"<path d=\"M3 12V4h8l10 10-8 8Z\"/><circle cx=\"7.5\" cy=\"8.5\" r=\"1.3\"/>","target":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"5\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/>","tent":"<path d=\"M2.5 20h19M12 5 4 20M12 5l8 15M12 13.5 9 20M12 13.5l3 6.5\"/>","terminal":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"m7 9 3 3-3 3M13 15h4\"/>","text":"<path d=\"M5.5 20 11 4h2l5.5 16M7.6 14h8.8\"/>","thumbs-up":"<path d=\"M7 10.5v9.5H4.5a1 1 0 0 1-1-1v-7.5a1 1 0 0 1 1-1Z\"/><path d=\"M7 10.5 10.5 3.5a2.2 2.2 0 0 1 2.5 2.6L12.3 9.5H18a2 2 0 0 1 2 2.4l-1.3 6.5a2 2 0 0 1-2 1.6H7\"/>","ticket":"<path d=\"M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4Z\"/><path d=\"M14 7v10\"/>","timeline":"<path d=\"M3 12h1M8 12h2M14 12h2M20 12h1\"/><circle cx=\"6\" cy=\"12\" r=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/><circle cx=\"18\" cy=\"12\" r=\"2\"/><path d=\"M6 10V5.5M12 14v4.5M18 10V5.5\"/>","toolbox":"<rect x=\"3\" y=\"8\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M9 8V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V8M3 13h18M8 11.5v3M16 11.5v3\"/>","train":"<rect x=\"6\" y=\"3\" width=\"12\" height=\"13\" rx=\"3\"/><path d=\"M6 10h12M9 13h.01M15 13h.01M8.5 21l2-3.5M15.5 21l-2-3.5\"/>","trash":"<path d=\"M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3\"/>","tree":"<path d=\"M12 3 6.5 10.5h3L5 17h14l-4.5-6.5h3ZM12 17v4\"/>","trend-down":"<path d=\"M3 7l6 6 4-4 8 8\"/><path d=\"M15 17h6v-6\"/>","trend-up":"<path d=\"M3 17 9 11l4 4 8-8\"/><path d=\"M15 7h6v6\"/>","trophy":"<path d=\"M8 4h8v5a4 4 0 0 1-8 0ZM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 20h8\"/>","tv":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"13\" rx=\"2\"/><path d=\"m8 3 4 4 4-4\"/>","umbrella":"<path d=\"M3 12a9 9 0 0 1 18 0ZM12 12v6.5a2 2 0 0 1-4 0M12 3v.01\"/>","undo":"<path d=\"M9 14 4 9l5-5\"/><path d=\"M4 9h10.5a5.5 5.5 0 0 1 0 11H11\"/>","up":"<path d=\"m6 15 6-6 6 6\"/>","upload":"<path d=\"M12 20V9M7 14l5-5 5 5M5 4h14\"/>","user":"<circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6\"/>","user-check":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 11l2 2 4-4\"/>","user-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"10\" r=\"3\"/><path d=\"M6.6 18.3a6.5 6.5 0 0 1 10.8 0\"/>","user-lock":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><rect x=\"15\" y=\"15.5\" width=\"6\" height=\"5\" rx=\"1\"/><path d=\"M16.5 15.5v-1.2a1.5 1.5 0 0 1 3 0v1.2\"/>","user-minus":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><path d=\"M15.5 17.5h6\"/>","user-off":"<circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6\"/><path d=\"M3.5 3.5l17 17\"/>","user-pen":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><path d=\"M20 12.5l1.5 1.5-5 5-2 .5.5-2Z\"/>","user-tag":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><path d=\"M14.5 15h4l2.5 2.5-2.5 2.5h-4Z\"/><path d=\"M16.5 17.5h.01\"/>","video":"<rect x=\"3\" y=\"6\" width=\"13\" height=\"12\" rx=\"2\"/><path d=\"m16 10 5-3v10l-5-3\"/>","volume":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"M15.5 9.5a3.5 3.5 0 0 1 0 5M18 7a7 7 0 0 1 0 10\"/>","walk":"<circle cx=\"13\" cy=\"4.5\" r=\"1.9\"/><path d=\"m9 21 2.6-6 2.1 2.4V21M11.6 15l1-5.6-3 1.6-1.5 3M12.6 9.4l2 3 3 1\"/>","wallet":"<path d=\"M4 7.5A2.5 2.5 0 0 1 6.5 5H18v4M4 7.5V18a2 2 0 0 0 2 2h14V9H6.5A2.5 2.5 0 0 1 4 7.5Z\"/><path d=\"M16 14.5h.01\"/>","water":"<path d=\"M2.5 9c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2M2.5 15c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2\"/>","wave":"<path d=\"M2 16c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2\"/><path d=\"M5.5 11.5A7 7 0 0 1 18 8.6c-2.3-.5-4.2.4-4.8 2.4\"/>","weight":"<circle cx=\"12\" cy=\"5.5\" r=\"2\"/><path d=\"M7 9h10l3 11.5H4Z\"/>","wifi":"<path d=\"M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01\"/>","wind":"<path d=\"M3 8.5h11a3 3 0 1 0-3-3M3 12.5h15a3 3 0 1 1-3 3M3 16.5h7\"/>","window":"<rect x=\"3.5\" y=\"4.5\" width=\"17\" height=\"15\" rx=\"2\"/><path d=\"M3.5 9h17\"/>","window-restore":"<rect x=\"3.5\" y=\"8.5\" width=\"12\" height=\"11\" rx=\"2\"/><path d=\"M8.5 8.5v-2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-3\"/>","wizard":"<path d=\"M4 20h16M6.5 20 10 9.5 15.5 4 14 10.5 17.5 20\"/><path d=\"M8.6 15.5h7\"/>","wrench":"<path d=\"M14.5 4a5 5 0 0 0-4.4 7L4 17.1V20h2.9l6.1-6.1a5 5 0 0 0 7-4.4l-3 1.1-2.4-2.4 1.1-3Z\"/>","x-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m9 9 6 6M15 9l-6 6\"/>","zap":"<path d=\"M13 3 5 13h6l-1 8 8-10h-6Z\"/>"};
const S = {"alert":"<path fill-rule=\"evenodd\" d=\"M10.4 3.9a1.85 1.85 0 0 1 3.2 0l8.3 14.4a1.85 1.85 0 0 1-1.6 2.8H3.7a1.85 1.85 0 0 1-1.6-2.8ZM10.9 9h2.2v5.6h-2.2ZM12 15.9a1.3 1.3 0 1 1 0 2.6 1.3 1.3 0 0 1 0-2.6Z\"/>","alert-circle":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.8 6.8h2.4v7h-2.4ZM12 15.1a1.45 1.45 0 1 1 0 2.9 1.45 1.45 0 0 1 0-2.9Z\"/>","archive":"<rect x=\"2.6\" y=\"3.4\" width=\"18.8\" height=\"5.4\" rx=\"1.2\"/><path fill-rule=\"evenodd\" d=\"M4.4 10h15.2v9.2a1.6 1.6 0 0 1-1.6 1.6H6a1.6 1.6 0 0 1-1.6-1.6ZM9.6 12.4v1.8h4.8v-1.8Z\"/>","bell":"<path d=\"M5.8 16.2V11a6.2 6.2 0 0 1 12.4 0v5.2l1.7 2.3H4.1ZM9.9 19.6h4.2a2.1 2.1 0 0 1-4.2 0Z\"/>","book":"<path d=\"M4.5 5A2.5 2.5 0 0 1 7 2.5h12.5v15H7a2.5 2.5 0 0 0-2.5 2.5Z\"/><path class=\"ln\" d=\"M7.5 20.5h11.5\"/>","book-open":"<path d=\"M11 6.4C9 5 6.3 4.5 3 5.1v13.3c3.3-.6 6 0 8 1.4ZM13 6.4c2-1.4 4.7-1.9 8-1.3v13.3c-3.3-.6-6 0-8 1.4Z\"/>","box":"<path d=\"m12 3.6 8.9 4.3-8.9 4.3-8.9-4.3ZM3.1 9.5l8.1 3.9v7.8l-8.1-4.1ZM20.9 9.5l-8.1 3.9v7.8l8.1-4.1Z\"/>","brain":"<path d=\"M9 3.8a3.1 3.1 0 0 0-3.1 3 3 3 0 0 0-2.1 5.2 3 3 0 0 0 2.1 5.1 3.1 3.1 0 0 0 5.5 1.3V5.5A2.2 2.2 0 0 0 9 3.8Z\"/><path d=\"M15 3.8a3.1 3.1 0 0 1 3.1 3 3 3 0 0 1 2.1 5.2 3 3 0 0 1-2.1 5.1 3.1 3.1 0 0 1-5.5 1.3V5.5A2.2 2.2 0 0 1 15 3.8Z\"/>","bridge":"<path d=\"M1.8 14.4h20.4v2.8H1.8ZM3.6 9.4h2v5H3.6ZM18.4 9.4h2v5h-2Z\"/><path class=\"ln\" d=\"M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 14.4V11.6M15.5 14.4V11.6M12 14.4V8\"/>","bug":"<path fill-rule=\"evenodd\" d=\"M12 8a4.8 4.8 0 0 1 4.8 4.8v3.4a4.8 4.8 0 0 1-9.6 0v-3.4A4.8 4.8 0 0 1 12 8Zm-.7 4.4v7.4h1.4v-7.4Z\"/><path d=\"M9.4 6.8a2.6 2.6 0 0 1 5.2 0Z\"/><path class=\"ln\" d=\"M7.2 13.5H3.8M20.2 13.5h-3.4M7.6 10.4 5 8M16.4 10.4 19 8M7.6 17.6 5 20M16.4 17.6 19 20\"/>","calendar":"<path fill-rule=\"evenodd\" d=\"M4 7.4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2V19a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Zm2.2 4V18.8h11.6v-7.4Z\"/><path class=\"ln\" d=\"M9 3.2v3.6M15 3.2v3.6\"/>","camera":"<path fill-rule=\"evenodd\" d=\"M3 8.3a1.8 1.8 0 0 1 1.8-1.8h2.5L9 4h6l1.7 2.5h2.5A1.8 1.8 0 0 1 21 8.3v10.1a1.8 1.8 0 0 1-1.8 1.8H4.8A1.8 1.8 0 0 1 3 18.4Zm9 1.9a3.4 3.4 0 1 0 0 6.8 3.4 3.4 0 0 0 0-6.8Z\"/>","care":"<path d=\"M15.5 10.6s-3.8-2.3-3.8-5a2.2 2.2 0 0 1 3.8-1.5 2.2 2.2 0 0 1 3.8 1.5c0 2.7-3.8 5-3.8 5Z\"/><path class=\"ln\" d=\"M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3\"/>","cart":"<path d=\"M5.5 6.4h16.1l-2.7 8.9H7.5Z\"/><circle cx=\"9\" cy=\"19.6\" r=\"1.7\"/><circle cx=\"17\" cy=\"19.6\" r=\"1.7\"/><path class=\"ln\" d=\"M2.8 4H5l2.5 11.3\"/>","chart":"<path class=\"ln\" d=\"M4 4v16h16\"/><path d=\"M7 15.2 10.9 10.7l3 2.5 5.1-6.1V18H7Z\"/>","chat":"<path d=\"M3.5 5.6A1.6 1.6 0 0 1 5.1 4h13.8a1.6 1.6 0 0 1 1.6 1.6v9.8a1.6 1.6 0 0 1-1.6 1.6H8.6L3.5 21Z\"/>","check-circle":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM16.3 8.9l1.6 1.6-6.9 6.9-4.1-4.1 1.6-1.6 2.5 2.5Z\"/>","chip":"<path fill-rule=\"evenodd\" d=\"M8.2 6.6h7.6a1.6 1.6 0 0 1 1.6 1.6v7.6a1.6 1.6 0 0 1-1.6 1.6H8.2a1.6 1.6 0 0 1-1.6-1.6V8.2a1.6 1.6 0 0 1 1.6-1.6Zm1.9 3.5v3.8h3.8v-3.8Z\"/><path class=\"ln\" d=\"M10 3v3.6M14 3v3.6M10 17.4V21M14 17.4V21M3 10h3.6M3 14h3.6M17.4 10H21M17.4 14H21\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"9\"/>","city":"<path fill-rule=\"evenodd\" d=\"M4.6 8.8h5.2v12.4H4.6Zm2.2 2.6v1.6h1.4v-1.6Zm0 3.4v1.6h1.4v-1.6Z\"/><path fill-rule=\"evenodd\" d=\"M10.6 3.8h5.8v17.4h-5.8Zm2 2.8v1.6h1.6V6.6Zm0 3.4v1.6h1.6V10Zm0 3.4v1.6h1.6v-1.6Z\"/><path d=\"M17.2 12.8h2.6v8.4h-2.6Z\"/><path class=\"ln\" d=\"M2.8 21.2h18.4\"/>","clipboard":"<path fill-rule=\"evenodd\" d=\"M7.4 4.4h9.2a2.1 2.1 0 0 1 2.1 2.1v13.4a2.1 2.1 0 0 1-2.1 2.1H7.4a2.1 2.1 0 0 1-2.1-2.1V6.5a2.1 2.1 0 0 1 2.1-2.1ZM9 10.2v1.6h6v-1.6Zm0 4v1.6h4v-1.6Z\"/><rect x=\"8.6\" y=\"2.6\" width=\"6.8\" height=\"3.8\" rx=\"1.2\"/>","clock":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.9 6.6h2.2v5l3.2 1.9-1.1 1.9-4.3-2.6Z\"/>","cloud":"<path d=\"M7 18.8h10a4.4 4.4 0 0 0 .6-8.8A6.4 6.4 0 0 0 5.4 9.4 4.7 4.7 0 0 0 7 18.8Z\"/>","coin":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM11 6h2v1.2c1.1.2 2 .8 2.5 1.7l-1.7 1c-.3-.6-1-1-1.8-1-.9 0-1.5.4-1.5 1s.5.8 1.8 1.1c1.8.4 3.4 1 3.4 3 0 1.4-1 2.4-2.7 2.7V18h-2v-1.3c-1.2-.2-2.2-.9-2.7-1.9l1.7-1c.4.7 1.1 1.1 2 1.1 1 0 1.6-.4 1.6-1s-.6-.8-1.9-1.1c-1.7-.4-3.3-1-3.3-2.9 0-1.3 1-2.3 2.6-2.6Z\"/>","compress":"<path d=\"M9.8 9.8H3.2L9.8 3.2ZM14.2 9.8h6.6l-6.6-6.6ZM9.8 14.2H3.2l6.6 6.6ZM14.2 14.2h6.6l-6.6 6.6Z\"/>","computer":"<rect x=\"2.6\" y=\"3.6\" width=\"18.8\" height=\"12.8\" rx=\"2.2\"/><path class=\"ln\" d=\"M8 20.2h8M12 16.4v3.8\"/>","copy":"<rect x=\"7.6\" y=\"7.6\" width=\"13\" height=\"13\" rx=\"2.4\"/><path class=\"ln\" d=\"M16 7.6V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h1.6\"/>","crown":"<path d=\"M2.6 7.8 7.4 12 12 4.6 16.6 12l4.8-4.2-2 11.7H4.6Z\"/>","database":"<ellipse cx=\"12\" cy=\"6\" rx=\"7.4\" ry=\"3\"/><path d=\"M4.6 7.6a7.4 3 0 0 0 14.8 0v4a7.4 3 0 0 1-14.8 0ZM4.6 13.2a7.4 3 0 0 0 14.8 0v4.4a7.4 3 0 0 1-14.8 0Z\"/>","dish":"<path d=\"M4.6 9.4A10 10 0 0 0 14.6 19.4Z\"/><path class=\"ln\" d=\"m9.8 14.2 4.2-4.2M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5\"/>","download":"<path d=\"M10.8 3.6h2.4v6.6h4.4L12 15.8l-5.6-5.6h4.4Z\"/><path class=\"ln\" d=\"M5 20h14\"/>","drive":"<path fill-rule=\"evenodd\" d=\"M4.9 12.1h14.2a2.8 2.8 0 0 1 2.8 2.8v3.2a2.8 2.8 0 0 1-2.8 2.8H4.9a2.8 2.8 0 0 1-2.8-2.8v-3.2a2.8 2.8 0 0 1 2.8-2.8ZM17 15.3a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4ZM13.8 15.3a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4Z\"/><path class=\"ln\" d=\"M3.6 12.6 6.5 5h11l2.9 7.6\"/>","drop":"<path d=\"M12 2.4s6.4 6.8 6.4 11.6a6.4 6.4 0 0 1-12.8 0C5.6 9.2 12 2.4 12 2.4Z\"/>","expand":"<path d=\"M3.2 3.2h6.6L3.2 9.8ZM20.8 3.2h-6.6l6.6 6.6ZM3.2 20.8h6.6l-6.6-6.6ZM20.8 20.8h-6.6l6.6-6.6Z\"/>","eye":"<path fill-rule=\"evenodd\" d=\"M12 4.8C6 4.8 1.8 12 1.8 12s4.2 7.2 10.2 7.2S22.2 12 22.2 12 18 4.8 12 4.8Zm0 3.6a3.6 3.6 0 1 1 0 7.2 3.6 3.6 0 0 1 0-7.2Z\"/><circle cx=\"12\" cy=\"12\" r=\"1.7\"/>","eye-off":"<path d=\"M8.71 5.31A10.83 10.83 0 0 1 22.2 12a10.83 10.83 0 0 1-2.66 4.14L15.6 12.2a3.6 3.6 0 0 0-3.8-3.8ZM15.29 18.69A10.83 10.83 0 0 1 1.8 12a10.83 10.83 0 0 1 2.66-4.14L8.4 11.8a3.6 3.6 0 0 0 3.8 3.8Z\"/><path class=\"ln\" d=\"m4 4 16 16\"/>","file":"<path d=\"M6 2.6h7.6v5.2h5V21.4H6ZM15.2 2.9l3.1 3.3h-3.1Z\"/>","film":"<path fill-rule=\"evenodd\" d=\"M5 3.8h14a2.2 2.2 0 0 1 2.2 2.2v12a2.2 2.2 0 0 1-2.2 2.2H5A2.2 2.2 0 0 1 2.8 18V6A2.2 2.2 0 0 1 5 3.8Zm3.7 1.9v12.6h6.6V5.7ZM4.6 6.2v1.9h2V6.2Zm0 4.9v1.8h2v-1.8Zm0 4.8v1.9h2v-1.9Zm12.8-9.7v1.9h2V6.2Zm0 4.9v1.8h2v-1.8Zm0 4.8v1.9h2v-1.9Z\"/>","fire":"<path fill-rule=\"evenodd\" d=\"M12 21.5a6.3 6.3 0 0 0 6.3-6.3c0-4-2.7-6.3-3.9-9.5-1.9 2.1-2.4 4.2-2.4 4.2S10.8 8 9.7 6.1C7.4 8.7 5.7 11.8 5.7 15.2A6.3 6.3 0 0 0 12 21.5Zm0-2.6a2.6 2.6 0 0 0 2.6-2.6c0-1.5-1.1-2.5-1.6-3.7-.8.9-1 1.7-1 1.7s-.5-.8-.9-1.5c-.9 1.1-1.6 2.3-1.6 3.6a2.6 2.6 0 0 0 2.5 2.5Z\"/>","flag":"<path class=\"ln\" d=\"M5 21V3.8\"/><path d=\"M5.6 3.6h11.6l-2.1 4.4 2.1 4.4H5.6Z\"/>","folder":"<path d=\"M2.8 6.8a2 2 0 0 1 2-2h4.4l2 2h8a2 2 0 0 1 2 2v8.6a2 2 0 0 1-2 2H4.8a2 2 0 0 1-2-2Z\"/>","food":"<path d=\"M4.2 3h1.5v4.6h.6V3h1.4v4.6h.6V3h1.5v4.8A2.8 2.8 0 0 1 8 10.4V21H6V10.4a2.8 2.8 0 0 1-1.8-2.6ZM18 21h-2.2v-7.2h-2.9V10c0-3.8 1.7-6.4 5.1-7.5Z\"/>","game":"<path fill-rule=\"evenodd\" d=\"M7.6 6.4h8.8a5.8 5.8 0 0 1 0 11.6H7.6a5.8 5.8 0 0 1 0-11.6Zm-1.4 3.8v1.6H4.6v1.8h1.6v1.6H8v-1.6h1.6v-1.8H8v-1.6Zm9.3 1a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Zm2.6 1.6a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Z\"/>","gauge":"<path fill-rule=\"evenodd\" d=\"M4.52 19A9 9 0 1 1 19.48 19ZM15.29 9.97l-2.08 5.41-2.03.25-.39-2.01Z\"/>","gavel":"<path d=\"M11.3 5.9 4.9 12.3l6.8 6.8 6.4-6.4Z\"/><path class=\"ln\" d=\"m14 4.5 5.5 5.5M3 21l6.3-6.3M14 21h7\"/>","gear":"<path fill-rule=\"evenodd\" d=\"M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z M12 8.6a3.4 3.4 0 1 0 0 6.8 3.4 3.4 0 0 0 0-6.8Z\"/>","gem":"<path d=\"M6.4 3.6h11.2l3.8 5.3-9.4 11.6L2.6 8.9Z\"/>","ghost":"<path fill-rule=\"evenodd\" d=\"M4.8 20.6V11a7.2 7.2 0 0 1 14.4 0v9.6l-2.4-1.8-2.4 1.8-2.4-1.8-2.4 1.8-2.4-1.8ZM9.4 9.3a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Zm5.2 0a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Z\"/>","gift":"<path d=\"M3.4 8.6h17.2v3.2H3.4ZM4.6 12.8h6.4v8H5.6a1 1 0 0 1-1-1ZM13 12.8h6.4v7a1 1 0 0 1-1 1H13Z\"/><path class=\"ln\" d=\"M12 8.6c-1.5-3-5-4-5-1.5S12 8.6 12 8.6s5-1 5-3.5-3.5-1.5-5 3.5\"/>","globe":"<path d=\"M2.84 11.1A9.2 9.2 0 0 1 12 2.8a4.4 9.2 0 0 0-4.38 8.3ZM21.16 11.1A9.2 9.2 0 0 0 12 2.8a4.4 9.2 0 0 1 4.38 8.3ZM2.84 12.9A9.2 9.2 0 0 0 12 21.2a4.4 9.2 0 0 1-4.38-8.3ZM21.16 12.9A9.2 9.2 0 0 1 12 21.2a4.4 9.2 0 0 0 4.38-8.3ZM12 2.8a2.6 9.2 0 0 0-2.59 8.3h5.18A2.6 9.2 0 0 0 12 2.8ZM12 21.2a2.6 9.2 0 0 1-2.59-8.3h5.18A2.6 9.2 0 0 1 12 21.2Z\"/>","group":"<rect x=\"6.2\" y=\"6.2\" width=\"7.2\" height=\"5.4\" rx=\"1.2\"/><rect x=\"10.6\" y=\"12.6\" width=\"7.2\" height=\"5.2\" rx=\"1.2\"/><path class=\"ln\" d=\"M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4\"/>","hand":"<path d=\"M7.2 14.2V5.5a1.3 1.3 0 0 1 2.6 0v4.9a.5.5 0 0 0 1 0V4.4a1.3 1.3 0 0 1 2.6 0v6a.5.5 0 0 0 1 0V6.2a1.3 1.3 0 0 1 2.6 0v7.2c0 4.2-2.6 7.2-6.8 7.2-2.7 0-4.4-1.4-5.9-3.7l-1.7-2.7a1.6 1.6 0 0 1 2.6-1.9Z\"/>","headphones":"<path class=\"ln\" d=\"M4 14.5V12a8 8 0 0 1 16 0v2.5\"/><rect x=\"2.6\" y=\"13.4\" width=\"5.4\" height=\"7.6\" rx=\"1.8\"/><rect x=\"16\" y=\"13.4\" width=\"5.4\" height=\"7.6\" rx=\"1.8\"/>","heart":"<path d=\"M12 20.6s-7.6-4.6-7.6-10.6a4.3 4.3 0 0 1 7.6-2.9 4.3 4.3 0 0 1 7.6 2.9c0 6-7.6 10.6-7.6 10.6Z\"/>","help":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM8.4 9.4A3.6 3.6 0 1 1 13 12.86v1.54h-2V11h1a1.6 1.6 0 1 0-1.6-1.6ZM12 15.75a1.25 1.25 0 1 1 0 2.5 1.25 1.25 0 0 1 0-2.5Z\"/>","history":"<path d=\"M6.06 6.06A8.4 8.4 0 1 1 3.6 12h2.8a5.6 5.6 0 1 0 1.64-3.96ZM3 3.2v6.6h6.6ZM11 8.2h2v3.4l2.5 1.5-1 1.7-3.5-2.1Z\"/>","home":"<path d=\"M3.3 11.2 12 3.6l8.7 7.6v8.9a1 1 0 0 1-1 1h-5.2v-6.4h-5v6.4H4.3a1 1 0 0 1-1-1Z\"/>","hot-tub":"<circle cx=\"8\" cy=\"5.3\" r=\"2.5\"/><path d=\"M2.1 11.1h19.8v4.4a5.4 5.4 0 0 1-5.4 5.4h-9a5.4 5.4 0 0 1-5.4-5.4Z\"/><path class=\"ln\" d=\"M6 11.1v-.6A2.5 2.5 0 0 1 8.5 8H9M13.5 9.5c.8-1-.8-2 0-3M17.5 9.5c.8-1-.8-2 0-3\"/>","id":"<path fill-rule=\"evenodd\" d=\"M5 4.8h14a2.2 2.2 0 0 1 2.2 2.2v10a2.2 2.2 0 0 1-2.2 2.2H5A2.2 2.2 0 0 1 2.8 17V7A2.2 2.2 0 0 1 5 4.8Zm4 4.1a2.1 2.1 0 1 0 0 4.2 2.1 2.1 0 0 0 0-4.2Zm-3.1 7.5h6.2c-.6-1.7-1.8-2.6-3.1-2.6s-2.5.9-3.1 2.6Zm8.6-7v1.5h3.9V9.4Zm0 3.5v1.5h3.9v-1.5Z\"/>","idea":"<path d=\"M8.3 15.3A6.5 6.5 0 1 1 15.7 15.3c-.7.6-1.3 1.3-1.4 2.2H9.7c-.1-.9-.7-1.6-1.4-2.2Z\"/><path class=\"ln\" d=\"M9.6 20.8h4.8\"/>","image":"<path fill-rule=\"evenodd\" d=\"M3 6.1a2.6 2.6 0 0 1 2.6-2.6h12.8A2.6 2.6 0 0 1 21 6.1v11.8a2.6 2.6 0 0 1-2.6 2.6H5.6A2.6 2.6 0 0 1 3 17.9Zm6 2.1a1.9 1.9 0 1 0 0 3.8 1.9 1.9 0 0 0 0-3.8Zm7.2 3.3-8 7.5h10.2a1.4 1.4 0 0 0 1.4-1.4v-2.9Z\"/>","info":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.8 10.6h2.4V17h-2.4ZM12 6.5a1.45 1.45 0 1 1 0 2.9 1.45 1.45 0 0 1 0-2.9Z\"/>","invite":"<circle cx=\"9\" cy=\"7.9\" r=\"3.6\"/><path d=\"M2.4 20.8c0-3.8 3-6.5 6.6-6.5s6.6 2.7 6.6 6.5Z\"/><path class=\"ln\" d=\"M19 8v6M16 11h6\"/>","key":"<path fill-rule=\"evenodd\" d=\"M8 9.8a5.2 5.2 0 1 1 0 10.4 5.2 5.2 0 0 1 0-10.4Zm0 3.4a1.8 1.8 0 1 0 0 3.6 1.8 1.8 0 0 0 0-3.6Z\"/><path class=\"ln\" d=\"m11.2 11.8 8.3-8.3M16 7l3 3M13.8 9.2l2 2\"/>","keyboard":"<path fill-rule=\"evenodd\" d=\"M4.4 5.4h15.2A2.4 2.4 0 0 1 22 7.8v8.4a2.4 2.4 0 0 1-2.4 2.4H4.4A2.4 2.4 0 0 1 2 16.2V7.8a2.4 2.4 0 0 1 2.4-2.4ZM5 9h2v2H5ZM8 9h2v2H8ZM11 9h2v2h-2ZM14 9h2v2h-2ZM17 9h2v2h-2ZM7.6 13.4h8.8v1.8H7.6Z\"/>","layers":"<path d=\"m12 2.9 9.6 5.6-9.6 5.6-9.6-5.6Z\"/><path class=\"ln\" d=\"m3 13.6 9 5 9-5\"/>","leaf":"<path fill-rule=\"evenodd\" d=\"M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15Zm2.9-1.9L16 8l-9.1 8.1Z\"/><path class=\"ln\" d=\"M3.4 20.6 5.6 18.4\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"3.1\"/><path class=\"ln\" d=\"M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14\"/>","lock":"<path d=\"M5 11.6a1.6 1.6 0 0 1 1.6-1.6h10.8a1.6 1.6 0 0 1 1.6 1.6v8a1.6 1.6 0 0 1-1.6 1.6H6.6A1.6 1.6 0 0 1 5 19.6Z\"/><path class=\"ln\" d=\"M8.2 10V7.6a3.8 3.8 0 0 1 7.6 0V10\"/>","mail":"<path d=\"M3 7.6v-.4A2.2 2.2 0 0 1 5.2 5h13.6A2.2 2.2 0 0 1 21 7.2v.4l-8.2 5.3a1.5 1.5 0 0 1-1.6 0ZM3 9.6v7.2A2.2 2.2 0 0 0 5.2 19h13.6a2.2 2.2 0 0 0 2.2-2.2V9.6l-7.6 4.9a2.6 2.6 0 0 1-2.8 0Z\"/>","map":"<path d=\"M2.6 6.1 8.3 4.2v14l-5.7 1.9ZM9.7 4.2l4.6 1.6v14l-4.6-1.6ZM15.7 5.8l5.7-1.9v14l-5.7 1.9Z\"/>","medical":"<path fill-rule=\"evenodd\" d=\"M4.9 6.1h14.2a2.8 2.8 0 0 1 2.8 2.8v9.2a2.8 2.8 0 0 1-2.8 2.8H4.9a2.8 2.8 0 0 1-2.8-2.8V8.9a2.8 2.8 0 0 1 2.8-2.8ZM10.8 10h2.4v2.3h2.3v2.4h-2.3V17h-2.4v-2.3H8.5v-2.4h2.3Z\"/><path class=\"ln\" d=\"M9 6.1V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1.1\"/>","megaphone":"<path d=\"M3.4 10a1.1 1.1 0 0 1 1.1-1.1h2.6l9.4-4.7v15.6l-9.4-4.7H4.5A1.1 1.1 0 0 1 3.4 14Z\"/><path class=\"ln\" d=\"M7.2 15.2l1.2 4.9M19 9.4a3.3 3.3 0 0 1 0 5.2\"/>","members":"<circle cx=\"9\" cy=\"7.9\" r=\"3.6\"/><path d=\"M2.4 20.8c0-3.8 3-6.5 6.6-6.5s6.6 2.7 6.6 6.5Z\"/><circle cx=\"16.6\" cy=\"7.4\" r=\"2.9\"/><path d=\"M16.8 13.4c2.9.4 4.8 2.8 4.8 6.4V20.8h-4.4c0-2.9-1-5.2-2.8-6.7Z\"/>","mic":"<path d=\"M8.7 5.8a3.3 3.3 0 0 1 6.6 0V11a3.3 3.3 0 0 1-6.6 0Z\"/><path class=\"ln\" d=\"M5.5 11a6.5 6.5 0 0 0 13 0M12 17.5V21\"/>","mic-off":"<path d=\"M8.73 5.33A3.3 3.3 0 0 1 15.3 5.8V11a3.3 3.3 0 0 1-.1.8Z\"/><path class=\"ln\" d=\"M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16\"/>","money":"<path fill-rule=\"evenodd\" d=\"M4.4 5.4h15.2a2.2 2.2 0 0 1 2.2 2.2v8.8a2.2 2.2 0 0 1-2.2 2.2H4.4a2.2 2.2 0 0 1-2.2-2.2V7.6a2.2 2.2 0 0 1 2.2-2.2ZM12 8.7a3.3 3.3 0 1 0 0 6.6 3.3 3.3 0 0 0 0-6.6ZM6 8.5a1.1 1.1 0 1 0 0 2.2 1.1 1.1 0 0 0 0-2.2Zm12 4.8a1.1 1.1 0 1 0 0 2.2 1.1 1.1 0 0 0 0-2.2Z\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/>","moon":"<path d=\"M20.4 14.4A8.5 8.5 0 1 1 9.6 3.6a7 7 0 0 0 10.8 10.8Z\"/>","mountain":"<path d=\"M2.6 20.2 9.5 8l4 6.4 2.6-3.6 5.3 9.4Z\"/>","music":"<path d=\"M8.4 6.6l12-2.3v3.2l-12 2.3Z\"/><path class=\"ln\" d=\"M9.5 18V7.8M19.5 16V5.6\"/><circle cx=\"6.7\" cy=\"18\" r=\"2.9\"/><circle cx=\"16.7\" cy=\"16\" r=\"2.9\"/>","mute":"<path d=\"M3.4 8.9h3.9l5.3-4.1v14.4l-5.3-4.1H3.4Z\"/><path class=\"ln\" d=\"m15.7 9.7 4.6 4.6M20.3 9.7l-4.6 4.6\"/>","news":"<path fill-rule=\"evenodd\" d=\"M4 4.6h13.4v14.3a2.1 2.1 0 0 0 2.1 2.1H6.1A2.1 2.1 0 0 1 4 18.9ZM7.5 8.3h6.4v1.6H7.5Zm0 3.5h6.4v1.6H7.5Zm0 3.5h3.8v1.6H7.5Z\"/><path class=\"ln\" d=\"M17.4 9.4H20V19a2 2 0 0 1-2 2\"/>","nodes":"<circle cx=\"12\" cy=\"5\" r=\"3\"/><circle cx=\"5.5\" cy=\"18\" r=\"3\"/><circle cx=\"18.5\" cy=\"18\" r=\"3\"/><path class=\"ln\" d=\"M10.9 7.4 6.7 15.4M13.1 7.4l4.2 8M8.4 18h7.2\"/>","palette":"<path fill-rule=\"evenodd\" d=\"M12 2.7a9.3 9.3 0 1 0 0 18.6c1.3 0 2-.9 2-1.9 0-1.2-1-1.5-1-2.5s.8-1.6 2-1.6H17a4.3 4.3 0 0 0 4.3-4.3C21.3 6.5 17.2 2.7 12 2.7ZM7.5 9.5a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm2.5-3.7a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Zm4.5 0a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3Z\"/>","parking":"<path fill-rule=\"evenodd\" d=\"M6.2 2.6h11.6a3.6 3.6 0 0 1 3.6 3.6v11.6a3.6 3.6 0 0 1-3.6 3.6H6.2a3.6 3.6 0 0 1-3.6-3.6V6.2a3.6 3.6 0 0 1 3.6-3.6ZM8.4 18V6H13a4 4 0 0 1 0 8h-2.4v4ZM10.6 8.2v3.6H13a1.8 1.8 0 0 0 0-3.6Z\"/>","pause":"<rect x=\"6.3\" y=\"4.6\" width=\"4\" height=\"14.8\" rx=\"1.2\"/><rect x=\"13.7\" y=\"4.6\" width=\"4\" height=\"14.8\" rx=\"1.2\"/>","pencil":"<path d=\"M16.3 3.2a2.3 2.3 0 0 1 3.3 3.3L7.4 18.7l-4.6 1.2 1.2-4.6Z\"/><path class=\"ln\" d=\"M12.6 20.3H21\"/>","phone":"<path d=\"M4.6 3.4h4.8l2.3 5.8-2.6 1.6a10.4 10.4 0 0 0 4.1 4.1l1.6-2.6 5.8 2.3v4.8a2.2 2.2 0 0 1-2.2 2.2A16.8 16.8 0 0 1 2.4 5.6a2.2 2.2 0 0 1 2.2-2.2Z\"/>","pin":"<path fill-rule=\"evenodd\" d=\"M12 2.3a7.3 7.3 0 0 0-7.3 7.3c0 5.6 7.3 12.1 7.3 12.1s7.3-6.5 7.3-12.1A7.3 7.3 0 0 0 12 2.3Zm0 4.6a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2Z\"/>","plane":"<path d=\"M21 3 3.1 10.4l6.5 3ZM21 3l-10.4 11.4 3 6.5Z\"/>","play":"<path d=\"M7.4 4.4v15.2a.8.8 0 0 0 1.2.7l11.4-7.6a.8.8 0 0 0 0-1.4L8.6 3.7a.8.8 0 0 0-1.2.7Z\"/>","plug":"<path d=\"M5.8 7.2h12.4v3.8a6.2 6.2 0 0 1-12.4 0Z\"/><path class=\"ln\" d=\"M9 2.8v4.4M15 2.8v4.4M12 17.2v4\"/>","puzzle":"<path d=\"M5.5 7.5h3.5a2 2 0 1 1 4 0h3.5v3.5a2 2 0 1 1 0 4v3.5h-3.5a2 2 0 1 0-4 0H5.5v-3.5a2 2 0 1 0 0-4Z\"/>","restroom":"<circle cx=\"7\" cy=\"4.6\" r=\"2\"/><circle cx=\"17\" cy=\"4.6\" r=\"2\"/><path d=\"M6 8.8h2a1.7 1.7 0 0 1 1.7 1.7v5.2H8.6v5.5H5.4v-5.5H4.3v-5.2A1.7 1.7 0 0 1 6 8.8Z\"/><path d=\"M16.4 9.3h1.2a1 1 0 0 1 1 .8l2.1 7H18.3v3.9h-2.6v-3.9h-2.4l2.1-7a1 1 0 0 1 1-.8Z\"/><path class=\"ln\" d=\"M12 3v18\"/>","retry":"<path class=\"ln\" d=\"M4.4 12a7.6 7.6 0 0 1 12.7-5.6M19.6 12a7.6 7.6 0 0 1-12.7 5.6\"/><path d=\"M20.8 3.3v6.6h-6.6ZM3.2 20.7v-6.6h6.6Z\"/>","robot":"<path fill-rule=\"evenodd\" d=\"M8 7.4h8a3.6 3.6 0 0 1 3.6 3.6v5A3.6 3.6 0 0 1 16 19.6H8A3.6 3.6 0 0 1 4.4 16v-5A3.6 3.6 0 0 1 8 7.4Zm1 4.4a1.4 1.4 0 1 0 0 2.8 1.4 1.4 0 0 0 0-2.8Zm6 0a1.4 1.4 0 1 0 0 2.8 1.4 1.4 0 0 0 0-2.8ZM9.4 15.8v1.5h5.2v-1.5Z\"/><path class=\"ln\" d=\"M12 3.4v4M2.6 12.4v3.2M21.4 12.4v3.2\"/>","save":"<path fill-rule=\"evenodd\" d=\"M5 3.4h11.4l3.2 3.2V20a.6.6 0 0 1-.6.6H5a.6.6 0 0 1-.6-.6V4a.6.6 0 0 1 .6-.6Zm3.1 1.3v4.5h6.8V4.7ZM7.6 13.4v5.9h8.8v-5.9Z\"/>","scissors":"<path fill-rule=\"evenodd\" d=\"M6 3.9a3.2 3.2 0 1 1 0 6.4 3.2 3.2 0 0 1 0-6.4Zm0 2a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4ZM6 13.7a3.2 3.2 0 1 1 0 6.4 3.2 3.2 0 0 1 0-6.4Zm0 2a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Z\"/><path class=\"ln\" d=\"M8.5 8.8 20 18M8.5 15.2 20 6\"/>","search":"<path fill-rule=\"evenodd\" d=\"M11 3.4a7.6 7.6 0 1 1 0 15.2 7.6 7.6 0 0 1 0-15.2Zm0 3.1a4.5 4.5 0 1 0 0 9 4.5 4.5 0 0 0 0-9Z\"/><path class=\"ln\" d=\"m16.6 16.6 3.8 3.8\"/>","server":"<path fill-rule=\"evenodd\" d=\"M6 3.6h12a2.4 2.4 0 0 1 2.4 2.4v3a2.4 2.4 0 0 1-2.4 2.4H6A2.4 2.4 0 0 1 3.6 9V6A2.4 2.4 0 0 1 6 3.6Zm2 2.6a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6ZM6 12.6h12a2.4 2.4 0 0 1 2.4 2.4v3a2.4 2.4 0 0 1-2.4 2.4H6A2.4 2.4 0 0 1 3.6 18v-3A2.4 2.4 0 0 1 6 12.6Zm2 2.6a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Z\"/>","shapes":"<circle cx=\"7.5\" cy=\"7.5\" r=\"4.2\"/><path d=\"m16.5 2.6 4.8 8.4h-9.6ZM13.4 13.4h7.2v7.2h-7.2ZM2.8 20.6 7 13.4l4.2 7.2Z\"/>","shelter":"<path fill-rule=\"evenodd\" d=\"M12 2.4 2 10.3l1.2 1.6 1-.8v10.5h15.6V11.1l1 .8 1.2-1.6ZM9.4 21.6v-5a2.6 2.6 0 0 1 5.2 0v5ZM12 9.2a1.8 1.8 0 1 1 0 3.6 1.8 1.8 0 0 1 0-3.6Z\"/>","shield":"<path d=\"M12 2.6 4.6 5.8V12c0 4.6 3.1 8 7.4 9.5 4.3-1.5 7.4-4.9 7.4-9.5V5.8Z\"/>","shirt":"<path d=\"M7.8 2.2 2 5.6l2.6 5.2 1.6-.8v11.8h11.6V10l1.6.8L22 5.6l-5.8-3.4c-.6 1.6-2 2.6-4.2 2.6S8.4 3.8 7.8 2.2Z\"/>","skull":"<path fill-rule=\"evenodd\" d=\"M12 2.1a7.9 7.9 0 0 0-7.9 7.9c0 2.4 1.1 4.2 2.5 5.4V19a2 2 0 0 0 2 2h6.8a2 2 0 0 0 2-2v-3.6c1.4-1.2 2.5-3 2.5-5.4A7.9 7.9 0 0 0 12 2.1ZM9.2 8.9a1.7 1.7 0 1 1 0 3.4 1.7 1.7 0 0 1 0-3.4ZM14.8 8.9a1.7 1.7 0 1 1 0 3.4 1.7 1.7 0 0 1 0-3.4ZM12 12.8l1 1.8h-2ZM10.1 17.6h.9v2.4h-.9ZM13 17.6h.9v2.4H13Z\"/>","sliders":"<path class=\"ln\" d=\"M4 7h8.8M19.2 7H20M4 17h2.8M13.2 17H20\"/><circle cx=\"16\" cy=\"7\" r=\"3.2\"/><circle cx=\"10\" cy=\"17\" r=\"3.2\"/>","smile":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM9 8.6a1.35 1.35 0 1 1 0 2.7 1.35 1.35 0 0 1 0-2.7ZM15 8.6a1.35 1.35 0 1 1 0 2.7 1.35 1.35 0 0 1 0-2.7ZM7.9 13.4h8.2a4.1 4.1 0 0 1-8.2 0Z\"/>","spark":"<path d=\"M12 2.6l2 5.6 5.6 2-5.6 2L12 17.8l-2-5.6-5.6-2 5.6-2ZM19 14.6l.9 2.5 2.5.9-2.5.9-.9 2.5-.9-2.5-2.5-.9 2.5-.9Z\"/>","star":"<path d=\"M12 3.2l2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.3l-5.3 2.9 1.2-5.9-4.4-4 5.9-.7Z\"/>","steps":"<path fill-rule=\"evenodd\" d=\"M2.6 3.6h5.2v5.2H2.6Zm1.1 2.6.8-.9.9.9 1.5-1.5.9.9-2.4 2.4ZM2.6 9.4h5.2v5.2H2.6Zm1.1 2.6.8-.9.9.9 1.5-1.5.9.9-2.4 2.4ZM2.6 15.2h5.2v5.2H2.6Zm1.1 2.6.8-.9.9.9 1.5-1.5.9.9-2.4 2.4Z\"/><path class=\"ln\" d=\"M10.8 6.2H21M10.8 12H21M10.8 17.8H21\"/>","store":"<path d=\"M5.2 3.6h13.6l1.8 5.6v1.3a2.9 2.9 0 0 1-5.73 0 2.9 2.9 0 0 1-5.74 0 2.9 2.9 0 0 1-5.73 0V9.2ZM4.8 14.3h14.4v5.1a1 1 0 0 1-1 1H14v-4.6h-4v4.6H5.8a1 1 0 0 1-1-1Z\"/>","sun":"<circle cx=\"12\" cy=\"12\" r=\"4.6\"/><path class=\"ln\" d=\"M12 2.2v1.6M12 20.2v1.6M5 5l1.1 1.1M17.9 17.9 19 19M2.2 12h1.6M20.2 12h1.6M5 19l1.1-1.1M17.9 6.1 19 5\"/>","tack":"<path d=\"M8.2 2.4h7.6a.9.9 0 0 1 .9 1.1l-.9 4.2 3 3a.8.8 0 0 1-.6 1.5H5.8a.8.8 0 0 1-.6-1.5l3-3-.9-4.2a.9.9 0 0 1 .9-1.1Z\"/><path class=\"ln\" d=\"M12 12.2V21\"/>","tag":"<path fill-rule=\"evenodd\" d=\"M2.6 4.1A1.5 1.5 0 0 1 4.1 2.6h7.3l10.1 10.1-8.8 8.8L2.6 11.4Zm5.1 2.5a1.9 1.9 0 1 0 0 3.8 1.9 1.9 0 0 0 0-3.8Z\"/>","target":"<path fill-rule=\"evenodd\" d=\"M12 3.1a8.9 8.9 0 1 1 0 17.8 8.9 8.9 0 0 1 0-17.8Zm0 2.8a6.1 6.1 0 1 0 0 12.2 6.1 6.1 0 0 0 0-12.2Zm0 2.6a3.5 3.5 0 1 1 0 7 3.5 3.5 0 0 1 0-7Z\"/>","tent":"<path fill-rule=\"evenodd\" d=\"M12 4.2 20.6 19.8H3.4ZM12 13 9 19.8h6Z\"/><path class=\"ln\" d=\"M2.4 20.2h19.2\"/>","terminal":"<path fill-rule=\"evenodd\" d=\"M5 3.6h14a2.4 2.4 0 0 1 2.4 2.4v12a2.4 2.4 0 0 1-2.4 2.4H5A2.4 2.4 0 0 1 2.6 18V6A2.4 2.4 0 0 1 5 3.6Zm1.4 6 1.3-1.3 3.6 3.7-3.6 3.7-1.3-1.3 2.4-2.4Zm6.4 4.6h4.4v1.7h-4.4Z\"/>","text":"<path fill-rule=\"evenodd\" d=\"M10.3 3.4h3.4l6.3 17.2h-3.1l-1.5-4.3H8.6l-1.5 4.3H4ZM9.5 13.7h5L12 6.4Z\"/>","thumbs-up":"<path d=\"M7.4 10.4v10H4.6a1.1 1.1 0 0 1-1.1-1.1v-7.8a1.1 1.1 0 0 1 1.1-1.1ZM8.8 10.4l3.5-7.1a2.3 2.3 0 0 1 2.6 2.7l-.6 3.4h5.5a2.1 2.1 0 0 1 2.1 2.5l-1.4 6.8a2.1 2.1 0 0 1-2.1 1.7H8.8Z\"/>","ticket":"<path fill-rule=\"evenodd\" d=\"M2.6 6.4h18.8v3.4a2.2 2.2 0 0 0 0 4.4v3.4H2.6v-3.4a2.2 2.2 0 0 0 0-4.4ZM13.3 8.4v1.8h1.4V8.4Zm0 2.7v1.8h1.4v-1.8Zm0 2.7v1.8h1.4v-1.8Z\"/>","train":"<path fill-rule=\"evenodd\" d=\"M9 3h6a3 3 0 0 1 3 3v7a3 3 0 0 1-3 3H9a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3Zm-1.2 2.6v4.2h8.4V5.6ZM9 12a1.1 1.1 0 1 0 0 2.2A1.1 1.1 0 0 0 9 12Zm6 0a1.1 1.1 0 1 0 0 2.2 1.1 1.1 0 0 0 0-2.2Z\"/><path class=\"ln\" d=\"M8.5 21l2-3.5M15.5 21l-2-3.5\"/>","trash":"<path d=\"M5.8 7.6h12.4l-1 12a2 2 0 0 1-2 1.8H8.8a2 2 0 0 1-2-1.8Z\"/><path class=\"ln\" d=\"M3.8 6.6h16.4M9 6.6V4h6v2.6\"/>","tree":"<path d=\"M12 2.6 5.6 11.2h3.2L4 17.8h16l-4.8-6.6h3.2Z\"/><path class=\"ln\" d=\"M12 17v4.2\"/>","trophy":"<path d=\"M7.3 3.3h9.4V9a4.7 4.7 0 0 1-9.4 0Z\"/><path class=\"ln\" d=\"M7.3 5.8H5.1a3 3 0 0 0 3 4.1M16.7 5.8h2.2a3 3 0 0 1-3 4.1M12 13.8V17M8 20.4h8\"/>","tv":"<rect x=\"2.2\" y=\"6.6\" width=\"19.6\" height=\"14\" rx=\"2.4\"/><path class=\"ln\" d=\"m8 2.8 4 3.6 4-3.6\"/>","umbrella":"<path d=\"M2.1 12.6a9.9 9.9 0 0 1 19.8 0Z\"/><path class=\"ln\" d=\"M12 12.6v5.9a2 2 0 0 1-4 0\"/>","upload":"<path d=\"M10.8 20.4h2.4v-6.6h4.4L12 8.2l-5.6 5.6h4.4Z\"/><path class=\"ln\" d=\"M5 4h14\"/>","user":"<circle cx=\"12\" cy=\"7.8\" r=\"4.1\"/><path d=\"M4.2 21c0-4.3 3.5-7.2 7.8-7.2s7.8 2.9 7.8 7.2Z\"/>","user-check":"<circle cx=\"9\" cy=\"7.9\" r=\"3.6\"/><path d=\"M2.4 20.8c0-3.8 3-6.5 6.6-6.5s6.6 2.7 6.6 6.5Z\"/><path class=\"ln\" d=\"m15.6 11.2 2.2 2.2 4.2-4.2\"/>","video":"<path d=\"M2.5 7.6a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v8.8a2 2 0 0 1-2 2H4.5a2 2 0 0 1-2-2ZM17.2 10.1l4.3-2.6v9l-4.3-2.6Z\"/>","volume":"<path d=\"M3.4 8.9h3.9l5.3-4.1v14.4l-5.3-4.1H3.4Z\"/><path class=\"ln\" d=\"M15.9 9.3a3.7 3.7 0 0 1 0 5.4M18.4 6.6a7.4 7.4 0 0 1 0 10.8\"/>","wallet":"<path fill-rule=\"evenodd\" d=\"M6.5 4.6H18v4h1.4a.8.8 0 0 1 .8.8v10.8H6a2.2 2.2 0 0 1-2.2-2.2V7.3a2.7 2.7 0 0 1 2.7-2.7Zm0 1.8a.9.9 0 0 0 0 1.8h9.7V6.4ZM16 13.3a1.2 1.2 0 1 0 0 2.4 1.2 1.2 0 0 0 0-2.4Z\"/>","water":"<path d=\"M2.5 7.6c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2v3.2c-2.3 0-2.3-2-4.7-2s-2.4 2-4.8 2-2.3-2-4.7-2-2.4 2-4.8 2ZM2.5 14.6c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2v3.2c-2.3 0-2.3-2-4.7-2s-2.4 2-4.8 2-2.3-2-4.7-2-2.4 2-4.8 2Z\"/>","wrench":"<path d=\"M14.5 3.6a5.4 5.4 0 0 0-4.9 7.4L3.6 17V20.4H7l6-6a5.4 5.4 0 0 0 7.4-4.9l-3.1 1.2-2.6-2.6 1.2-3.1Z\"/>","x-circle":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM9.2 7.8 12 10.6l2.8-2.8 1.4 1.4-2.8 2.8 2.8 2.8-1.4 1.4-2.8-2.8-2.8 2.8-1.4-1.4 2.8-2.8-2.8-2.8Z\"/>","zap":"<path d=\"M13.4 2.4 4.6 13.4h6.2l-1.2 8.2 8.8-11h-6.2Z\"/>"};
const FA = {"address-card":"id","adjust":"contrast","align-left":"align-left","angle-down":"down","angle-right":"chevron","angles-left":"chevrons-left","angles-right":"chevrons-right","arrow-down":"arrow-down","arrow-down-short-wide":"sort-asc","arrow-down-wide-short":"sort","arrow-left":"arrow-left","arrow-right":"arrow-right","arrow-right-arrow-left":"swap","arrow-right-from-bracket":"leave","arrow-right-to-bracket":"enter","arrow-rotate-right":"retry","arrow-trend-down":"trend-down","arrow-trend-up":"trend-up","arrow-up":"arrow-up","arrow-up-from-bracket":"share","arrow-up-right-from-square":"open","arrows-left-right":"arrows-h","arrows-rotate":"retry","arrows-to-dot":"focus","arrows-up-down-left-right":"move","at":"at","backward":"rewind","backward-fast":"rewind","balance-scale":"scale","ban":"ban","bars":"menu","basket-shopping":"cart","bell":"bell","bolt":"zap","bolt-lightning":"zap","book":"book","book-open":"book-open","box":"box","box-archive":"archive","box-open":"box","brain":"brain","bridge":"bridge","briefcase":"briefcase","briefcase-medical":"medical","broadcast-tower":"live","bug":"bug","bullhorn":"megaphone","bullseye":"target","burst":"burst","calendar":"calendar","calendar-day":"calendar","calendar-days":"calendar","camera":"camera","camera-cctv":"camera","camera-retro":"camera","camera-rotate":"camera-flip","camera-slash":"camera-off","campground":"tent","car":"car","caret-down":"down","cart":"cart","cart-plus":"cart","cart-shopping":"cart","chart-area":"chart","chart-bar":"chart","chart-column":"chart","chart-line":"chart","chart-simple":"chart","check":"check","check-circle":"check-circle","check-double":"check-double","chevron-down":"down","chevron-left":"back","chevron-right":"chevron","chevron-up":"up","child":"child","circle":"circle","circle-check":"check-circle","circle-dollar-to-slot":"donate","circle-dot":"record","circle-exclamation":"alert-circle","circle-half-stroke":"contrast","circle-info":"info","circle-minus":"minus-circle","circle-nodes":"nodes","circle-notch":"busy","circle-play":"play","circle-plus":"plus-circle","circle-question":"help","circle-user":"user-circle","circle-xmark":"x-circle","city":"city","clapperboard":"clapper","clipboard":"clipboard","clipboard-check":"clipboard-check","clipboard-list":"clipboard","clock":"clock","clock-rotate-left":"history","clone":"copy","closed-captioning":"cc","cloud":"cloud","cloud-arrow-up":"upload","cloud-bolt":"storm","cloud-moon":"cloud","cloud-rain":"cloud","cloud-showers-heavy":"cloud","cloud-slash":"cloud-off","cloud-sun":"cloud","code":"code","code-branch":"branch","code-commit":"commit","code-fork":"branch","coin":"coin","coins":"coin","comment":"chat","comment-dots":"chat","comment-slash":"chat-off","comments":"chat","compass":"compass","compress":"compress","cookie":"cookie","cookie-bite":"cookie","copy":"copy","couch":"couch","credit-card":"card","crown":"crown","cube":"box","cubes":"cubes","cut":"scissors","database":"database","desktop":"computer","diagram-project":"nodes","dice":"dice","dice-five":"dice","dice-six":"dice","display":"computer","dollar-sign":"dollar","door-closed":"door","door-open":"door","down-left-and-up-right-to-center":"compress","download":"download","droplet":"drop","ear-listen":"ear","earth-americas":"globe","earth-europe":"globe","ellipsis":"more","ellipsis-vertical":"more","envelope":"mail","eraser":"eraser","exchange-alt":"swap","expand":"expand","external-link":"open","eye":"eye","eye-slash":"eye-off","face-grin":"laugh","face-grin-squint":"laugh","face-grin-squint-tears":"laugh","face-grin-stars":"smile","face-laugh":"laugh","face-smile":"smile","faucet":"drop","faucet-drip":"drop","file":"file","file-audio":"file","file-code":"file-code","file-image":"image","file-lines":"file","file-pdf":"file","file-pen":"pencil","film":"film","filter":"filter","fire":"fire","fish":"fish","fist-raised":"fist","flag":"flag","flag-checkered":"finish","flask":"flask","flask-vial":"flask","floppy-disk":"save","folder":"folder","folder-open":"folder","folder-tree":"folder-tree","font":"text","forward":"fast-forward","forward-fast":"fast-forward","forward-step":"skip","gamepad":"game","gauge":"gauge","gauge-high":"gauge","gauge-simple":"gauge","gauge-simple-high":"gauge","gauge-simple-low":"gauge","gavel":"gavel","gear":"gear","gears":"gear","gem":"gem","ghost":"ghost","gift":"gift","globe":"globe","grid":"grid","grip":"grip","grip-vertical":"grip","hammer":"hammer","hand":"hand","hand-fist":"fist","hand-holding-dollar":"coin","hand-holding-heart":"care","hand-point-right":"hand","hand-pointer":"hand","handshake":"handshake","handshake-angle":"handshake","hard-drive":"drive","hashtag":"hash","hat-wizard":"wizard","hdd":"drive","heading":"heading","headphones":"headphones","headphones-simple":"headphones","headset":"headphones","heart":"heart","heart-crack":"heart-broken","heart-pulse":"heart-pulse","heartbeat":"heart-pulse","hiking":"mountain","hot-tub":"hot-tub","hot-tub-person":"hot-tub","hourglass":"hourglass","hourglass-end":"hourglass","hourglass-half":"hourglass","hourglass-start":"hourglass","house":"home","house-chimney":"home","house-signal":"home","icicles":"snow","icons":"shapes","id-card":"id","image":"image","images":"image","inbox":"inbox","infinity":"infinity","info-circle":"info","key":"key","keyboard":"keyboard","kit-medical":"medical","language":"language","laptop":"computer","layer-group":"layers","leaf":"leaf","left-right":"arrows-h","life-ring":"lifebuoy","lightbulb":"idea","link":"link","link-slash":"link-off","list":"list","list-check":"steps","list-ol":"list-ordered","list-ul":"list","location-dot":"pin","location-pin":"pin","lock":"lock","lungs":"lungs","magnifying-glass":"search","map":"map","map-location-dot":"map","map-marker-alt":"pin","map-pin":"pin","mask":"mask","message":"chat","microchip":"chip","microphone":"mic","microphone-lines":"mic","microphone-slash":"mic-off","minus":"minus","minus-circle":"minus-circle","mobile-screen":"phone","mobile-screen-button":"phone","money-bill":"money","money-bill-1":"money","money-bill-transfer":"money","money-bill-wave":"money","money-check":"money","moon":"moon","mountain":"mountain","mountain-sun":"mountain","mug-hot":"mug","mug-saucer":"mug","music":"music","network-wired":"nodes","newspaper":"news","object-group":"group","paint-brush":"palette","paintbrush":"palette","palette":"palette","paper-plane":"plane","parking":"parking","paste":"clipboard","pause":"pause","paw":"paw","pen":"pencil","pen-nib":"pencil","pen-to-square":"pencil","pencil":"pencil","people-arrows":"members","people-group":"members","person-hiking":"mountain","person-shelter":"shelter","person-swimming":"water","person-walking":"walk","phone":"phone","phone-slash":"phone-off","photo-film":"film","piggy-bank":"piggy","plane":"airplane","plane-departure":"airplane","play":"play","plug":"plug","plug-circle-bolt":"plug","plug-circle-check":"plug","plug-circle-xmark":"plug","plus":"plus","plus-circle":"plus-circle","print":"print","puzzle":"puzzle","puzzle-piece":"puzzle","puzzle-piece-simple":"puzzle","question":"help","quote-left":"quote","quote-right":"quote","radio":"radio","ranking-star":"ranking","recycle":"recycle","reply":"reply","restroom":"restroom","right-from-bracket":"leave","right-left":"swap","right-to-bracket":"enter","road":"road","robot":"robot","rocket":"rocket","rotate":"retry","rotate-back":"undo","rotate-left":"retry","rotate-right":"retry","route":"route","rss":"rss","satellite-dish":"dish","save":"save","scale-balanced":"scale","scissors":"scissors","screwdriver-wrench":"wrench","scroll":"scroll","search":"search","seedling":"seedling","server":"server","shapes":"shapes","share-nodes":"nodes","shield":"shield","shield-halved":"shield","shirt":"shirt","signal":"wifi","signature":"signature","sitemap":"nodes","skull":"skull","skull-crossbones":"skull","slash":"slash","sliders":"sliders","sliders-h":"sliders","smog":"cloud","snowflake":"snow","sparkles":"spark","spinner":"busy","square":"square","square-parking":"parking","star":"star","star-of-life":"spark","step-forward":"skip","stop":"stop","store":"store","suitcase":"briefcase","suitcase-medical":"medical","sun":"sun","sword":"sword","table":"table","table-cells":"grid","table-columns":"columns","table-list":"table","tag":"tag","tags":"tag","television":"tv","terminal":"terminal","text-height":"text","th":"grid","thumbs-up":"thumbs-up","thumbtack":"tack","ticket":"ticket","timeline":"timeline","times":"close","toolbox":"toolbox","tower-broadcast":"live","tower-cell":"live","train":"train","trash":"trash","trash-can":"trash","tree":"tree","triangle-exclamation":"alert","trophy":"trophy","tv":"tv","umbrella":"umbrella","umbrella-beach":"umbrella","undo":"undo","unlock":"lock","up-right-and-down-left-from-center":"expand","up-right-from-square":"open","upload":"upload","user":"user","user-astronaut":"user","user-check":"user-check","user-circle":"user-circle","user-edit":"user-pen","user-group":"members","user-lock":"user-lock","user-minus":"user-minus","user-pen":"user-pen","user-plus":"invite","user-secret":"user","user-shield":"shield","user-slash":"user-off","user-tag":"user-tag","users":"members","utensils":"food","video":"video","video-slash":"video","volume-high":"volume","volume-low":"volume","volume-off":"mute","volume-xmark":"mute","wallet":"wallet","wand-magic":"spark","wand-magic-sparkles":"spark","water":"water","wave-square":"wave","weight-hanging":"weight","wifi":"wifi","wind":"wind","window-maximize":"window","window-restore":"window-restore","wrench":"wrench","xmark":"close","xmark-circle":"x-circle"};
-- const FB = {"youtube":"youtube","square-youtube":"youtube","twitch":"twitch","discord":"discord","github":"github","square-github":"github","x-twitter":"x","square-x-twitter":"x","twitter":"x","kick":"kick","kickstarter-k":"kick","kickstarter":"kickstarter","google":"google","tiktok":"tiktok","threads":"threads","spotify":"spotify","soundcloud":"soundcloud","reddit":"reddit","reddit-alien":"reddit","paypal":"paypal","patreon":"patreon","mastodon":"mastodon","linux":"linux","instagram":"instagram","facebook":"facebook","facebook-f":"facebook","cloudflare":"cloudflare","brave":"brave","bluesky":"bluesky","bitcoin":"bitcoin","apple":"apple","telegram":"telegram","whatsapp":"whatsapp","steam":"steam","snapchat":"snapchat","pinterest":"pinterest","vimeo":"vimeo","vimeo-v":"vimeo","npm":"npm","node":"nodedotjs","node-js":"nodedotjs","docker":"docker","python":"python","android":"android","chrome":"googlechrome","firefox":"firefoxbrowser","firefox-browser":"firefoxbrowser","gitlab":"gitlab","ubuntu":"ubuntu","raspberry":"raspberrypi","raspberry-pi":"raspberrypi","stripe":"stripe","cc-stripe":"stripe","signal":"signal","matrix":"matrix","medium":"medium","wikipedia":"wikipedia","wikipedia-w":"wikipedia","ethereum":"ethereum"};
++ const FB = {"youtube":"youtube","square-youtube":"youtube","twitch":"twitch","discord":"discord","github":"github","square-github":"github","x-twitter":"x","square-x-twitter":"x","twitter":"x","kick":"kick","kickstarter-k":"kick","kickstarter":"kickstarter","google":"google","tiktok":"tiktok","threads":"threads","spotify":"spotify","soundcloud":"soundcloud","reddit":"reddit","reddit-alien":"reddit","tumblr":"tumblr","hacker-news":"ycombinator","line":"line","paypal":"paypal","patreon":"patreon","mastodon":"mastodon","linux":"linux","instagram":"instagram","facebook":"facebook","facebook-f":"facebook","cloudflare":"cloudflare","brave":"brave","bluesky":"bluesky","bitcoin":"bitcoin","apple":"apple","telegram":"telegram","whatsapp":"whatsapp","steam":"steam","snapchat":"snapchat","pinterest":"pinterest","vimeo":"vimeo","vimeo-v":"vimeo","npm":"npm","node":"nodedotjs","node-js":"nodedotjs","docker":"docker","python":"python","android":"android","chrome":"googlechrome","firefox":"firefoxbrowser","firefox-browser":"firefoxbrowser","gitlab":"gitlab","ubuntu":"ubuntu","raspberry":"raspberrypi","raspberry-pi":"raspberrypi","stripe":"stripe","cc-stripe":"stripe","signal":"signal","matrix":"matrix","medium":"medium","wikipedia":"wikipedia","wikipedia-w":"wikipedia","ethereum":"ethereum"};
// Font Awesome's style, size, layout and animation classes: they say how, not what.
const MOD = /^fa-(solid|regular|light|thin|duotone|sharp|sharp-duotone|classic|brands|fw|lg|xl|xs|sm|2xs|2xl|[0-9]+x|spin|spin-pulse|spin-reverse|pulse|beat|beat-fade|bounce|fade|flip|shake|border|inverse|li|ul|stack|stack-1x|stack-2x|layers|layers-text|layers-counter|pull-left|pull-right|rotate-[0-9]+|rotate-by|flip-horizontal|flip-vertical|flip-both|swap-opacity|width-auto|width-fixed)$/;
const BUSY = '<circle cx="6" cy="12" r="1.8"/><circle cx="12" cy="12" r="1.8"/><circle cx="18" cy="12" r="1.8"/>';
ddiff --git a/ov-qr.js b/ov-qr.js
nnew file mode 100644
iindex 0000000..be0e635
---- /dev/null
++++ b/ov-qr.js
@@@ -0,0 +1,459 @@
++'use strict';
++/**
++ * ov-qr.js — a QR code from a link, on the device. The Share sheet shows one for the thing being shared; the link may
++ * hold a key after #, so nothing here touches the network and no dependency is loaded.
++ *
++ * OVQR.matrix('https://openvibe.network/x#key', { ecc: 'M' }) → { size: 29, dark(x, y) → true|false }
++ * OVQR.svg('https://openvibe.network/x', { ecc, margin, dark, light, title }) → an SVG string
++ *
++ * Byte mode (the text as UTF-8), the smallest of versions 1 to 40 that fits, all eight masks with the standard penalty
++ * rules, and the format and version information. A text that does not fit version 40 throws a RangeError.
++ *
++ * Ported from Nayuki's QR Code generator (MIT), https://www.nayuki.io/page/qr-code-generator-library
++ * Copyright (c) Project Nayuki. Permission is hereby granted, free of charge, to any person obtaining a copy of this
++ * software and associated documentation files (the "Software"), to deal in the Software without restriction, including
++ * without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
++ * Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
++ * the above copyright notice and this permission notice shall be included in all copies or substantial portions of the
++ * Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
++ */
++(function (root, factory) {
++ const api = factory();
++ if (typeof module === 'object' && module.exports) module.exports = api;
++ else root.OVQR = api;
++})(typeof globalThis !== 'undefined' ? globalThis : this, function () {
++ const ECC = {
++ L: { ordinal: 0, formatBits: 1 },
++ M: { ordinal: 1, formatBits: 0 },
++ Q: { ordinal: 2, formatBits: 3 },
++ H: { ordinal: 3, formatBits: 2 },
++ };
++ // Error-correction codewords per block and the number of blocks, indexed by [level][version].
++ const ECC_CODEWORDS_PER_BLOCK = [
++ [-1, 7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
++ [-1, 10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],
++ [-1, 13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
++ [-1, 17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],
++ ];
++ const NUM_ERROR_CORRECTION_BLOCKS = [
++ [-1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],
++ [-1, 1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],
++ [-1, 1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],
++ [-1, 1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81],
++ ];
++ const PENALTY_N1 = 3;
++ const PENALTY_N2 = 3;
++ const PENALTY_N3 = 40;
++ const PENALTY_N4 = 10;
++
++ // Returns the text's UTF-8 bytes (a lone surrogate becomes U+FFFD, as TextEncoder does).
++ function utf8Bytes(text) {
++ const out = [];
++ for (let i = 0; i < text.length; i++) {
++ let c = text.charCodeAt(i);
++ if (c >= 0xD800 && c <= 0xDBFF && i + 1 < text.length) {
++ const d = text.charCodeAt(i + 1);
++ if (d >= 0xDC00 && d <= 0xDFFF) {
++ c = 0x10000 + ((c - 0xD800) << 10) + (d - 0xDC00);
++ i++;
++ }
++ }
++ if (c >= 0xD800 && c <= 0xDFFF) c = 0xFFFD;
++ if (c < 0x80) out.push(c);
++ else if (c < 0x800) out.push(0xC0 | (c >>> 6), 0x80 | (c & 0x3F));
++ else if (c < 0x10000) out.push(0xE0 | (c >>> 12), 0x80 | ((c >>> 6) & 0x3F), 0x80 | (c & 0x3F));
++ else out.push(0xF0 | (c >>> 18), 0x80 | ((c >>> 12) & 0x3F), 0x80 | ((c >>> 6) & 0x3F), 0x80 | (c & 0x3F));
++ }
++ return out;
++ }
++
++ // Appends the low len bits of val to bb.
++ function appendBits(val, len, bb) {
++ for (let i = len - 1; i >= 0; i--) bb.push((val >>> i) & 1);
++ }
++
++ function getBit(x, i) {
++ return ((x >>> i) & 1) !== 0;
++ }
++
++ // Data bits available in a version after the function modules, including remainder bits.
++ function numRawDataModules(ver) {
++ let result = (16 * ver + 128) * ver + 64;
++ if (ver >= 2) {
++ const numAlign = Math.floor(ver / 7) + 2;
++ result -= (25 * numAlign - 10) * numAlign - 55;
++ if (ver >= 7) result -= 36;
++ }
++ return result;
++ }
++
++ function numDataCodewords(ver, level) {
++ return Math.floor(numRawDataModules(ver) / 8) -
++ ECC_CODEWORDS_PER_BLOCK[level.ordinal][ver] * NUM_ERROR_CORRECTION_BLOCKS[level.ordinal][ver];
++ }
++
++ function byteCountBits(ver) {
++ return ver <= 9 ? 8 : 16;
++ }
++
++ function reedSolomonComputeDivisor(degree) {
++ const result = [];
++ for (let i = 0; i < degree - 1; i++) result.push(0);
++ result.push(1);
++ let root = 1;
++ for (let i = 0; i < degree; i++) {
++ for (let j = 0; j < result.length; j++) {
++ result[j] = reedSolomonMultiply(result[j], root);
++ if (j + 1 < result.length) result[j] ^= result[j + 1];
++ }
++ root = reedSolomonMultiply(root, 0x02);
++ }
++ return result;
++ }
++
++ function reedSolomonComputeRemainder(data, divisor) {
++ const result = divisor.map(() => 0);
++ for (const b of data) {
++ const factor = b ^ result.shift();
++ result.push(0);
++ divisor.forEach((coef, i) => { result[i] ^= reedSolomonMultiply(coef, factor); });
++ }
++ return result;
++ }
++
++ function reedSolomonMultiply(x, y) {
++ let z = 0;
++ for (let i = 7; i >= 0; i--) {
++ z = (z << 1) ^ ((z >>> 7) * 0x11D);
++ z ^= ((y >>> i) & 1) * x;
++ }
++ return z;
++ }
++
++ class QrCode {
++ constructor(version, level, dataCodewords) {
++ this.version = version;
++ this.level = level;
++ this.size = version * 4 + 17;
++ this.modules = [];
++ this.isFunction = [];
++ for (let i = 0; i < this.size; i++) {
++ this.modules.push(new Array(this.size).fill(false));
++ this.isFunction.push(new Array(this.size).fill(false));
++ }
++ this.drawFunctionPatterns();
++ this.drawCodewords(this.addEccAndInterleave(dataCodewords));
++ // The standard penalty rules choose the mask; ties keep the lower number.
++ let bestMask = 0;
++ let bestPenalty = Infinity;
++ for (let mask = 0; mask < 8; mask++) {
++ this.applyMask(mask);
++ this.drawFormatBits(mask);
++ const penalty = this.getPenaltyScore();
++ if (penalty < bestPenalty) {
++ bestPenalty = penalty;
++ bestMask = mask;
++ }
++ this.applyMask(mask);
++ }
++ this.mask = bestMask;
++ this.applyMask(bestMask);
++ this.drawFormatBits(bestMask);
++ this.isFunction = [];
++ }
++
++ drawFunctionPatterns() {
++ for (let i = 0; i < this.size; i++) {
++ this.setFunctionModule(6, i, i % 2 === 0);
++ this.setFunctionModule(i, 6, i % 2 === 0);
++ }
++ this.drawFinderPattern(3, 3);
++ this.drawFinderPattern(this.size - 4, 3);
++ this.drawFinderPattern(3, this.size - 4);
++ const positions = this.alignmentPatternPositions();
++ const n = positions.length;
++ for (let i = 0; i < n; i++) {
++ for (let j = 0; j < n; j++) {
++ if (!((i === 0 && j === 0) || (i === 0 && j === n - 1) || (i === n - 1 && j === 0))) {
++ this.drawAlignmentPattern(positions[i], positions[j]);
++ }
++ }
++ }
++ this.drawFormatBits(0);
++ this.drawVersion();
++ }
++
++ drawFormatBits(mask) {
++ const data = (this.level.formatBits << 3) | mask;
++ let rem = data;
++ for (let i = 0; i < 10; i++) rem = (rem << 1) ^ ((rem >>> 9) * 0x537);
++ const bits = ((data << 10) | rem) ^ 0x5412;
++ for (let i = 0; i <= 5; i++) this.setFunctionModule(8, i, getBit(bits, i));
++ this.setFunctionModule(8, 7, getBit(bits, 6));
++ this.setFunctionModule(8, 8, getBit(bits, 7));
++ this.setFunctionModule(7, 8, getBit(bits, 8));
++ for (let i = 9; i < 15; i++) this.setFunctionModule(14 - i, 8, getBit(bits, i));
++ for (let i = 0; i < 8; i++) this.setFunctionModule(this.size - 1 - i, 8, getBit(bits, i));
++ for (let i = 8; i < 15; i++) this.setFunctionModule(8, this.size - 15 + i, getBit(bits, i));
++ this.setFunctionModule(8, this.size - 8, true);
++ }
++
++ drawVersion() {
++ if (this.version < 7) return;
++ let rem = this.version;
++ for (let i = 0; i < 12; i++) rem = (rem << 1) ^ ((rem >>> 11) * 0x1F25);
++ const bits = (this.version << 12) | rem;
++ for (let i = 0; i < 18; i++) {
++ const dark = getBit(bits, i);
++ const a = this.size - 11 + (i % 3);
++ const b = Math.floor(i / 3);
++ this.setFunctionModule(a, b, dark);
++ this.setFunctionModule(b, a, dark);
++ }
++ }
++
++ drawFinderPattern(x, y) {
++ for (let dy = -4; dy <= 4; dy++) {
++ for (let dx = -4; dx <= 4; dx++) {
++ const xx = x + dx;
++ const yy = y + dy;
++ if (xx >= 0 && xx < this.size && yy >= 0 && yy < this.size) {
++ this.setFunctionModule(xx, yy, Math.max(Math.abs(dx), Math.abs(dy)) !== 2 && Math.max(Math.abs(dx), Math.abs(dy)) !== 4);
++ }
++ }
++ }
++ }
++
++ drawAlignmentPattern(x, y) {
++ for (let dy = -2; dy <= 2; dy++) {
++ for (let dx = -2; dx <= 2; dx++) {
++ this.setFunctionModule(x + dx, y + dy, Math.max(Math.abs(dx), Math.abs(dy)) !== 1);
++ }
++ }
++ }
++
++ setFunctionModule(x, y, dark) {
++ this.modules[y][x] = dark;
++ this.isFunction[y][x] = true;
++ }
++
++ alignmentPatternPositions() {
++ if (this.version === 1) return [];
++ const n = Math.floor(this.version / 7) + 2;
++ const step = this.version === 32 ? 26 : Math.ceil((this.version * 4 + 4) / (n * 2 - 2)) * 2;
++ const result = [6];
++ for (let pos = this.size - 7; result.length < n; pos -= step) result.splice(1, 0, pos);
++ return result;
++ }
++
++ addEccAndInterleave(data) {
++ const ver = this.version;
++ const level = this.level;
++ const numBlocks = NUM_ERROR_CORRECTION_BLOCKS[level.ordinal][ver];
++ const blockEccLen = ECC_CODEWORDS_PER_BLOCK[level.ordinal][ver];
++ const rawCodewords = Math.floor(numRawDataModules(ver) / 8);
++ const numShortBlocks = numBlocks - (rawCodewords % numBlocks);
++ const shortBlockLen = Math.floor(rawCodewords / numBlocks);
++ const blocks = [];
++ const rsDiv = reedSolomonComputeDivisor(blockEccLen);
++ for (let i = 0, k = 0; i < numBlocks; i++) {
++ const dat = data.slice(k, k + shortBlockLen - blockEccLen + (i < numShortBlocks ? 0 : 1));
++ k += dat.length;
++ const ecc = reedSolomonComputeRemainder(dat, rsDiv);
++ if (i < numShortBlocks) dat.push(0);
++ blocks.push(dat.concat(ecc));
++ }
++ const result = [];
++ for (let i = 0; i < blocks[0].length; i++) {
++ blocks.forEach((block, j) => {
++ if (i !== shortBlockLen - blockEccLen || j >= numShortBlocks) result.push(block[i]);
++ });
++ }
++ return result;
++ }
++
++ drawCodewords(data) {
++ let i = 0;
++ for (let right = this.size - 1; right >= 1; right -= 2) {
++ if (right === 6) right = 5;
++ for (let vert = 0; vert < this.size; vert++) {
++ for (let j = 0; j < 2; j++) {
++ const x = right - j;
++ const upward = ((right + 1) & 2) === 0;
++ const y = upward ? this.size - 1 - vert : vert;
++ if (!this.isFunction[y][x] && i < data.length * 8) {
++ this.modules[y][x] = getBit(data[i >>> 3], 7 - (i & 7));
++ i++;
++ }
++ }
++ }
++ }
++ }
++
++ applyMask(mask) {
++ for (let y = 0; y < this.size; y++) {
++ for (let x = 0; x < this.size; x++) {
++ let invert;
++ switch (mask) {
++ case 0: invert = (x + y) % 2 === 0; break;
++ case 1: invert = y % 2 === 0; break;
++ case 2: invert = x % 3 === 0; break;
++ case 3: invert = (x + y) % 3 === 0; break;
++ case 4: invert = (Math.floor(x / 3) + Math.floor(y / 2)) % 2 === 0; break;
++ case 5: invert = (x * y) % 2 + (x * y) % 3 === 0; break;
++ case 6: invert = ((x * y) % 2 + (x * y) % 3) % 2 === 0; break;
++ default: invert = ((x + y) % 2 + (x * y) % 3) % 2 === 0; break;
++ }
++ if (!this.isFunction[y][x] && invert) this.modules[y][x] = !this.modules[y][x];
++ }
++ }
++ }
++
++ getPenaltyScore() {
++ let result = 0;
++ for (let y = 0; y < this.size; y++) {
++ let runColor = false;
++ let runLen = 0;
++ const history = [0, 0, 0, 0, 0, 0, 0];
++ for (let x = 0; x < this.size; x++) {
++ if (this.modules[y][x] === runColor) {
++ runLen++;
++ if (runLen === 5) result += PENALTY_N1;
++ else if (runLen > 5) result++;
++ } else {
++ this.addRunHistory(runLen, history);
++ if (!runColor) result += this.countFinderPatterns(history) * PENALTY_N3;
++ runColor = this.modules[y][x];
++ runLen = 1;
++ }
++ }
++ result += this.finishRuns(runColor, runLen, history) * PENALTY_N3;
++ }
++ for (let x = 0; x < this.size; x++) {
++ let runColor = false;
++ let runLen = 0;
++ const history = [0, 0, 0, 0, 0, 0, 0];
++ for (let y = 0; y < this.size; y++) {
++ if (this.modules[y][x] === runColor) {
++ runLen++;
++ if (runLen === 5) result += PENALTY_N1;
++ else if (runLen > 5) result++;
++ } else {
++ this.addRunHistory(runLen, history);
++ if (!runColor) result += this.countFinderPatterns(history) * PENALTY_N3;
++ runColor = this.modules[y][x];
++ runLen = 1;
++ }
++ }
++ result += this.finishRuns(runColor, runLen, history) * PENALTY_N3;
++ }
++ for (let y = 0; y < this.size - 1; y++) {
++ for (let x = 0; x < this.size - 1; x++) {
++ const color = this.modules[y][x];
++ if (color === this.modules[y][x + 1] && color === this.modules[y + 1][x] && color === this.modules[y + 1][x + 1]) {
++ result += PENALTY_N2;
++ }
++ }
++ }
++ let dark = 0;
++ for (const row of this.modules) for (const cell of row) if (cell) dark++;
++ const total = this.size * this.size;
++ const k = Math.ceil(Math.abs(dark * 20 - total * 10) / total) - 1;
++ result += k * PENALTY_N4;
++ return result;
++ }
++
++ countFinderPatterns(history) {
++ const n = history[1];
++ const core = n > 0 && history[2] === n && history[3] === n * 3 && history[4] === n && history[5] === n;
++ return (core && history[0] >= n * 4 && history[6] >= n ? 1 : 0) +
++ (core && history[6] >= n * 4 && history[0] >= n ? 1 : 0);
++ }
++
++ finishRuns(runColor, runLen, history) {
++ if (runColor) {
++ this.addRunHistory(runLen, history);
++ runLen = 0;
++ }
++ runLen += this.size;
++ this.addRunHistory(runLen, history);
++ return this.countFinderPatterns(history);
++ }
++
++ addRunHistory(runLen, history) {
++ if (history[0] === 0) runLen += this.size;
++ history.pop();
++ history.unshift(runLen);
++ }
++ }
++
++ function encode(text, level) {
++ const bytes = utf8Bytes(String(text));
++ let version = 0;
++ for (let v = 1; v <= 40; v++) {
++ const capacity = numDataCodewords(v, level) * 8;
++ if (4 + byteCountBits(v) + bytes.length * 8 <= capacity) {
++ version = v;
++ break;
++ }
++ }
++ if (!version) throw new RangeError('text does not fit a QR code (version 40)');
++ const capacity = numDataCodewords(version, level) * 8;
++ const bb = [];
++ appendBits(0x4, 4, bb);
++ appendBits(bytes.length, byteCountBits(version), bb);
++ for (const b of bytes) appendBits(b, 8, bb);
++ appendBits(0, Math.min(4, capacity - bb.length), bb);
++ appendBits(0, (8 - (bb.length % 8)) % 8, bb);
++ for (let pad = 0xEC; bb.length < capacity; pad ^= 0xEC ^ 0x11) appendBits(pad, 8, bb);
++ const data = [];
++ while (data.length * 8 < bb.length) data.push(0);
++ bb.forEach((bit, i) => { data[i >>> 3] |= bit << (7 - (i & 7)); });
++ return new QrCode(version, level, data);
++ }
++
++ function levelOf(ecc) {
++ const key = String(ecc == null ? 'M' : ecc).toUpperCase();
++ const level = ECC[key];
++ if (!level) throw new RangeError('ecc must be L, M, Q or H');
++ return level;
++ }
++
++ function matrix(text, { ecc = 'M' } = {}) {
++ const qr = encode(text, levelOf(ecc));
++ return {
++ size: qr.size,
++ dark: (x, y) => x >= 0 && x < qr.size && y >= 0 && y < qr.size && qr.modules[y][x],
++ };
++ }
++
++ const esc = (s) => String(s).replace(/[&<>"']/g, (c) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#39;' }[c]));
++
++ function svg(text, { ecc = 'M', margin = 4, dark = 'currentColor', light = 'transparent', title = '' } = {}) {
++ const qr = encode(text, levelOf(ecc));
++ let m = Number(margin);
++ if (!Number.isFinite(m) || m < 0) throw new RangeError('margin must be a non-negative number');
++ m = Math.floor(m);
++ const dim = qr.size + m * 2;
++ const runs = [];
++ for (let y = 0; y < qr.size; y++) {
++ for (let x = 0; x < qr.size;) {
++ if (!qr.modules[y][x]) { x++; continue; }
++ const start = x;
++ while (x < qr.size && qr.modules[y][x]) x++;
++ runs.push(`M${start + m} ${y + m}h${x - start}v1h-${x - start}z`);
++ }
++ }
++ const label = title ? ` role="img" aria-label="${esc(title)}"` : ' aria-hidden="true"';
++ const out = [
++ `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${dim} ${dim}" width="${dim}" height="${dim}" shape-rendering="crispEdges"${label}>`,
++ title ? `<title>${esc(title)}</title>` : '',
++ light !== 'transparent' ? `<rect width="${dim}" height="${dim}" fill="${esc(light)}"/>` : '',
++ `<path fill="${esc(dark)}" d="${runs.join('')}"/>`,
++ '</svg>',
++ ];
++ return out.join('');
++ }
++
++ return { matrix, svg };
++});
ddiff --git a/package.json b/package.json
iindex cd95c31..29ca3ce 100644
---- a/package.json
++++ b/package.json
@@@ -55,6 +55,7 @@
"./ov-icons": "./ov-icons.js",
"./ov-glyphs": "./ov-glyphs.js",
"./ov-forms": "./ov-forms.js",
++ "./ov-qr": "./ov-qr.js",
"./ov-labels": "./ov-labels.js",
"./ov-look": "./ov-look.js",
"./ov-fx": "./ov-fx.js",
ddiff --git a/scripts/build-brands.js b/scripts/build-brands.js
iindex 38f0801..ef021a5 100644
---- a/scripts/build-brands.js
++++ b/scripts/build-brands.js
@@@ -16,6 +16,7 @@ const FA = {
youtube: 'youtube', 'square-youtube': 'youtube', twitch: 'twitch', discord: 'discord', github: 'github', 'square-github': 'github',
'x-twitter': 'x', 'square-x-twitter': 'x', twitter: 'x', kick: 'kick', 'kickstarter-k': 'kick', kickstarter: 'kickstarter',
google: 'google', tiktok: 'tiktok', threads: 'threads', spotify: 'spotify', soundcloud: 'soundcloud', reddit: 'reddit', 'reddit-alien': 'reddit',
++ tumblr: 'tumblr', 'hacker-news': 'ycombinator', line: 'line',
paypal: 'paypal', patreon: 'patreon', mastodon: 'mastodon', linux: 'linux', instagram: 'instagram', facebook: 'facebook', 'facebook-f': 'facebook',
cloudflare: 'cloudflare', brave: 'brave', bluesky: 'bluesky', bitcoin: 'bitcoin', apple: 'apple', telegram: 'telegram', whatsapp: 'whatsapp',
steam: 'steam', snapchat: 'snapchat', pinterest: 'pinterest', vimeo: 'vimeo', 'vimeo-v': 'vimeo', npm: 'npm', node: 'nodedotjs', 'node-js': 'nodedotjs',
ddiff --git a/test/brands.test.js b/test/brands.test.js
iindex 9164aaf..0e11c90 100644
---- a/test/brands.test.js
++++ b/test/brands.test.js
@@@ -10,7 +10,7 @@ const ROOT = path.join(__dirname, '..');
// The brands the sites use (a sweep of Live, Network, Chat, Design, Actor, Codes, Games and Tools, 2026-11-01).
for (const fa of ['youtube', 'twitch', 'discord', 'github', 'x-twitter', 'kickstarter-k', 'google', 'tiktok', 'threads', 'spotify', 'soundcloud', 'reddit-alien',
-- 'paypal', 'patreon', 'mastodon', 'linux', 'instagram', 'facebook', 'cloudflare', 'brave', 'bluesky', 'bitcoin', 'apple']) {
++ 'paypal', 'patreon', 'mastodon', 'linux', 'instagram', 'facebook', 'cloudflare', 'brave', 'bluesky', 'bitcoin', 'apple', 'tumblr', 'hacker-news', 'line']) {
const slug = brands.fromFa(`fa-${fa}`);
assert.ok(slug, `fa-${fa} has a brand`);
const b = brands.get(slug);
ddiff --git a/test/ov-qr.test.js b/test/ov-qr.test.js
nnew file mode 100644
iindex 0000000..ee774fe
---- /dev/null
++++ b/test/ov-qr.test.js
@@@ -0,0 +1,245 @@
++'use strict';
++// ov-qr.js: a QR code from a link, on the device (the Share sheet's QR code). Byte mode, versions 1-40, all four error
++// correction levels and all eight masks. The encoder is checked against bwip-js 4.11.4's raw qrcode output: the same
++// version, error correction level and mask must give the same modules, byte for byte.
++// node test/ov-qr.test.js
++// bwip-js is not a dependency of this package (a QR decoder belongs to the tool that needs it): the cross-check finds
++// the copy in OpenVibe.Tools, or one named by OV_BWIP_JS, and is skipped when neither is present.
++const assert = require('assert');
++const fs = require('fs');
++const path = require('path');
++const OVQR = require('../ov-qr');
++
++const ROOT = path.join(__dirname, '..');
++const ECCS = ['L', 'M', 'Q', 'H'];
++const FORMAT_BITS = { L: 1, M: 0, Q: 3, H: 2 };
++
++// The format-information module positions, in bit order (drawFormatBits), so a matrix's mask can be read back.
++const FORMAT_POS = [[8, 0], [8, 1], [8, 2], [8, 3], [8, 4], [8, 5], [8, 7], [8, 8], [7, 8], [5, 8], [4, 8], [3, 8], [2, 8], [1, 8], [0, 8]];
++function maskOf(matrix, ecc) {
++ let bits = 0;
++ for (let i = 0; i < 15; i++) {
++ const [x, y] = FORMAT_POS[i];
++ if (matrix.dark(x, y)) bits |= 1 << i;
++ }
++ for (let mask = 0; mask < 8; mask++) {
++ const data = (FORMAT_BITS[ecc] << 3) | mask;
++ let rem = data;
++ for (let i = 0; i < 10; i++) rem = (rem << 1) ^ ((rem >>> 9) * 0x537);
++ if ((((data << 10) | rem) ^ 0x5412) === bits) return mask;
++ }
++ return -1;
++}
++
++// A deterministic 300-string sample: ASCII, UTF-8 with emoji, a single character, the empty string, and URLs from 20 to
++// 900 characters. They keep lowercase letters in every string (and runs of digits or capitals short), so bwip-js encodes
++// them in byte mode too and the raw matrices can be compared directly.
++function rng(seed) {
++ return () => {
++ seed |= 0;
++ seed = (seed + 0x6D2B79F5) | 0;
++ let t = Math.imul(seed ^ (seed >>> 15), 1 | seed);
++ t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
++ return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
++ };
++}
++function sampleStrings() {
++ const r = rng(0x5152);
++ const lower = 'abcdefghijklmnopqrstuvwxyz';
++ const upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
++ const digits = '0123456789';
++ const punct = "-._~:/?#[]@!$&'()*+,;=%";
++ const emoji = ['😀', '🌍', '🎉', '🔐', '🦄', '🚀', '🧩', '🍕', '❤️', '👩‍💻'];
++ const pick = (s) => s[Math.floor(r() * s.length)];
++ const ascii = (len) => {
++ let s = '';
++ for (let i = 0; i < len; i++) {
++ const p = r();
++ if (p < 0.9) s += pick(lower);
++ else if (p < 0.94) s += pick(digits);
++ else if (p < 0.97) s += pick(upper);
++ else s += pick(punct);
++ }
++ return s;
++ };
++ const url = (len) => {
++ const tops = ['openvibe.network', 'openvibe.chat', 'openvibe.blog', 'openvibe.design', 'openvibe.tools', 'openvibe.games'];
++ let s = `https://${pick(tops)}/`;
++ while (s.length < len) {
++ const p = r();
++ if (p < 0.74) s += pick(lower);
++ else if (p < 0.82) s += pick(digits);
++ else if (p < 0.86) s += pick(upper);
++ else if (p < 0.94) s += pick(punct);
++ else s += r() < 0.5 ? '-' : '/';
++ }
++ return s;
++ };
++ const strings = [''];
++ for (let i = 0; i < 30; i++) strings.push(ascii(1 + Math.floor(r() * 60)));
++ for (let i = 0; i < 30; i++) {
++ let s = '';
++ const n = 1 + Math.floor(r() * 20);
++ for (let j = 0; j < n; j++) s += r() < 0.5 ? pick(lower) : pick(emoji);
++ strings.push(s);
++ }
++ for (let i = 0; i < 10; i++) strings.push(pick(lower));
++ for (let i = 0; i < 198; i++) strings.push(url(20 + Math.floor(r() * 230)));
++ strings.push('https://x.co/abcdefg');
++ for (let i = 0; i < 20; i++) strings.push(url(300 + Math.floor(r() * 300)));
++ for (let i = 0; i < 9; i++) strings.push(url(600 + Math.floor(r() * 301)));
++ strings.push(url(900));
++ return strings;
++}
++
++// The API and the shapes a caller can rely on.
++{
++ const m = OVQR.matrix('a', { ecc: 'M' });
++ assert.strictEqual(m.size, 21, 'one byte is version 1');
++ assert.strictEqual(typeof m.dark(0, 0), 'boolean');
++ assert.strictEqual(m.dark(-1, 0), false, 'outside the code is light');
++ assert.strictEqual(m.dark(0, -1), false);
++ assert.strictEqual(m.dark(m.size, 0), false);
++ assert.strictEqual(m.dark(0, m.size), false);
++ assert.strictEqual(OVQR.matrix('a', { ecc: 'L' }).size, 21);
++ assert.strictEqual(OVQR.matrix('a', { ecc: 'Q' }).size, 21);
++ assert.strictEqual(OVQR.matrix('a', { ecc: 'H' }).size, 21);
++ assert.strictEqual(OVQR.matrix('a').size, 21, 'M is the default level');
++ assert.strictEqual(OVQR.matrix('é').size, 21, 'two UTF-8 bytes');
++ assert.strictEqual(OVQR.matrix('😀').size, 21, 'four UTF-8 bytes');
++ assert.strictEqual(OVQR.matrix('').size, 21, 'the empty string is a zero-length byte segment');
++ assert.throws(() => OVQR.matrix('a', { ecc: 'X' }), RangeError, 'an unknown level is a RangeError');
++ assert.strictEqual(OVQR.matrix('a', { ecc: 'l' }).size, 21, 'lowercase is accepted for a human caller');
++}
++
++// Versions 1 to 40: the largest text each level can hold in byte mode still fits version 40; one byte more does not.
++{
++ const bound = (n, ecc) => OVQR.matrix('a'.repeat(n), { ecc }).size;
++ assert.strictEqual(bound(2953, 'L'), 177);
++ assert.strictEqual(bound(2331, 'M'), 177);
++ assert.strictEqual(bound(1663, 'Q'), 177);
++ assert.strictEqual(bound(1273, 'H'), 177);
++ for (const [n, ecc] of [[2954, 'L'], [2332, 'M'], [1664, 'Q'], [1274, 'H'], [3000, 'L']]) {
++ assert.throws(() => OVQR.matrix('a'.repeat(n), { ecc }), RangeError, `${n} bytes at ${ecc} does not fit version 40`);
++ assert.throws(() => OVQR.svg('a'.repeat(n), { ecc }), RangeError, `svg: ${n} bytes at ${ecc} does not fit`);
++ }
++}
++
++// svg(): one path for the dark modules, a viewBox in modules, a background only when asked, an escaped title.
++{
++ const m = OVQR.matrix('https://openvibe.network/x#key', { ecc: 'M' });
++ const plain = OVQR.svg('https://openvibe.network/x#key', { ecc: 'M' });
++ assert.match(plain, new RegExp(`^<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${m.size + 8} ${m.size + 8}" width="${m.size + 8}" height="${m.size + 8}" shape-rendering="crispEdges" aria-hidden="true">`));
++ assert.strictEqual((plain.match(/<path /g) || []).length, 1, 'one path');
++ assert.ok(plain.includes('fill="currentColor"'));
++ assert.ok(!plain.includes('<rect'), 'no background by default');
++ assert.ok(!plain.includes('<title>'), 'no title by default');
++
++ const shown = OVQR.svg('a', { margin: 2, dark: '#123456', light: '#ffffff', title: '<b>"A&B"</b>' });
++ assert.match(shown, /role="img" aria-label="&lt;b&gt;&quot;A&amp;B&quot;&lt;\/b&gt;"/);
++ assert.ok(shown.includes('<title>&lt;b&gt;&quot;A&amp;B&quot;&lt;/b&gt;</title>'), 'the title is escaped');
++ assert.ok(!shown.includes('<b>'), 'no markup from the title');
++ assert.ok(shown.includes(`<rect width="${OVQR.matrix('a').size + 4}" height="${OVQR.matrix('a').size + 4}" fill="#ffffff"/>`));
++ assert.ok(shown.includes('fill="#123456"'));
++ assert.ok(OVQR.svg('a', { margin: 0 }).includes(`viewBox="0 0 ${OVQR.matrix('a').size} ${OVQR.matrix('a').size}"`));
++ assert.throws(() => OVQR.svg('a', { margin: -1 }), RangeError, 'a negative margin is a RangeError');
++ assert.throws(() => OVQR.svg('a', { ecc: 'X' }), RangeError, 'an unknown level is a RangeError');
++}
++
++// bwip-js 4.11.4's raw qrcode output, with our version and mask pinned. levels do not get boosted (fixedeclevel).
++function findBwip() {
++ const candidates = [
++ process.env.OV_BWIP_JS,
++ path.join(process.env.HOME || '', 'openvibe/work/OpenVibe.Tools/apps/gateway/node_modules/bwip-js'),
++ 'bwip-js',
++ ].filter(Boolean);
++ for (const candidate of candidates) {
++ try {
++ return { bwipjs: require(candidate), dir: candidate };
++ } catch (e) {
++ // Try the next one.
++ }
++ }
++ return null;
++}
++
++const strings = sampleStrings();
++assert.strictEqual(strings.length, 300, '300 sample strings');
++assert.ok(strings.some((s) => s.length === 0), 'the empty string is in the sample');
++assert.ok(strings.some((s) => s.length === 1), 'a one-character string is in the sample');
++assert.ok(strings.some((s) => s.startsWith('https://') && s.length === 20), 'a URL of 20 characters is in the sample');
++assert.ok(strings.some((s) => s.length >= 900), 'a URL of 900 characters is in the sample');
++assert.ok(strings.some((s) => /[\u{1F300}-\u{1FAFF}]/u.test(s)), 'an emoji string is in the sample');
++
++const found = findBwip();
++if (!found) {
++ console.log('QR cross-check: skipped (bwip-js 4.11.4 not installed; set OV_BWIP_JS to the package directory)');
++} else {
++ const bwipjs = found.bwipjs;
++ const bwipVersion = (() => {
++ try { return require(path.join(found.dir, 'package.json')).version; } catch (e) { return 'unknown'; }
++ })();
++ const bwipRaw = (text, ecc, version, mask) => {
++ const raw = bwipjs.raw({ bcid: 'qrcode', text, eclevel: ecc, version, mask: mask + 1, fixedeclevel: true });
++ const row = raw[0];
++ const size = Math.round(Math.sqrt(row.pixs.length));
++ return { size, dark: (x, y) => row.pixs[y * size + x] === 1 };
++ };
++ let compared = 0;
++ for (const text of strings) {
++ for (const ecc of ECCS) {
++ const m = OVQR.matrix(text, { ecc });
++ assert.strictEqual((m.size - 17) % 4, 0, 'a whole version');
++ const mask = maskOf(m, ecc);
++ assert.ok(mask >= 0, `format information names a mask for ${JSON.stringify(text.slice(0, 30))} at ${ecc}`);
++ if (text === '') continue; // bwip-js rejects empty input; the zero-length segment is checked above.
++ const b = bwipRaw(text, ecc, (m.size - 17) / 4, mask);
++ const where = `${JSON.stringify(text.slice(0, 40))} at ${ecc}, version ${(m.size - 17) / 4}, mask ${mask}`;
++ assert.strictEqual(b.size, m.size, `bwip-js chose another version for ${where}`);
++ let diff = 0;
++ for (let y = 0; y < m.size; y++) {
++ for (let x = 0; x < m.size; x++) if (m.dark(x, y) !== b.dark(x, y)) diff++;
++ }
++ assert.strictEqual(diff, 0, `bwip-js's matrix differs at ${diff} modules for ${where}`);
++ compared++;
++ if (compared % 300 === 0) console.log(`QR: ${compared} matrices equal bwip-js ${bwipVersion} so far`);
++ }
++ }
++ assert.strictEqual(compared, 1196, '300 strings x 4 levels minus the 4 empty-string matrices');
++
++ // bwip-js's own smallest-version choice must be ours: a sample across the range, without pinning the version.
++ const versionSamples = [strings[1], strings[60], strings[200], strings[299]];
++ let versionsChecked = 0;
++ for (const text of versionSamples) {
++ for (const ecc of ECCS) {
++ const m = OVQR.matrix(text, { ecc });
++ const raw = bwipjs.raw({ bcid: 'qrcode', text, eclevel: ecc, fixedeclevel: true });
++ const size = Math.round(Math.sqrt(raw[0].pixs.length));
++ assert.strictEqual(size, m.size, `bwip-js's smallest version differs for ${JSON.stringify(text.slice(0, 40))} at ${ecc}: ${size} vs ${m.size}`);
++ versionsChecked++;
++ }
++ }
++ for (const [text, ecc] of [['a'.repeat(2953), 'L'], ['a'.repeat(1273), 'H']]) {
++ const m = OVQR.matrix(text, { ecc });
++ const raw = bwipjs.raw({ bcid: 'qrcode', text, eclevel: ecc, fixedeclevel: true });
++ const size = Math.round(Math.sqrt(raw[0].pixs.length));
++ assert.strictEqual(size, 177, `version 40 is the smallest for ${text.length} bytes at ${ecc}`);
++ assert.strictEqual(size, m.size);
++ versionsChecked++;
++ }
++ console.log(`QR: ${compared} matrices equal bwip-js ${bwipVersion} byte for byte (raw, same version and mask); ${versionsChecked} more match bwip-js's own smallest version; empty string checked as version 1`);
++}
++
++// The module is a browser file, is exported, and carries no dependency or network use.
++{
++ const files = fs.readFileSync(path.join(ROOT, 'files.js'), 'utf8');
++ assert.ok(files.includes("'ov-qr.js',"), 'ov-qr.js is served');
++ const pkg = require('../package.json');
++ assert.strictEqual(pkg.exports['./ov-qr'], './ov-qr.js');
++ const src = fs.readFileSync(path.join(ROOT, 'ov-qr.js'), 'utf8');
++ assert.ok(!/\brequire\s*\(/.test(src), 'no dependency in the browser file');
++ assert.ok(!/\bfetch\s*\(|XMLHttpRequest|WebSocket/.test(src), 'the link never leaves the device');
++ assert.ok(src.includes('Nayuki'), 'the port is credited');
++}
++
++console.log(`ov-qr: ${OVQR.matrix('a').size} modules at one byte, 177 at version 40; SVG one path, escaped title; ${strings.length} sample strings`);