| <footer id="footer" class="footer"> |
| <svg class="ani-logo" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 84 84"> |
| <g fill="none" fill-rule="evenodd"> |
| <rect class="center item" width="24" height="24" x="30" y="30" /> |
| <path class="ul item" d="M19 19h27v10.5c0 .8-.7 1.5-1.5 1.5H31v13.5c0 .8-.7 1.5-1.5 1.5H19V19z" /> |
| <path class="ll item" d="M19 65h27V54.5c0-.8-.7-1.5-1.5-1.5H31V39.5c0-.8-.7-1.5-1.5-1.5H19v27z" /> |
| <path class="ur item" d="M65 19H38v10.5c0 .8.7 1.5 1.5 1.5H53v13.5c0 .8.7 1.5 1.5 1.5H65V19z" /> |
| <path class="lr item" d="M65 65H38V54.5c0-.8.7-1.5 1.5-1.5H53V39.5c0-.8.7-1.5 1.5-1.5H65v27z" /> |
| <path class="right item item--outer" |
| d="M82.5 48c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H69V48h13.5zm0-24c.8 0 1.5.7 1.5 1.5v9c0 .8-.7 1.5-1.5 1.5H69V24h13.5z" /> |
| <path class="left item item--outer" |
| d="M15 48v12H1.5C.7 60 0 59.3 0 58.5v-9c0-.8.7-1.5 1.5-1.5H15zm0-24v12H1.5C.7 36 0 35.3 0 34.5v-9c0-.8.7-1.5 1.5-1.5H15z" /> |
| <path class="top item item--outer" |
| d="M34.5 0c.8 0 1.5.7 1.5 1.5V15H24V1.5c0-.8.7-1.5 1.5-1.5h9zm24 0c.8 0 1.5.7 1.5 1.5V15H48V1.5c0-.8.7-1.5 1.5-1.5h9z" /> |
| <path class="bottom item item--outer" |
| d="M60 69v13.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5V69h12zm-24 0v13.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5V69h12z" /> |
| </g> |
| </svg> |
| |
| <nav class="footer-nav" aria-label="Full"> |
| <ul class="footer-nav__list"> |
| <li class="footer-nav__item"> |
| <a href="https://opentitan.org">Home</a> |
| </li> |
| <li class="footer-nav__item"> |
| <a href="https://docs.opentitan.org">Documentation</a> |
| </li> |
| <li class="footer-nav__item footer-nav__item--icons"> |
| <a href="https://github.com/lowRISC/opentitan" aria-label="View on Github"> |
| <svg focusable="false" width="24" height="20" viewBox="0 0 24 20"> |
| <path fill="currentColor" fill-rule="evenodd" |
| d="M11.4 1A9 9 0 002 10c0 4.2 2.7 7.7 6.5 9 .5 0 .7-.2.7-.5v-2.2s-2.7.5-3.3-1.2c0 0-.4-1-1-1.3 0 0-1-.6 0-.6 0 0 1 0 1.5 1 .8 1.4 2.2 1 2.8.7 0-.6.3-1 .6-1.2-2.1-.2-4.3-.5-4.3-4.1 0-1 .3-1.6.9-2.2C6.3 7 6 6 6.5 4.9c.8-.3 2.6 1 2.6 1a9.3 9.3 0 014.9 0s1.8-1.3 2.6-1c.6 1.2.2 2.2.1 2.5.6.6 1 1.2 1 2.2 0 3.6-2.2 3.9-4.4 4 .4.4.7 1 .7 1.8v3.1c0 .3.1.6.6.5a9.3 9.3 0 006.5-9c0-5-4.4-9-9.7-9z" /> |
| </svg> |
| </a> |
| </li> |
| </ul> |
| </nav> |
| |
| <p>© 2019 – {{ now.Format "2006" }} <a href="https://www.lowrisc.org">lowRISC</a> contributors, <a |
| href="https://opentitan.org/usage-policy/">Usage Policy</a>, <a |
| href="https://opentitan.org/privacy-policy/">Privacy Policy</a>.</p> |
| <p>No license is granted for the OpenTitan logo or other trademarks. <a |
| href="https://opentitan.org/trademark-usage-policy/">Trademark Usage |
| Policy</a>.</p> |
| </footer> |
| |
| <script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script> |
| <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.1.2/skins/default.js"></script> |
| <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/wavedrom/2.1.2/wavedrom.js"></script> |
| <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/markdown-it/10.0.0/markdown-it.min.js"></script> |
| |
| <script> |
| // Wrap tables |
| const tables = document.getElementsByTagName('table'); |
| for (let i = 0; i < tables.length; i++) { |
| const table = tables[i]; |
| const wrapper = document.createElement('div'); |
| wrapper.setAttribute('class', 'overflow-table'); |
| table.parentNode.insertBefore(wrapper, table); |
| wrapper.appendChild(table); |
| } |
| |
| // Dark and light theme |
| document.documentElement.classList.remove('no-js'); |
| const STORAGE_KEY = 'user-color-scheme'; |
| const COLOR_MODE_KEY = '--color-mode'; |
| |
| const modeToggleButton = document.querySelector('.js-mode-toggle'); |
| |
| const getCSSCustomProp = propKey => { |
| let response = getComputedStyle(document.documentElement).getPropertyValue(propKey); |
| |
| if (response.length) { |
| response = response.replace(/\"/g, '').trim(); |
| } |
| |
| return response; |
| }; |
| |
| const applySetting = passedSetting => { |
| let currentSetting = passedSetting || localStorage.getItem(STORAGE_KEY); |
| |
| if (currentSetting) { |
| document.documentElement.setAttribute('data-user-color-scheme', currentSetting) |
| } |
| }; |
| |
| const toggleSetting = () => { |
| let currentSetting = localStorage.getItem(STORAGE_KEY); |
| |
| switch (currentSetting) { |
| case null: |
| currentSetting = getCSSCustomProp(COLOR_MODE_KEY) === 'dark' ? 'light' : 'dark'; |
| break; |
| case 'light': |
| currentSetting = 'dark'; |
| break; |
| case 'dark': |
| currentSetting = 'light'; |
| break; |
| } |
| |
| localStorage.setItem(STORAGE_KEY, currentSetting); |
| |
| return currentSetting; |
| }; |
| |
| modeToggleButton.addEventListener('click', evt => { |
| evt.preventDefault(); |
| |
| applySetting(toggleSetting()); |
| }); |
| |
| applySetting(); |
| |
| |
| |
| |
| </script> |