1<!doctype html> 2 3 4 5 6<html lang="en" class="dark"> 7<head> 8 <title>FreeFlarum | Extensions</title> 9 10 <meta charset="utf-8"/> 11 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 12 <meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1"/> 13 <meta name="description" content="Create your own Flarum forum in under 1 minute with 1-click installation!"> 14 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/> 15 16 17 <link rel="icon" type="image/png" href="/favicon.png"> 18 <link rel="apple-touch-icon" sizes="180x180" href="/favicon.png"> 19 <link rel="mask-icon" href="/favicon.png" color="#000000"> 20 21 22 <meta name="robots" content="index, follow"> 23 <meta name="googlebot" content="index, follow"> 24 25 26 <link rel="stylesheet" type="text/css" href="/css/freeflarum.css"/> 27 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/hint.css/2.7.0/hint.min.css" integrity="sha512-gnj0WGxmbeTgYXck9CyFjrdkEFcZE4xwnJb/nG3bcl5OlWHJ9ixRkJK0MDPtCytnO3IBIh0Omqawv0UPpl0LoA==" crossorigin="anonymous" referrerpolicy="no-referrer"/> 28 29 30
30<script src="https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.10.3/cdn.min.js" integrity="sha512-P0Ms+SM3w8aSbPa5U/nFoprxlUzG2FSz9h/A+2xhhE1hcH6RmGYK3dImFCvcSYuioM3UbbAtMbAopAuHLr94pA==" crossorigin="anonymous" referrerpolicy="no-referrer" defer></script>
30 31
31<script src="//d3plfjw9uod7ab.cloudfront.net/9e9525f2-1f29-42cf-ae6d-a0c7b4a98c04.js" type="text/javascript"></script>
31 32</head> 33 34<body class="font-sans bg-gray-100 height-screen dark:bg-gray-800"> 35 <div id="content"> 36 37 <main class="font-medium text-gray-800 bg-gray-100 dark:bg-gray-900 dark:text-gray-200"> 38 <header x-data="{ mobile_menu_open : false }" class="relative flex flex-row flex-wrap justify-between px-6 py-6 md:items-center md:space-x-4 bg-gradient-to-b from-gray-100 to-white dark:from-gray-800 dark:to-gray-900"> 39 <div class="flex flex-row"> 40 <a class="self-center" href="/"> 41 <span class="sr-only">FreeFlarum.com</span> 42 <img src="/logo.svg" width="139" height="32" class="w-auto h-8" alt="FreeFlarum Logo"> 43 </a> 44 </div> 45 46 <button x-on:click.prevent="mobile_menu_open = !mobile_menu_open;" x-on:click.outside="mobile_menu_open = false;" class="self-center inline-block w-8 h-8 p-1 text-gray-600 bg-gray-200 focus:outline-none md:hidden dark:bg-gray-800 dark:text-gray-400 hover:text-gray-500" aria-label="Open Mobile Menu"> 47 <svg fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z" clip-rule="evenodd"></path></svg> 48 </button> 49 50 <nav x-cloak class="absolute left-0 z-50 flex-col w-full px-6 py-4 mt-4 font-semibold rounded-lg shadow-md md:relative top-16 md:top-0 md:flex md:flex-row md:space-x-6 md:w-auto md:rounded-none md:shadow-none md:bg-transparent md:p-0" x-bind:class="mobile_menu_open ? 'flex bg-gray-100 dark:bg-gray-900' : 'hidden'"> 51 52 <a href="/" id="nav_signup" class="flex py-2 space-x-2 items-center hover:text-yellow-500 "> 53 <svg class="icon icon-user text-yellow-500"><use xlink:href="#icon-user"></use></svg> 54 <span>Sign Up</span> 55 </a> 56 57 <a href="/extensions" id="nav_extensions" class="flex py-2 space-x-2 items-center hover:text-yellow-500 text-yellow-500"> 58 <svg class="icon icon-puzzle-piece text-yellow-500"><use xlink:href="#icon-puzzle-piece"></use></svg> 59 <span>Extensions</span> 60 </a> 61 62 <a href="https://docs.freeflarum.com/" id="nav_docs" class="flex py-2 space-x-2 items-center hover:text-yellow-500 "> 63 <svg class="icon icon-book text-yellow-500"><use xlink:href="#icon-book"></use></svg> 64 <span>Docs</span> 65 </a> 66 67 <a href="/settings/login" id="nav_settings" class="flex py-2 space-x-2 items-center hover:text-yellow-500 "> 68 <svg class="icon icon-cog text-yellow-500"><use xlink:href="#icon-cog"></use></svg> 69 <span>Settings</span> 70 </a> 71 72 <a href="/support" id="nav_support" class="flex py-2 space-x-2 items-center hover:text-yellow-500 "> 73 <svg class="icon icon-life-bouy text-yellow-500"><use xlink:href="#icon-life-bouy"></use></svg> 74 <span>Support</span> 75 </a> 76 77 </nav> 78 </header> 79 80 <div id="page-content"> 81 82<div x-data="{ available_extensions: [] }" x-init="available_extensions = await (await (await fetch('https://api.freeflarum.com/extensions')).json())['data']" class="mx-2 my-6 md:mx-6 lg:mx-12"> 83 <h1 class="py-4 text-3xl font-extrabold text-center text-yellow-500">Extension list</h1> 84 <p class="mb-6 text-center text-gray-700 dark:text-gray-300">There are currently <b class="text-gray-700 dark:text-gray-300" x-text="Object.values(available_extensions).flat().length || '...'">...</b> extensions available at FreeFlarum. Missing something? <a class="text-yellow-500 hover:text-yellow-600 dark:hover:text-yellow-400 transition-color duration-500 underline " href="https://support.freeflarum.com/d/71" >Request an extension</a>.</p> 85 86 <template x-if="available_extensions.length < 1"> 87 <p class="py-4 text-center text-gray-500">Loading extensions...</p> 88 </template> 89 90 <template x-for="[category, extensions] in Object.entries(available_extensions)"> 91 <div> 92 <h2 class="p-4 text-xl font-bold" x-text="category"></h2> 93 <div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3"> 94 <template x-for="extension in extensions" x-key="extension['id']"> 95 <a x-bind:href="extension['url']" class="flex flex-row p-4 m-4 text-gray-800 rounded-lg dark:text-gray-200 bg-gradient-to-tr from-gray-100 to-gray-300 dark:from-gray-900 dark:to-gray-700 hover:to-gray-400 dark:hover:to-gray-600"> 96 <div class="flex flex-row items-center justify-center w-16 h-full mx-4"> 97 <template x-if="extension['icon_name'] === null"> 98 <img width="64" height="64" x-bind:src="`https://api.freeflarum.com/extensions/icon?extension_
98id=${extension['id']}`" x-on:error="extension['icon_name'] = 'fas fa-question-circle'"> 99 </template> 100 101 <template x-if="extension['icon_name'] !== null"> 102 <i x-bind:class="`${extension['icon_name']} fa-4x`"> 103 </template> 104 </div> 105 106 <div class="p-4"> 107 <div class="flex flex-col mb-4"> 108 <h3 x-text="extension['title']" class="text-lg font-semibold text-yellow-500"></h3> 109 110 <template x-if="extension['author'] !== 'Unknown' && extension['author'] !== 'Your Name'"> 111 <span class="text-xs"><b>By:</b> <span x-text="extension['author']"></span></span> 112 </template> 113 </div> 114 115 <template x-if="extension['description'] !== 'No description.'"> 116 <p x-text="extension['description']" class="font-light text-gray-700 dark:text-gray-300"></p> 117 </template> 118 </div> 119 </a> 120 </template> 121 </div> 122 </div> 123 </template> 124 125
125<script type="text/javascript" src="https://kit.fontawesome.com/0f3f9f2c7f.js" crossorigin="anonymous" referrerpolicy="no-referrer" async defer></script>
125 126</div> 127 128 </div> 129 130 131 132 <footer class="relative bottom-0 w-full py-12 mt-24 text-gray-500 bg-gradient-to-b from-white to-gray-100 dark:from-gray-900 dark:to-gray-800 xl:pb-24"> 133 <div class="grid max-w-screen-xl grid-cols-2 gap-6 px-8 mx-auto md:grid-cols-4 lg:gap-x-8"> 134 135 <div> 136 <h1 class="text-xl font-bold text-yellow-500">Flarum</h1> 137 <nav class="mt-4"> 138 <ul class="space-y-2"> 139 140 <li> 141 <a href="https://flarum.org" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">Flarum.org</a> 142 </li> 143 144 <li> 145 <a href="https://discuss.flarum.org" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">Discuss</a> 146 </li> 147 148 <li> 149 <a href="https://extiverse.com" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">Extiverse</a> 150 </li> 151 152 </ul> 153 </nav> 154 </div> 155 156 <div> 157 <h1 class="text-xl font-bold text-yellow-500">FreeFlarum</h1> 158 <nav class="mt-4"> 159 <ul class="space-y-2"> 160 161 <li> 162 <a href="/discuss" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">Support Forum</a> 163 </li> 164 165 <li> 166 <a href="/github" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">GitHub</a> 167 </li> 168 169 <li> 170 <a href="/donate" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">Donate</a> 171 </li> 172 173 </ul> 174 </nav> 175 </div> 176 177 <div> 178 <h1 class="text-xl font-bold text-yellow-500">About</h1> 179 <nav class="mt-4"> 180 <ul class="space-y-2"> 181 182 <li> 183 <a href="https://docs.freeflarum.com/en/about" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">About FreeFlarum</a> 184 </li> 185 186 <li> 187 <a href="https://status.freeflarum.com" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">Status</a> 188 </li> 189 190 <li> 191 <a href="https://docs.freeflarum.com/en/faq" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">FaQ</a> 192 </li> 193 194 </ul> 195 </nav> 196 </div> 197 198 <div> 199 <h1 class="text-xl font-bold text-yellow-500">Legal</h1> 200 <nav class="mt-4"> 201 <ul class="space-y-2"> 202 203 <li> 204 <a href="/privacy" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">Privacy Policy</a> 205 </li> 206 207 <li> 208 <a href="/terms" class="text-base text-gray-900 dark:text-gray-100 hover:text-gray-500">Terms of Service</a> 209 </li> 210 211 </ul> 212 </nav> 213 </div> 214 215 </div> 216 217 <div class="flex flex-col items-center justify-center max-w-screen-xl px-8 mx-auto mt-16 space-y-4 md:flex-row lg:mt-20"> 218 <div class="flex flex-col space-y-4 text-sm text-center"> 219 <div> 220 <p>
220Copyright © 2017 ‐ <span x-data x-text="new Date().getFullYear()"></span> FreeFlarum.</p> 221 <p class="italic">FreeFlarum is a community provided service and is not affiliated with Flarum, its project or the Flarum Foundation.</p> 222 </div> 223 224 <div class="flex items-center justify-center gap-4 my-4"> 225 <p class="flex flex-row items-center justify-center gap-2 text-center text-yellow-500">Made with <span class="text-3xl text-red-500">â¥</span> in <span title="Slovakia">ð¸ð°</span></p> 226 227 <button 228 x-data="{ darkMode: localStorage.getItem('darkMode') === 'true' || localStorage.getItem('darkMode') === null }" 229 x-init="$watch('darkMode', val => { localStorage.setItem('darkMode', val); document.documentElement.classList.toggle('dark', val) })" 230 @click="darkMode = !darkMode" 231 class="flex items-center justify-center w-10 h-10 text-gray-600 bg-gray-200 rounded-full hover:bg-gray-300 dark:bg-gray-700 dark:text-gray-300 dark:hover:bg-gray-600 transition-colors duration-200" 232 :title="darkMode ? 'Switch to light mode' : 'Switch to dark mode'" 233 > 234 <svg x-show="!darkMode" class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20"> 235 <path fill-rule="evenodd" d="M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z" clip-rule="evenodd"></path> 236 </svg> 237 <svg x-show="darkMode" class="w-5 h-5" fill="black" viewBox="0 0 20 20"> 238 <path d="M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"></path> 239 </svg> 240 </button> 241 </div> 242 </div> 243 </div> 244 </footer> 245 </main> 246 </div> 247 </div> 248 249 250 <div id="scripts"> 251
251<script type="text/javascript"> 252 (function() { 253 const darkMode = localStorage.getItem('darkMode'); 254 if (darkMode === 'false') { 255 document.documentElement.classList.remove('dark'); 256 } else if (darkMode === 'true' || darkMode === null) { 257 document.documentElement.classList.add('dark'); 258 } 259 })(); 260 261 globalThis.window.document.addEventListener('alpine:init', () => { 262 Alpine.store('currentForum', { 263 async init() { 264 this.data = await this.getForumData(); 265 266 if (this.data !== null) { 267 globalThis.window.document.getElementById("nav_settings").href = '/settings/overview'; 268 }; 269 }, 270 271 async getForumData() { 272 response = await fetch(`https://api.freeflarum.com/settings/`, { credentials: 'include' }); 273 response_json = await response.json(); 274 data = await response_json['data']; 275 276 return data !== undefined ? data : null 277 } 278 }) 279 }) 280 </script>
280 281 </div> 282 283 <div> 284 <svg aria-hidden="true" style="position: absolute; width: 0; height: 0; overflow: hidden;" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 285 <defs> 286 <symbol id="icon-keyboard_arrow_right" viewBox="0 0 24 24"> 287 <path d="M8.578 16.594l4.594-4.594-4.594-4.594 1.406-1.406 6 6-6 6z"></path> 288 </symbol> 289 <symbol id="icon-keyboard_arrow_left" viewBox="0 0 24 24"> 290 <path d="M15.422 16.594l-1.406 1.406-6-6 6-6 1.406 1.406-4.594 4.594z"></path> 291 </symbol> 292 <symbol id="icon-file-text" viewBox="0 0 32 32"> 293 <path d="M27 0h-24c-1.65 0-3 1.35-3 3v26c0 1.65 1.35 3 3 3h24c1.65 0 3-1.35 3-3v-26c0-1.65-1.35-3-3-3zM26 28h-22v-24h22v24zM8 14h14v2h-14zM8 18h14v2h-14zM8 22h14v2h-14zM8 10h14v2h-14z"></path> 294 </symbol> 295 <symbol id="icon-user" viewBox="0 0 32 32"> 296 <path d="M18 22.082v-1.649c2.203-1.241 4-4.337 4-7.432 0-4.971 0-9-6-9s-6 4.029-6 9c0 3.096 1.797 6.191 4 7.432v1.649c-6.784 0.555-12 3.888-12 7.918h28c0-4.030-5.216-7.364-12-7.918z"></path> 297 </symbol> 298 <symbol id="icon-paper-plane" viewBox="0 0 28 28"> 299 <path d="M27.563 0.172c0.328 0.234 0.484 0.609 0.422 1l-4 24c-0.047 0.297-0.234 0.547-0.5 0.703-0.141 0.078-0.313 0.125-0.484 0.125-0.125 0-0.25-0.031-0.375-0.078l-7.078-2.891-3.781 4.609c-0.187 0.234-0.469 0.359-0.766 0.359-0.109 0-0.234-0.016-0.344-0.063-0.391-0.141-0.656-0.516-0.656-0.938v-5.453l13.5-16.547-16.703 14.453-6.172-2.531c-0.359-0.141-0.594-0.469-0.625-0.859-0.016-0.375 0.172-0.734 0.5-0.922l26-15c0.156-0.094 0.328-0.141 0.5-0.141 0.203 0 0.406 0.063 0.562 0.172z"></path> 300 </symbol> 301 <symbol id="icon-envelope" viewBox="0 0 28 28"> 302 <path d="M28 11.094v12.406c0 1.375-1.125 2.5-2.5 2.5h-23c-1.375 0-2.5-1.125-2.5-2.5v-12.406c0.469 0.516 1 0.969 1.578 1.359 2.594 1.766 5.219 3.531 7.766 5.391 1.313 0.969 2.938 2.156 4.641 2.156h0.031c1.703 0 3.328-1.188 4.641-2.156 2.547-1.844 5.172-3.625 7.781-5.391 0.562-0.391 1.094-0.844 1.563-1.359zM28 6.5c0 1.75-1.297 3.328-2.672 4.281-2.438 1.687-4.891 3.375-7.313 5.078-1.016 0.703-2.734 2.141-4 2.141h-0.031c-1.266 0-2.984-1.437-4-2.141-2.422-1.703-4.875-3.391-7.297-5.078-1.109-0.75-2.688-2.516-2.688-3.938 0-1.531 0.828-2.844 2.5-2.844h23c1.359 0 2.5 1.125 2.5 2.5z"></path> 303 </symbol> 304 <symbol id="icon-trash" viewBox="0 0 22 28"> 305 <path d="M8 21.5v-11c0-0.281-0.219-0.5-0.5-0.5h-1c-0.281 0-0.5 0.219-0.5 0.5v11c0 0.281 0.219 0.5 0.5 0.5h1c0.281 0 0.5-0.219 0.5-0.5zM12 21.5v-11c0-0.281-0.219-0.5-0.5-0.5h-1c-0.281 0-0.5 0.219-0.5 0.5v11c0 0.281 0.219 0.5 0.5 0.5h1c0.281 0 0.5-0.219 0.5-0.5zM16 21.5v-11c0-0.281-0.219-0.5-0.5-0.5h-1c-0.281 0-0.5 0.219-0.5 0.5v11c0 0.281 0.219 0.5 0.5 0.5h1c0.281 0 0.5-0.219 0.5-0.5zM7.5 6h7l-0.75-1.828c-0.047-0.063-0.187-0.156-0.266-0.172h-4.953c-0.094 0.016-0.219 0.109-0.266 0.172zM22 6.5v1c0 0.281-0.219 0.5-0.5 0.5h-1.5v14.812c0 1.719-1.125 3.187-2.5 3.187h-13c-1.375 0-2.5-1.406-2.5-3.125v-14.875h-1.5c-0.281 0-0.5-0.219-0.5-0.5v-1c0-0.281 0.219-0.5 0.5-0.5h4.828l1.094-2.609c0.313-0.766 1.25-1.391 2.078-1.391h5c0.828 0 1.766 0.625 2.078 1.391l1.094 2.609h4.828c0.281 0 0.5 0.219 0.5 0.5z"></path> 306 </symbol> 307 <symbol id="icon-sign-out" viewBox="0 0 25 28"> 308 <path d="M10 22.5c0 0.438 0.203 1.5-0.5 1.5h-5c-2.484 0-4.5-2.016-4.5-4.5v-11c0-2.484 2.016-4.5 4.5-4.5h5c0.266 0 0.5 0.234 0.5 0.5 0 0.438 0.203 1.5-0.5 1.5h-5c-1.375 0-2.5 1.125-2.5 2.5v11c0 1.375 1.125 2.5 2.5 2.5h4.5c0.391 0 1-0.078 1 0.5zM24.5 14c0 0.266-0.109 0.516-0.297 0.703l-8.5 8.5c-0.187 0.187-0.438 0.297-0.703 0.297-0.547 0-1-0.453-1-1v-4.5h-7c-0.547 0-1-0.453-1-1v-6c0-0.547 0.453-1 1-1h7v-4.5c0-0.547 0.453-1 1-1 0.266 0 0.516 0.109 0.703 0.297l8.5 8.5c0.187 0.187 0.297 0.438 0.297 0.703z"></path> 309 </symbol> 310 <symbol id="icon-pencil-square" viewBox="0 0 24 28"> 311 <path d="M6.312 17.313l2.375 2.375-0.812 0.812h-0.875v-1.5h-1.5v-0.875zM12.781 11.219c0.125 0.109 0.094 0.328-0.047 0.469l-4.547 4.547c-0.141 0.141-0.359 0.172-0.469 0.047-0.125-0.109-0.094-0.328 0.047-0.469l4.547-4.547c0.141-0.141 0.359-0.172 0.469-0.047zM8.5 22l8.5-8.5-4.5-4.5-8.5 8.5v4.5h4.5zM18 12.5l1.437-1.437c0.578-0.578 0.578-1.547 0-2.125l-2.375-2.375c-0.578-0.578-1.547-0.578-2.125 0l-1.437 1.437zM24 6.5v15c0 2.484-2.016 4.5-4.5 4.5h-15c-2.484 0-4.5-2.016-4.5-4.5v-15c0-2.484 2.016-4.5 4.5-4.5h15c2.484 0 4.5 2.016 4.5 4.5z"></path> 312 </symbol> 313 <symbol id="icon-commenting" viewBox="0 0 28 28"> 314 <path d="M10 14c0-1.109-0.891-2-2-2s-2 0.891-2 2 0.891 2 2 2 2-0.891 2-2zM16 14c0-1.109-0.891-2-2-2s-2 0.891-2 2 0.891 2 2 2 2-0.891 2-2zM22 14c0-1.109-0.891-2-2-2s-2 0.891-2 2 0.891 2 2 2 2-0.891 2-2zM28 14c0 5.531-6.266 10-14 10-1.141 0-2.25-0.094-3.297-0.281-1.781 1.781-4.109 3-6.797 3.578-0.422 0.078-0.875 0.156-1.344 0.203-0.25 0.031-0.484-0.141-0.547-0.375v0c-0.063-0.25 0.125-0.406 0.313-0.578 0.984-0.922 2.156-1.656 2.562-4.953-2.984-1.828-4.891-4.547-4.891-7.594 0-5.531 6.266-10 14-10s14 4.469 14 10z"></path> 315 </symbol> 316 <symbol id="icon-leaf" viewBox="0 0 28 28"> 317 <path d="M20 11c0-0.547-0.453-1-1-1-5.531 0-9.094 2.312-12.703 6.297-0.187 0.203-0.297 0.422-0.297 0.703 0 0.547 0.453 1 1 1 0.281 0 0.5-0.109 0.703-0.297 0.766-0.688 1.453-1.437 2.203-2.141 2.828-2.547 5.25-3.563 9.094-3.563 0.547 0 1-0.453 1-1zM28 7.906c0 1-0.109 2.016-0.313 3.016-1 4.859-4.125 8.016-8.469 10.172-2.109 1.062-4.469 1.687-6.844 1.687-1.5 0-3.047-0.25-4.469-0.734-0.75-0.25-2.25-1.234-2.875-1.234-0.781 0-1.719 3.187-3.078 3.187-0.984 0-1.281-0.484-1.703-1.203-0.141-0.266-0.25-0.359-0.25-0.688 0-1.625 3.094-2.891 3.094-3.797 0-0.141-0.406-0.969-0.469-1.281-0.094-0.531-0.141-1.078-0.141-1.625 0-4.969 3.953-8.516 8.391-9.984 3.203-1.062 10.016 0.172 12.187-1.891 0.859-0.797 1.281-1.531 2.594-1.531 1.766 0 2.344 4.578 2.344 5.906z"></path> 318 </symbol> 319 <symbol id="icon-life-bouy" viewBox="0 0 28 28"> 320 <path d="M14 0c7.734 0 14 6.266 14 14s-6.266 14-14 14-14-6.266-14-14 6.266-14 14-14zM14 2c-2.031 0-3.953 0.516-5.641 1.406l3.031 3.031c0.828-0.281 1.703-0.438 2.609-0.438 0.922 0 1.781 0.156 2.609 0.438l3.031-3.031c-1.687-0.891-3.609-1.406-5.641-1.406zM3.406 19.641l3.031-3.031c-0.281-0.828-0.438-1.703-0.438-2.609 0-0.922 0.156-1.781 0.438-2.609l-3.031-3.031c-0.891 1.687-1.406 3.609-1.406 5.641s0.516 3.953 1.406 5.641zM14 26c2.031 0 3.953-0.516 5.
320641-1.406l-3.031-3.031c-0.828 0.281-1.687 0.438-2.609 0.438-0.906 0-1.781-0.156-2.609-0.438l-3.031 3.031c1.687 0.891 3.609 1.406 5.641 1.406zM14 20c3.313 0 6-2.688 6-6s-2.688-6-6-6-6 2.688-6 6 2.688 6 6 6zM21.562 16.609l3.031 3.031c0.891-1.687 1.406-3.609 1.406-5.641s-0.516-3.953-1.406-5.641l-3.031 3.031c0.281 0.828 0.438 1.703 0.438 2.609s-0.156 1.781-0.438 2.609z"></path> 321 </symbol> 322 <symbol id="icon-puzzle-piece" viewBox="0 0 26 28"> 323 <path d="M26 17.156c0 1.609-0.922 2.953-2.625 2.953-1.906 0-2.406-1.734-4.125-1.734-1.25 0-1.719 0.781-1.719 1.937 0 1.219 0.5 2.391 0.484 3.594v0.078c-0.172 0-0.344 0-0.516 0.016-1.609 0.156-3.234 0.469-4.859 0.469-1.109 0-2.266-0.438-2.266-1.719 0-1.719 1.734-2.219 1.734-4.125 0-1.703-1.344-2.625-2.953-2.625-1.641 0-3.156 0.906-3.156 2.703 0 1.984 1.516 2.844 1.516 3.922 0 0.547-0.344 1.031-0.719 1.391-0.484 0.453-1.172 0.547-1.828 0.547-1.281 0-2.562-0.172-3.828-0.375-0.281-0.047-0.578-0.078-0.859-0.125l-0.203-0.031c-0.031-0.016-0.078-0.016-0.078-0.031v-16c0.063 0.047 0.984 0.156 1.141 0.187 1.266 0.203 2.547 0.375 3.828 0.375 0.656 0 1.344-0.094 1.828-0.547 0.375-0.359 0.719-0.844 0.719-1.391 0-1.078-1.516-1.937-1.516-3.922 0-1.797 1.516-2.703 3.172-2.703 1.594 0 2.938 0.922 2.938 2.625 0 1.906-1.734 2.406-1.734 4.125 0 1.281 1.156 1.719 2.266 1.719 1.797 0 3.578-0.406 5.359-0.5v0.031c-0.047 0.063-0.156 0.984-0.187 1.141-0.203 1.266-0.375 2.547-0.375 3.828 0 0.656 0.094 1.344 0.547 1.828 0.359 0.375 0.844 0.719 1.391 0.719 1.078 0 1.937-1.516 3.922-1.516 1.797 0 2.703 1.516 2.703 3.156z"></path> 324 </symbol>
325 <symbol id="icon-book" viewBox="0 0 26 28"> 326 <path d="M25.609 7.469c0.391 0.562 0.5 1.297 0.281 2.016l-4.297 14.156c-0.391 1.328-1.766 2.359-3.109 2.359h-14.422c-1.594 0-3.297-1.266-3.875-2.891-0.25-0.703-0.25-1.391-0.031-1.984 0.031-0.313 0.094-0.625 0.109-1 0.016-0.25-0.125-0.453-0.094-0.641 0.063-0.375 0.391-0.641 0.641-1.062 0.469-0.781 1-2.047 1.172-2.859 0.078-0.297-0.078-0.641 0-0.906 0.078-0.297 0.375-0.516 0.531-0.797 0.422-0.719 0.969-2.109 1.047-2.844 0.031-0.328-0.125-0.688-0.031-0.938 0.109-0.359 0.453-0.516 0.688-0.828 0.375-0.516 1-2 1.094-2.828 0.031-0.266-0.125-0.531-0.078-0.812 0.063-0.297 0.438-0.609 0.688-0.969 0.656-0.969 0.781-3.109 2.766-2.547l-0.016 0.047c0.266-0.063 0.531-0.141 0.797-0.141h11.891c0.734 0 1.391 0.328 1.781 0.875 0.406 0.562 0.5 1.297 0.281 2.031l-4.281 14.156c-0.734 2.406-1.141 2.938-3.125 2.938h-13.578c-0.203 0-0.453 0.047-0.594 0.234-0.125 0.187-0.141 0.328-0.016 0.672 0.313 0.906 1.391 1.094 2.25 1.094h14.422c0.578 0 1.25-0.328 1.422-0.891l4.688-15.422c0.094-0.297 0.094-0.609 0.078-0.891 0.359 0.141 0.688 0.359 0.922 0.672zM8.984 7.5c-0.094 0.281 0.063 0.5 0.344 0.5h9.5c0.266 0 0.562-0.219 0.656-0.5l0.328-1c0.094-0.281-0.063-0.5-0.344-0.5h-9.5c-0.266 0-0.562 0.219-0.656 0.5zM7.688 11.5c-0.094 0.281 0.063 0.5 0.344 0.5h9.5c0.266 0 0.562-0.219 0.656-0.5l0.328-1c0.094-0.281-0.063-0.5-0.344-0.5h-9.5c-0.266 0-0.562 0.219-0.656 0.5z"></path> 327 </symbol> 328 <symbol id="icon-cog" viewBox="0 0 24 28"> 329 <path d="M16 14c0-2.203-1.797-4-4-4s-4 1.797-4 4 1.797 4 4 4 4-1.797 4-4zM24 12.297v3.469c0 0.234-0.187 0.516-0.438 0.562l-2.891 0.438c-0.172 0.5-0.359 0.969-0.609 1.422 0.531 0.766 1.094 1.453 1.672 2.156 0.094 0.109 0.156 0.25 0.156 0.391s-0.047 0.25-0.141 0.359c-0.375 0.5-2.484 2.797-3.016 2.797-0.141 0-0.281-0.063-0.406-0.141l-2.156-1.687c-0.453 0.234-0.938 0.438-1.422 0.594-0.109 0.953-0.203 1.969-0.453 2.906-0.063 0.25-0.281 0.438-0.562 0.438h-3.469c-0.281 0-0.531-0.203-0.562-0.469l-0.438-2.875c-0.484-0.156-0.953-0.344-1.406-0.578l-2.203 1.672c-0.109 0.094-0.25 0.141-0.391 0.141s-0.281-0.063-0.391-0.172c-0.828-0.75-1.922-1.719-2.578-2.625-0.078-0.109-0.109-0.234-0.109-0.359 0-0.141 0.047-0.25 0.125-0.359 0.531-0.719 1.109-1.406 1.641-2.141-0.266-0.5-0.484-1.016-0.641-1.547l-2.859-0.422c-0.266-0.047-0.453-0.297-0.453-0.562v-3.469c0-0.234 0.187-0.516 0.422-0.562l2.906-0.438c0.156-0.5 0.359-0.969 0.609-1.437-0.531-0.75-1.094-1.453-1.672-2.156-0.094-0.109-0.156-0.234-0.156-0.375s0.063-0.25 0.141-0.359c0.375-0.516 2.484-2.797 3.016-2.797 0.141 0 0.281 0.063 0.406 0.156l2.156 1.672c0.453-0.234 0.938-0.438 1.422-0.594 0.109-0.953 0.203-1.969 0.453-2.906 0.063-0.25 0.281-0.438 0.562-0.438h3.469c0.281 0 0.531 0.203 0.562 0.469l0.438 2.875c0.484 0.156 0.953 0.344 1.406 0.578l2.219-1.672c0.094-0.094 0.234-0.141 0.375-0.141s0.281 0.063 0.391 0.156c0.828 0.766 1.922 1.734 2.578 2.656 0.078 0.094 0.109 0.219 0.109 0.344 0 0.141-0.047 0.25-0.125 0.359-0.531 0.719-1.109 1.406-1.641 2.141 0.266 0.5 0.484 1.016 0.641 1.531l2.859 0.438c0.266 0.047 0.453 0.297 0.453 0.562z"></path> 330 </symbol> 331 </defs> 332</svg> 333 334 </div>
335<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"01539c5929b54e52ab496423d3136715","r":1,"spa":2}' crossorigin="anonymous"></script>
335 336</body> 337</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.