- ID da verificação
- d7329249-66a4-4afa-ac07-5fa5eef6ca15Concluído
- URL enviado:
- https://hackmd.io/s/HyXpr1LMkxRedirecionado
- Relatório concluído:
Ligações · 63 encontradas
As ligações de saída identificadas na página
Hiperligação | Texto |
---|---|
https://jsbin.com/kezopuliti/edit?html,output | https://jsbin.com/kezopuliti/edit?html,output |
https://snippet.host/zitdxp | https://snippet.host/zitdxp |
https://anonpaste.io/share/4b11f9c6a6 | https://anonpaste.io/share/4b11f9c6a6 |
https://radar.cloudflare.com/scan/1ebd60b6-0180-4fc1-aca3-9a9ebdb519a9/dom | https://radar.cloudflare.com/scan/1ebd60b6-0180-4fc1-aca3-9a9ebdb519a9/dom |
https://radar.cloudflare.com/scan/e29b724a-56e7-4d7e-99cd-3da5db53a0b6/dom | https://radar.cloudflare.com/scan/e29b724a-56e7-4d7e-99cd-3da5db53a0b6/dom |
https://radar.cloudflare.com/scan/fb27c296-17e8-4b3d-b200-9fe09eb16087/dom | https://radar.cloudflare.com/scan/fb27c296-17e8-4b3d-b200-9fe09eb16087/dom |
https://www.onfeetnation.com/profiles/blogs/dtye575uthdt | https://www.onfeetnation.com/profiles/blogs/dtye575uthdt |
https://sharing.clickup.com/9018640330/t/h/86eqrkd9z/LUB08UHLLH9F2T2 | https://sharing.clickup.com/9018640330/t/h/86eqrkd9z/LUB08UHLLH9F2T2 |
https://github.com/apps/jfgfggfd5ghdgh | https://github.com/apps/jfgfggfd5ghdgh |
https://fufufafa.hashnode.dev/srw456ghgf | https://fufufafa.hashnode.dev/srw456ghgf |
Variáveis JavaScript · 162 encontradas
Variáveis JavaScript globais carregadas no objeto janela de uma página são variáveis declaradas fora das funções e acessíveis de qualquer parte do código dentro do âmbito atual
Nome | Tipo |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
domain | string |
urlpath | string |
debug | boolean |
version | string |
brand | string |
NOTE_ID | string |
GOOGLE_DRIVE_API_KEY | string |
Mensagens de registo da consola · 0 encontradas
Mensagens registadas na consola web
HTML
O corpo HTML em bruto da página
<!DOCTYPE html><html lang="en-US" data-themeable="true" theme="light"><head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-token" content="GR7fQTO9-4bwkBmAKs17v8jbgnRp2bIiIEGs">
<meta name="description" content="https://jsbin.com/kezopuliti/edit?html,output https://snippet.host/zitdxp \https://anonpaste.io/shar">
<title>Untitled - HackMD</title>
<link rel="icon" type="image/png" href="https://hackmd.io/favicon.png">
<link rel="apple-touch-icon" href="https://hackmd.io/apple-touch-icon.png">
<!-- meta value for server side given sign in boolean -->
<meta name="signin" content="false">
<script async="" src="https://www.googletagmanager.com/gtm.js?id=GTM-KLW9Z3"></script><script nonce="">
window.domain = 'hackmd.io'
window.urlpath = ''
window.debug = false || window.localStorage.getItem('HMD_DEBUG_FLAG') === 'true'
window.version = '1.3.0'
window.brand = 'HackMD'
window.NOTE_ID = 'o8OVbL9pRgeQx27xuGulDg'
window.GOOGLE_DRIVE_API_KEY = 'AIzaSyAHmcP5gL_64ZafuAYOvJruFAIaYgHQaY4'
window.GOOGLE_DRIVE_CLIENT_ID = '65857506266-76uhhee8se8dgs1i0q8fhtj1prg0ar27.apps.googleusercontent.com'
window.DROPBOX_APP_KEY = 'rdoizrlnkuha23r'
window.PLANTUML_SERVER = 'https://ptuml.hackmd.io'
window.ASSET_URL = 'https://assets.hackmd.io'
window.USER_CAN_CREATE_TEAM = true
window.USER_CAN_DELETE_ACCOUNT = true
window.USER_DELETE_ACCOUNT_VIA_EMAIL = true
window.PAYMENT_ENABLED = true
window.PAYMENT_PROMOTION_BANNER_ENABLED = false
window.GITHUB_SYNC_ENABLED = true
window.GITLAB_SYNC_ENABLED = false
window.GITLAB_SYNC_BASE_URL = ''
window.VCS_SYNC_MODE = 'github'
window.VCS_PROVIDER_NAME = 'GitHub'
window.FREE_TEAM_NUM = 20
window.FREE_TEAM_MEMBER_NUM = 3
window.FREE_PUBLIC_TEAM_NUM = 10
window.NEO_OVERVIEW_UI = false
window.EE_SITE_ENABLE = false
window.EE_SITE_NAME = 'false'
window.EE_SITE_LINK = 'false'
window.EESITE_INFO = false
window.ENTERPRISE_DISCOVERY_ENABLE = false
window.ENTERPRISE_DISCOVERY_TEAM = true
window.ENTERPRISE_DISCOVERY_NOTE = true
window.ENTERPRISE_DISCOVERY_VIEW_PERMISSION = 'guest'
window.ALLOW_ANONYMOUS = true
window.ALLOW_ANONYMOUS_EDIT = false
window.ALLOW_DOWNLOAD_PDF = true
window.PUBLIC_OVERVIEW = false
window.INTERNAL_PUBLIC_OVERVIEW = false
window.FULL_TEXT_SEARCH_ENABLE = false
window.ALGOLIA_SEARCH_ENABLE = true
window.MARKETING_EMAIL_ENABLE = true
window.OFFLINE_ACCESS = true
window.WALLET_CONNECT_PROJECT_ID = '91d6fa182b725b5895a17a170a5878c1'
window.API_MANAGEMENT_UI_ENABLE = true
window.FEEDBACK_UI_ENABLE = true
window.PUBLISH_ENABLE = true
window.SHOW_HOT_NOTES = false
window.HOT_NOTES_TIME_TYPE = 'week'
window.SHOW_OVERVIEW = false
window.MENTIONS = {}
window.MENTION_ANCHORS = []
window.COMMENT_ANCHORS = []
window.IS_OWNER = false
window.IS_TEAM_ADMIN = false
window.IS_INVITEE_ADMIN = false
window.USER_PROFILE = '%7B%22name%22%3A%22Guest%20Hill%22%7D'
window.VERSION_TIME = '1731749318100'
window.canEdit = false
window.canWriteComment = false
window.canHideComment = false
window.TRASH_NOTE_DELETE_AFTER_FREE = 3
window.TRASH_NOTE_DELETE_AFTER_PAID = 30
window.ENABLED_PREVIEW_FEATURE = {}
window.IS_OWNER_UPGRADED = false
window.IMGUR_FALLBACK_CDN = 'https://imgur-backup.hackmd.io'
window.CLOUD_META_UI = true
window.CLOUD_META_API = true
window.CLOUD_META_MIGRATION = false
window.YAML_METADATA_ENABLED = false
window.NOTE_CAPACITY_LIMIT = 50
window.DOCUMENT_MAX_LENGTH = 100000
window.SOCIAL_NETWORK_FEATURES_ENABLED = true
window.PUBLISHMENT_MODERATION_ENABLED = true
window.COMMENT_ENABLED = true
window.SUGGEST_EDIT_ENABLED = true
window.SUGGEST_EDIT_ENABLED = true
window.REALTIME_CLIENT_WITH_CREDENTIALS = false
window.COMMENT_ENABLED = true
window.DEBUG_DISCONNECT_SOCKET_WHEN_OFFLINE = false
window.USE_NEW_LOGO = true
window.ITERABLE_ENABLED = true
window.ITERABLE_API_KEY = "c2c36a44c2614fb19aa3b46d660bbce2"
window.TEXT_SELECTION_CHANGED = false
window.CAN_VIEW_HISTORY_AT_REVISION = false
</script>
<!-- Google Tag Manager -->
<script nonce="">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-KLW9Z3');</script>
<!-- End Google Tag Manager -->
<meta property="fb:app_id" content="1436904003272070">
<meta name="twitter:image:src" content="https://hackmd.io/images/media/HackMD-og.jpg">
<meta name="twitter:image:alt" content="HackMD - Collaborative Markdown Knowledge Base">
<meta name="twitter:site" content="@hackmdio">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="HackMD - Collaborative Markdown Knowledge Base">
<meta name="twitter:description" content="https://jsbin.com/kezopuliti/edit?html,output https://snippet.host/zitdxp \https://anonpaste.io/shar">
<meta property="og:image" content="https://hackmd.io/images/media/HackMD-og.jpg">
<meta property="og:image:alt" content="HackMD - Collaborative Markdown Knowledge Base">
<meta property="og:site_name" content="HackMD">
<meta property="og:type" content="article">
<meta property="og:title" content="HackMD - Collaborative Markdown Knowledge Base">
<meta property="og:description" content="https://jsbin.com/kezopuliti/edit?html,output https://snippet.host/zitdxp \https://anonpaste.io/shar">
<link href="https://assets.hackmd.io/build/font-vendor.ea8218d7d4f468b2c430.css" rel="stylesheet"><link href="https://assets.hackmd.io/build/common-vendor.0a08ae20e14fefe857eb.css" rel="stylesheet"><link href="https://assets.hackmd.io/build/pretty-vendor.db0e7b64c54d0a77290f.css" rel="stylesheet"><link href="https://assets.hackmd.io/build/pretty.44da1494d9b0c7939a3f.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js" integrity="sha256-3Jy/GbSLrg0o9y5Z5n1uw0qxZECH7C6OQpVBgNFYa0g=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js" integrity="sha256-g6iAfvZp+nDQ2TdTR/VVKJf3bGro4ub5fvWSWVRi2NE=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/es5-shim/4.5.9/es5-shim.min.js" integrity="sha256-8E4Is26QH0bD52WoQpcB+R/tcWQtpzlCojrybUd7Mxo=" crossorigin="anonymous"></script>
<![endif]-->
<script defer="" data-domain="hackmd.io" src="https://plausible.io/js/script.js"></script>
<script nonce="">
window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments); }
const keyboardWhiteList = ['a', 'span', 'button']
function getTaggedEventAttributes (e) {
const eventAttrs = { name: null, props: {} }
if (!e || !e.classList) return eventAttrs
const psEvent = /plausible-event-(.+)(=|--)(.+)/
for (const className of [...e.classList]) {
const [, key, , val] = className.match(psEvent) || []
if (!key || !val) continue
const value = val.replace(/\+/g, ' ')
switch (key.toLowerCase()) {
case 'name':
eventAttrs.name = value
break
default:
eventAttrs.props[key] = value
break
}
}
return eventAttrs
}
function isLocal () {
return /^localhost$|^127(\.[0-9]+){0,2}\.[0-9]+$|^\[::1?\]$/.test(location.hostname) || location.protocol === 'file:'
}
function isAutomation () {
return Boolean(window._phantom || window.__nightmare || window.navigator.webdriver || window.Cypress)
}
function shouldIgnore () {
return isLocal() ||
isAutomation() ||
window.localStorage.getItem('plausible_ignore') === 'true'
}
function handler (e) {
if (!window.plausible) return
if (!e.target || !('className' in e.target)) return
const ele = e.target
const eventAttrs = getTaggedEventAttributes(ele)
if (!eventAttrs.name) return
if (ele?.href) eventAttrs.props.url = ele.href
if (shouldIgnore()) {
if (window.debug) logDebugEventMsg(eventAttrs)
return
}
window.plausible(eventAttrs.name, { props: eventAttrs.props })
}
function logDebugEventMsg (eventAttrs) {
console.warn(
`Ignoring Event: "${eventAttrs.name}"`,
eventAttrs,
)
}
function keydownHandler (e) {
if (e.key !== 'Enter') return
if (e.target.nodeName.toLowerCase() === 'input') {
switch (e.target.type.toLowerCase()) {
case 'submit':
case 'button':
case 'reset':
case 'checkbox':
case 'radio':
case 'file':
case 'image':
case 'color':
break
default:
return
}
} else if (!keyboardWhiteList.includes(e.target.nodeName.toLowerCase())) {
return
}
handler(e)
}
document.addEventListener('mousedown', handler)
document.addEventListener('keydown', keydownHandler)
</script>
<script nonce="">
window.publishProps = JSON.parse(`{"isOwnerAnonymous":false,"isOwnedByTeam":false,"ownerInfo":{"name":"bh7fdhsd","path":"bh7fdhsd","avatarUrl":"https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fb423961066909df11f40ff7c4e2ec29f%3Fs%3D96","description":null},"isPublished":false,"createTime":1731749307330,"updateTime":1731749318100,"vcsSyncMode":"github","vcsProviderName":"GitHub","canEdit":false,"hardBreaks":true,"onlyOwnerCanEdit":true,"isCommentEnabled":true,"likedCount":0,"isNotificationEnabled":true,"notificationType":"never","hasEmail":false,"canWriteComment":false,"viewCount":0,"markdown":"https%3A%2F%2Fjsbin.com%2Fkezopuliti%2Fedit%3Fhtml%2Coutput%0Ahttps%3A%2F%2Fsnippet.host%2Fzitdxp%0A%5Chttps%3A%2F%2Fanonpaste.io%2Fshare%2F4b11f9c6a6%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F1ebd60b6-0180-4fc1-aca3-9a9ebdb519a9%2Fdom%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Fe29b724a-56e7-4d7e-99cd-3da5db53a0b6%2Fdom%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Ffb27c296-17e8-4b3d-b200-9fe09eb16087%2Fdom%0Ahttps%3A%2F%2Fwww.onfeetnation.com%2Fprofiles%2Fblogs%2Fdtye575uthdt%0Ahttps%3A%2F%2Fsharing.clickup.com%2F9018640330%2Ft%2Fh%2F86eqrkd9z%2FLUB08UHLLH9F2T2%0Ahttps%3A%2F%2Fgithub.com%2Fapps%2Fjfgfggfd5ghdgh%0Ahttps%3A%2F%2Ffufufafa.hashnode.dev%2Fsrw456ghgf%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fgladiator-2-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fgladiator-2-us-14%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fvenom-3-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fvenom-3-the-last-dance-us-14%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fsmall-things-like-these-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fred-one-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Foverlord-the-sacred-kingdom-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fheretic-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fthe-best-christmas-pageant-ever-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fhere-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fsmile-2-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fterrifier-3-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fthe-wild-robot-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fwe-live-in-time-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Ftransformers-one-on-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fmy-hero-academia-you-are-next-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fjoker-2-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fdeadpool-3-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fconclave-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fbeetlejuice-2-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fam-i-racist-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fwicked-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fanora-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Felton-john-never-too-late-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fghost-cat-anzu-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fmoana-2-us-13%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fvenom-3-es-14%0Ahttps%3A%2F%2Fadmin.opendatani.gov.uk%2Fuser%2Fgladiator-2-es-14%0Ahttps%3A%2F%2Fyiijima.sakura.ne.jp%2Fwiki%2Fe01%2F%3Fcbfdyyths%0Ahttps%3A%2F%2Fopendata.liberec.cz%2Fen%2Fuser%2Fcbdguu6r%0Ahttps%3A%2F%2Fwww.egr.msu.edu%2Fnextgen%2Fwiki%2Findex.php%2F5ghnccjgjc%0Ahttps%3A%2F%2Fwww.websitecarbon.com%2Fwebsite%2Fegr-msu-edu-nextgen-wiki-index-php-5ghnccjgjc%2F%0Ahttps%3A%2F%2Fwww.ssplace.miami.edu%2Fmembers%2Fstatus%2Fshow%3Fid%3D28954324%253AStatus%253A2192362%0Ahttps%3A%2F%2Fsloan.ucr.edu%2Fmembers%2Fstatus%2Fshow%3Fid%3D28954304%253AStatus%253A1484167%0Ahttps%3A%2F%2Feducat.xtec.cat%2Fmembers%2Fstatus%2Fshow%3Fid%3D28959444%253AStatus%253A342572%0Ahttps%3A%2F%2Fnetwork.propertyweek.com%2Fmembers%2Fstatus%2Fshow%3Fid%3D28959784%253AStatus%253A545492%0Ahttps%3A%2F%2Fzagspace.gonzaga.edu%2Fmembers%2Fstatus%2Fshow%3Fid%3D28959764%253AStatus%253A204545%0Ahttps%3A%2F%2Fwww.enaref.gov.bf%2Ffr%2Fnode%2F1251567%0Ahttps%3A%2F%2Fweb3devcommunity.com%2Ftopic%2F39574%2F0oaudihlkadh%0Ahttps%3A%2F%2Fforum.thecodingcolosseum.com%2Ftopic%2F18919%2F0abakdgakaudy%0Ahttps%3A%2F%2Fforum.realdigital.org%2Fd%2F276372-0aioyaouadkjadg%0Ahttps%3A%2F%2Fforum.instube.com%2Fd%2F175611-8uaydkajdglakjgahkja%0Ahttps%3A%2F%2Fplaycode.io%2F2149564%0Ahttps%3A%2F%2Fwww.gmbinder.com%2Fshare%2F-OBoHbzAS18gJ4BwMghv%0Ahttps%3A%2F%2Fjsfiddle.net%2Fk4euh8dt%2F%0Ahttps%3A%2F%2Fjsitor.com%2Fr-kM3_hFgl%0Ahttps%3A%2F%2Fpaste.centos.org%2Fview%2F038cff88%0Ahttps%3A%2F%2Fpaste.ee%2Fp%2Fnzo9E%0Ahttps%3A%2F%2Fpastebin.com%2FgnXHvhDt%0Ahttps%3A%2F%2Fetextpad.com%2Fuuywbiajm8%0Ahttps%3A%2F%2Fyamcode.com%2Funtitled-110272%0Ahttps%3A%2F%2Fpaste2.org%2FXaVyj7eY%0Ahttps%3A%2F%2Fpaiza.io%2Fprojects%2FGXoDro79IlY8qqeriWPAog","viewMode":"publish","isOwner":false,"isSignIn":false,"isLiked":false,"isBookmarked":false,"publishType":"view","commentCount":0,"isNotesRecommendationsEnabled":true,"recommendedNotes":[],"lastChangeUserInfo":{"name":"bh7fdhsd","path":"bh7fdhsd","avatarUrl":"https%3A%2F%2Fwww.gravatar.com%2Favatar%2Fb423961066909df11f40ff7c4e2ec29f%3Fs%3D96"}}`);
(function () {
const decodeStringProps = (props) => {
for (const key in props) {
if (typeof props[key] === 'string') {
props[key] = decodeURIComponent(props[key])
} else if (typeof props[key] === 'object') {
decodeStringProps(props[key])
}
}
}
decodeStringProps(window.publishProps)
})()
</script>
<meta id="style-tag-insertion">
<script src="https://tally.so/widgets/embed.js"></script><style type="text/css">@keyframes index-module_spin__r2-rl{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes index-module_wave__JTStX{0%{transform:rotate(0deg)}50%{transform:rotate(20deg)}to{transform:rotate(0deg)}}@keyframes index-module_heartBeat__Jdux6{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes index-module_flash__BHax5{0%,50%,to{opacity:1}25%,75%{opacity:.2}}@keyframes index-module_bounce__46Q2t{0%,20%,53%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0) scaleY(1.1)}70%{transform:translate3d(0,-15px,0) scaleY(1.05)}80%{transform:translateZ(0) scaleY(.95)}90%{transform:translate3d(0,-4px,0) scaleY(1.02)}}@keyframes index-module_rubberBand__QnP44{0%{transform:scaleX(1)}30%{transform:scale3d(1.25,.75,1)}40%{transform:scale3d(.75,1.25,1)}50%{transform:scale3d(1.15,.85,1)}65%{transform:scale3d(.95,1.05,1)}75%{transform:scale3d(1.05,.95,1)}to{transform:scaleX(1)}}@keyframes index-module_headShake__4JK7O{0%{transform:translateX(0)}6.5%{transform:translateX(-6px) rotateY(-9deg)}18.5%{transform:translateX(5px) rotateY(7deg)}31.5%{transform:translateX(-3px) rotateY(-5deg)}43.5%{transform:translateX(2px) rotateY(3deg)}50%{transform:translateX(0)}}@keyframes index-module_tada__m5Cd2{0%{transform:scaleX(1)}10%,20%{transform:scale3d(.9,.9,.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale3d(1.1,1.1,1.1) rotate(3deg)}40%,60%,80%{transform:scale3d(1.1,1.1,1.1) rotate(-3deg)}to{transform:scaleX(1)}}.index-module_overlay__PyXAN{-ms-flex-pack:center;-ms-flex-align:center;align-items:center;background-color:hsla(0,0%,6%,.6);bottom:0;display:-ms-flexbox;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000000006}.index-module_layoutDefault__7yBRe{bottom:20px;position:fixed;right:20px;width:auto}.index-module_layoutDefault__7yBRe,.index-module_layoutModal__3-Tik{background-color:transparent;border-radius:5px;box-shadow:0 0 0 1px hsla(0,0%,6%,.05),0 3px 6px hsla(0,0%,6%,.1),0 9px 24px hsla(0,0%,6%,.2);display:-ms-flexbox;display:flex;height:auto;max-width:95vw;opacity:0;z-index:2147483000}.index-module_layoutModal__3-Tik{position:relative;width:700px}.index-module_popupContainer__R7hrk{border-radius:5px;display:-ms-flexbox;display:flex;overflow-y:auto;width:100%}.index-module_popupContainer__R7hrk iframe{border-radius:5px;max-height:95vh}.index-module_loadingIndicator__bai61{-ms-flex-align:center;-ms-flex-pack:center;align-items:center;background-color:#f5f5f5;border-radius:50%;color:#444;display:-ms-inline-flexbox;display:inline-flex;height:50px;justify-content:center;position:absolute;width:50px;z-index:2147483000}.index-module_loadingIndicatorNoOverlay__Pyhdd{bottom:10px;position:fixed;right:10px}.index-module_loadingIndicator__bai61 svg{animation:index-module_spin__r2-rl 1.618s linear infinite;height:20px;width:20px}.index-module_emoji__MDuRJ{display:inline-block;font-size:42px;left:-21px;line-height:1;position:absolute;top:-21px}.index-module_animate__wave__Rfv7x{animation:index-module_wave__JTStX 1s ease-in-out 20}.index-module_animate__heart-beat__M8Vjv{animation:index-module_heartBeat__Jdux6 1.3s ease-in-out 20}.index-module_animate__flash__zfXXt{animation:index-module_flash__BHax5 2.5s 20}.index-module_animate__bounce__YkmGJ{animation:index-module_bounce__46Q2t 1.5s 20;-ms-transform-origin:center bottom;transform-origin:center bottom}.index-module_animate__rubber-band__o0ymG{animation:index-module_rubberBand__QnP44 1.5s 20}.index-module_animate__head-shake__SgYWR{animation:index-module_headShake__4JK7O 1.5s ease-in-out 20}.index-module_animate__tada__3dUYE{animation:index-module_tada__m5Cd2 1.5s 20}.index-module_animate__spin__dJxXR{animation:index-module_spin__r2-rl 1.618s linear 20}@media (max-height:1000px){.index-module_popupContainer__R7hrk iframe{max-height:85vh}}@media (max-width:576px){.index-module_popupContainer__R7hrk iframe{max-height:70vh}.index-module_layoutDefault__7yBRe,.index-module_layoutModal__3-Tik{max-width:calc(100% - 40px)}}</style>
<style id="googleidentityservice_button_styles" nonce="">.qJTHM{-moz-user-select:none;color:#202124;direction:ltr;font-family:"Roboto-Regular",arial,sans-serif;font-weight:400;margin:0;overflow:hidden}.ynRLnc{left:-9999px;position:absolute;top:-9999px}.L6cTce{display:none}.bltWBb{word-break:break-all}.hSRGPd{color:#1a73e8;cursor:pointer;font-weight:500;text-decoration:none}.Bz112c-W3lGp{height:16px;width:16px}.Bz112c-E3DyYd{height:20px;width:20px}.Bz112c-r9oPif{height:24px;width:24px}.Bz112c-uaxL4e{-moz-border-radius:10px;border-radius:10px}.LgbsSe-Bz112c{display:block}.S9gUrf-YoZ4jf,.S9gUrf-YoZ4jf *{border:none;margin:0;padding:0}.fFW7wc-ibnC6b>.aZ2wEe>div{border-color:#4285f4}.P1ekSe-ZMv3u>div:nth-child(1){background-color:#1a73e8!important}.P1ekSe-ZMv3u>div:nth-child(2),.P1ekSe-ZMv3u>div:nth-child(3){background-image:linear-gradient(to right,rgba(255,255,255,.7),rgba(255,255,255,.7)),linear-gradient(to right,#1a73e8,#1a73e8)!important}.haAclf{display:inline-block}.nsm7Bb-HzV7m-LgbsSe{border-radius:4px;box-sizing:border-box;transition:background-color .218s,border-color .218s;-moz-user-select:none;background-color:#fff;background-image:none;border:1px solid #dadce0;color:#3c4043;cursor:pointer;font-family:"Google Sans",arial,sans-serif;font-size:14px;height:40px;letter-spacing:0.25px;outline:none;overflow:hidden;padding:0 12px;position:relative;text-align:center;vertical-align:middle;white-space:nowrap;width:auto}@media screen and (-ms-high-contrast:active){.nsm7Bb-HzV7m-LgbsSe{border:2px solid windowText;color:windowText}}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe{font-size:14px;height:32px;letter-spacing:0.25px;padding:0 10px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe{font-size:11px;height:20px;letter-spacing:0.3px;padding:0 8px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe{padding:0;width:40px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.pSzOP-SxQuSe{width:32px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.purZT-SxQuSe{width:20px}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK{border-radius:20px}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK.pSzOP-SxQuSe{border-radius:16px}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK.purZT-SxQuSe{border-radius:10px}.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc{border:none;color:#fff}.nsm7Bb-HzV7m-LgbsSe.MFS4be-v3pZbf-Ia7Qfc{background-color:#1a73e8}.nsm7Bb-HzV7m-LgbsSe.MFS4be-JaPV2b-Ia7Qfc{background-color:#202124;color:#e8eaed}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{height:18px;margin-right:8px;min-width:18px;width:18px}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{height:14px;min-width:14px;width:14px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{height:10px;min-width:10px;width:10px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-Bz112c{margin-left:8px;margin-right:-4px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{margin:0;padding:10px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.pSzOP-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{padding:8px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c{padding:4px}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-top-left-radius:3px;border-bottom-left-radius:3px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;justify-content:center;align-items:center;background-color:#fff;height:36px;margin-left:-10px;margin-right:12px;min-width:36px;width:36px}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf .nsm7Bb-HzV7m-LgbsSe-Bz112c,.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf .nsm7Bb-HzV7m-LgbsSe-Bz112c{margin:0;padding:0}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{height:28px;margin-left:-8px;margin-right:10px;min-width:28px;width:28px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{height:16px;margin-left:-6px;margin-right:8px;min-width:16px;width:16px}.nsm7Bb-HzV7m-LgbsSe.Bz112c-LgbsSe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:3px;margin-left:2px;margin-right:0;padding:0}.nsm7Bb-HzV7m-LgbsSe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:18px}.nsm7Bb-HzV7m-LgbsSe.pSzOP-SxQuSe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:14px}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:8px}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-bN97Pc-sM5MNb{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;align-items:center;flex-direction:row;justify-content:space-between;flex-wrap:nowrap;height:100%;position:relative;width:100%}.nsm7Bb-HzV7m-LgbsSe .oXtfBe-l4eHX{justify-content:center}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-BPrWId{flex-grow:1;font-family:"Google Sans",arial,sans-serif;font-weight:500;overflow:hidden;text-overflow:ellipsis;vertical-align:top}.nsm7Bb-HzV7m-LgbsSe.purZT-SxQuSe .nsm7Bb-HzV7m-LgbsSe-BPrWId{font-weight:300}.nsm7Bb-HzV7m-LgbsSe .oXtfBe-l4eHX .nsm7Bb-HzV7m-LgbsSe-BPrWId{flex-grow:0}.nsm7Bb-HzV7m-LgbsSe .nsm7Bb-HzV7m-LgbsSe-MJoBVe{transition:background-color .218s;bottom:0;left:0;position:absolute;right:0;top:0}.nsm7Bb-HzV7m-LgbsSe:hover,.nsm7Bb-HzV7m-LgbsSe:focus{box-shadow:none;border-color:#d2e3fc;outline:none}.nsm7Bb-HzV7m-LgbsSe:hover .nsm7Bb-HzV7m-LgbsSe-MJoBVe,.nsm7Bb-HzV7m-LgbsSe:focus .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(66,133,244,.04)}.nsm7Bb-HzV7m-LgbsSe:active .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(66,133,244,.1)}.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc:hover .nsm7Bb-HzV7m-LgbsSe-MJoBVe,.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc:focus .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(255,255,255,.24)}.nsm7Bb-HzV7m-LgbsSe.MFS4be-Ia7Qfc:active .nsm7Bb-HzV7m-LgbsSe-MJoBVe{background:rgba(255,255,255,.32)}.nsm7Bb-HzV7m-LgbsSe .n1UuX-DkfjY{border-radius:50%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;height:20px;margin-left:-4px;margin-right:8px;min-width:20px;width:20px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId{font-family:"Roboto";font-size:12px;text-align:left}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .ssJRIf,.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff .fmcmS{overflow:hidden;text-overflow:ellipsis}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff{display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;align-items:center;color:#5f6368;fill:#5f6368;font-size:11px;font-weight:400}.nsm7Bb-HzV7m-LgbsSe.jVeSEe.MFS4be-Ia7Qfc .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff{color:#e8eaed;fill:#e8eaed}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-BPrWId .K4efff .Bz112c{height:18px;margin:-3px -3px -3px 2px;min-width:18px;width:18px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:3px;border-bottom-right-radius:3px;margin-left:12px;margin-right:-10px}.nsm7Bb-HzV7m-LgbsSe.jVeSEe.JGcpL-RbRzK .nsm7Bb-HzV7m-LgbsSe-Bz112c-haAclf{border-radius:18px}.L5Fo6c-sM5MNb{border:0;display:block;left:0;position:relative;top:0}.L5Fo6c-bF1uUb{-moz-border-radius:4px;border-radius:4px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0}.L5Fo6c-bF1uUb:focus{border:none;outline:none}sentinel{}</style><style></style><link rel="stylesheet" type="text/css" href="https://assets.hackmd.io/build/fretboard.7a98c97ae43fb8ca354b.css"><link id="googleidentityservice" type="text/css" media="all" href="https://accounts.google.com/gsi/style" rel="stylesheet"></head>
<body style="--hmd-comment-panel-width: 348px;" theme="light" data-view-theme="light" class="pretty-comment-panel"><span data-radix-focus-guard="" tabindex="0" style="outline: none; opacity: 0; position: fixed; pointer-events: none;"></span>
<div id="toasts-container" class="toasts-container z-[2000]"><div><div class="pointer-events-auto ml-auto mr-auto flex w-fit flex-col justify-end"></div></div><div><div class="pointer-events-auto ml-auto mr-auto flex w-fit flex-col justify-end"></div></div></div>
<div id="publish-page"><div id="meta-title-tags" class="sticky top-0 z-[1000] w-full max-w-full overflow-hidden"><div class="flex w-full py-2.5 justify-between sticky top-0 bg-background-blur backdrop-blur-[12px] px-4 h-auto min-h-[50px] items-center max-w-full overflow-hidden gap-5"><div class="flex gap-2.5 items-center overflow-hidden max-w-[65%]" type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-2" data-state="closed"><span class="w-full overflow-hidden"><div class="m-0 text-[16px] leading-[20px] font-bold text-text-emphasize break-words overflow-ellipsis whitespace-nowrap overflow-hidden" title="Untitled">Untitled</div></span><div></div></div><span class="flex flex-row gap-3"><button class="rounded px-2.5 py-2 font-normal flex bg-transparent text-text-default border border-solid border-border-default hocus:bg-element-bg-hover hocus:border-element-border-hover hocus:text-text-emphasize focus:shadow-[0_0_0_2px_#77777733] disabled:bg-element-bg-disabled disabled:border-element-border-disabled disabled:text-element-text-disabled disabled:hocus:bg-element-bg-disabled disabled:hocus:border-element-border-disabled disabled:hocus:text-element-text-disabled disabled:border disabled:border-solid disabled:hocus:border disabled:hocus:border-solid community-button ui-view-theme gap-0.5 !py-1.5 !px-2 text-sm leading-sm small" data-toggle="tooltip" data-placement="bottom" data-original-title="Select color mode" type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-1" data-state="closed"><i class="ph ph-paint-brush text-normal leading-[14px]"></i></button><a href="https://hackmd.io?utm_source=view-page&utm_medium=logo-nav" class="ui-pretty-logo-home font-bold font-brand-headline text-icon-emphasize hocus:no-underline hocus:text-text-default text-right whitespace-nowrap text-lg flex"><span class="flex justify-center items-center">Try <img class="w-auto h-6" src="https://hackmd.io/Logo.svg"> HackMD</span></a></span></div></div><div class="ui-infobar container-fluid unselectable hidden-print comment-enabled comment-inner"><div class="row"><div class="col-xs-12 ui-infobar-inner flex items-start"><div class="ui-infobar__user-info"><ul class="list-inline mb-0 w-full"><li class="w-full"><div class="flex w-full gap-[9px] text-4"><span class="mt-[7px] flex justify-center ui-owner" data-profile="bh7fdhsd"> <a class="ui-user-icon m-0 inline-block h-[28px] w-[28px] user-card-popover" target="_blank" href="https://hackmd.io/@bh7fdhsd" data-toggle="popover" style="background-image: url("https://www.gravatar.com/avatar/b423961066909df11f40ff7c4e2ec29f?s=96");" data-original-title="" title=""></a></span><div class="flex w-[calc(100%-32px)] min-w-0 flex-col items-start"><div class="w-auto max-w-full break-words"><a class="text-normal font-semibold leading-normal text-text-emphasize hocus:text-link-text-hover hocus:underline ui-owner user-card-popover" data-profile="bh7fdhsd" href="https://hackmd.io/@bh7fdhsd" data-toggle="popover" data-original-title="" title="">bh7fdhsd</a><div class="follow-button-container inline" data-signin="false"><span class="mx-1"><span class="mr-1">·</span><button class="bg-transparent border-none p-0 font-semibold text-text-subtle ui-signin">Follow</button></span></div></div><div class="flex w-full text-text-subtle [&_a]:text-text-subtle [&_a]:hover:text-text-subtle"><div class="w-auto max-w-full break-words"><span class="ui-status-lastchange [&_a]:text-link-text-default [&_a]:hocus:text-link-text-hover">Last edited by <a class="user user-card-popover" href="https://hackmd.io/@bh7fdhsd" data-toggle="popover" data-original-title="" title="">bh7fdhsd</a> on <span title="Sat, Nov 16, 2024 9:28 AM">Nov 16, 2024</span></span><span class="ui-lastchange" data-createtime="1731749307330" data-updatetime="1731749318100"></span></div><span class="ui-more-info ml-1.5 inline-flex h-fit p-[1.5px]" data-toggle="popover" style="display: none;" data-original-title="" title=""><i class="h-fit text-[13px] leading-[13px] fa fa-github"></i><div class="more-info-raw hmd-dn"><span class="ui-connectedGithub note-status-row hmd-dn text-text-subtle [&_a]:text-text-subtle [&_a]:hover:text-text-subtle"><span class="flex flex-row gap-1.5"><i class="w-5 text-center text-[20px] leading-lg fa fa-github"></i><a class="ui-synced-text">Linked with GitHub</a></span><span class="flex flex-row gap-1.5"><span class="w-5"></span><a class="file-path" target="_blank"></a></span></span></div></span></div><div class="ui-contributor flex"><div class="ml-2 flex items-center gap-1"></div></div></div></div></li></ul></div><div class="hmd-text-right ui-infobar__actions items-center"><ul class="list-inline mb-0"><li class="!flex"><a class="community-button hidden-xs small" title="" data-toggle="tooltip" data-placement="bottom" data-offset="0,5" type="button" href="#" data-original-title="Like"><i class="ph ph-heart"></i><span class="count"></span></a><a class="community-button hidden-xs small" title="" data-toggle="tooltip" data-placement="bottom" data-offset="0,5" type="button" href="#" data-original-title="Bookmark"><i class="ph ph-bookmark-simple"></i></a><a class="community-button hidden-xs small" href="#"><i class="ph ph-bell"></i></a></li></ul></div><div class="clearfix"></div></div></div><div class="ui-comment-app small" id="hackmd-app" style="right: -64px; width: 64px;"><div id="comment-app"><div class="open-comments open-comments-panel fixed z-[1049] !w-16"><div><button class="m-0 ui-open-comments flex gap-1 items-center p-2.5 h-[38px] text-normal leading-normal text-text-default bg-background-default rounded border border-solid border-border-default hover:bg-element-bg-hover hover:text-text-emphasize"><i class="ph ph-chat-circle-dots text-5 leading-sm" aria-hidden="true"></i><span class="text">0</span></button></div></div><div class="comments-scroller"><div class="ui-comment-parent-container comments-containers"></div></div></div></div></div><div class="ui-comment-app small" style="right: -64px; width: 64px;"><div id="comments-panel-portal" style="display: none;"><div class="ui-comment-panel-root flex flex-row-reverse fixed select-text overflow-y-auto overflow-x-hidden transition-all duration-200 top-0 h-[100dvh] max-h-[100dvh] react-resizable" style="width: 348px;"><div class="flex h-full min-w-0 flex-grow flex-col overflow-auto bg-background-sunken"><div class="ui-comment-panel-navbar sticky top-0 z-10 box-border flex flex-col text-4 leading-[16px] border-0 border-b-1 border-solid border-b-border-default border-t-1 border-t-border-default"><div class="flex flex-row items-center justify-between gap-1 bg-background-subtler py-1 pl-2 pr-4"><button class="p-0 m-0 bg-transparent border-none w-[155px] min-w-0 rounded px-3 py-2.5 text-normal leading-normal text-text-default hocus:bg-element-bg-hover hocus:text-text-emphasize" type="button" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-3" data-state="closed"><span class="flex flex-row items-center gap-1.5"><span class="flex min-w-0 flex-grow flex-row items-center gap-1.5"><i class="ph ph-chat-circle-dots text-lg leading-sm"></i><span class="min-w-0 flex-grow overflow-hidden overflow-ellipsis whitespace-nowrap text-left">Comments</span></span><i class="ph text-lg leading-sm ph-caret-down"></i></span></button><span class="flex flex-shrink-0 flex-row items-center gap-1.5 text-text-default"><button class="m-0 bg-transparent ui-comment-feedback p-1.5 text-sm leading-sm text-text-default rounded border border-solid border-border-default hocus:bg-element-bg-hover hocus:text-text-emphasize" data-tally-open="wo95EN" data-tally-emoji-text="👋" data-tally-emoji-animation="wave">Feedback</button><button class="rounded p-2.5 text-lg font-normal leading-sm flex bg-transparent text-text-default border border-solid border-transparent hocus:bg-element-bg-hover hocus:text-text-emphasize hover:border-element-bg-hover focus:shadow-[0_0_0_2px_#77777733] focus:border-element-border-hover disabled:bg-transparent disabled:hocus:bg-transparent disabled:hocus:border-transparent disabled:text-element-text-disabled disabled:hocus:text-element-text-disabled" data-toggle="tooltip" data-original-title="Pin right panel"><i class="ph ph-push-pin" aria-hidden="true"></i></button><button class="m-0 bg-transparent border-none inline-flex cursor-pointer items-center justify-center p-1.5 text-[16px] leading-sm"><i class="ph ph-x" aria-hidden="true"></i></button></span></div><div class="flex flex-col gap-2.5 bg-background-primary-subtler p-4.5 border-0 border-t-1 border-solid border-border-default"><span class="text-sm font-semibold leading-sm text-text-emphasize">Log in to edit or delete your comments and be notified of replies.</span><div class="flex flex-row justify-between text-sm font-normal leading-sm [&>a]:text-link-text-default [&>a]:underline [&>a:hover]:text-link-text-hover [&>a:focus]:text-link-text-hover"><a href="/join" class="plausible-event-name=UserNoteCommentSignup">Sign up</a><a class="cursor-pointer">Already have an account? Log in</a></div></div></div><div class="mt-20 flex flex-col items-center gap-5 px-[58.5px] text-center"><span class="px-[30px] py-3"><img src="https://hackmd.io/new-comment-placeholder-light.svg"></span><span class="flex flex-col items-center gap-3"><span class="text-normal font-semibold leading-normal text-text-default">There is no comment</span><span class="text-sm leading-sm text-text-subtle">Select some text and then click Comment, or simply add a comment to this page from below to start a discussion.</span></span></div><div class="flex flex-col gap-2.5 p-2.5"></div><div class="flex-grow"></div><div class="ui-anchorless-comment-input-container sticky bottom-0 w-full border-0 border-solid bg-background-subtler rounded-t-md border-t-1 border-border-default p-4"><div class="flex w-full flex-col gap-2"><div class="ui-comment-input-container relative"><textarea class="invisible absolute w-full resize-none border border-solid p-3 text-normal leading-normal" rows="1" readonly=""></textarea><textarea class="!placeholder:text-text-subtler p-3 text-normal leading-normal text-text-default w-full resize-none rounded-[3px] border border-solid border-border-default bg-background-subtler focus-within:border-border-subtle focus-within:bg-background-default focus:outline-none hocus:border-border-subtle cursor-not-allowed" readonly="" placeholder="You do not have permission to add a comment. Please contact the owner to request access." rows="1" maxlength="1000"></textarea><div class="text-complete-container fixed [&>.dropdown-menu]:!absolute" style="top: 0px;"></div></div><div class="flex-row justify-end gap-1.5 hidden"><button class="rounded py-2 text-normal font-normal leading-normal flex bg-transparent text-text-default border border-solid border-border-default hocus:bg-element-bg-hover hocus:border-element-border-hover hocus:text-text-emphasize focus:shadow-[0_0_0_2px_#77777733] disabled:bg-element-bg-disabled disabled:border-element-border-disabled disabled:text-element-text-disabled disabled:hocus:bg-element-bg-disabled disabled:hocus:border-element-border-disabled disabled:hocus:text-element-text-disabled disabled:border disabled:border-solid disabled:hocus:border disabled:hocus:border-solid px-3.5">Discard</button><button class="rounded text-normal font-normal leading-normal flex bg-background-primary-default text-white border border-solid border-background-primary-default hover:bg-background-primary-hover hover:border-background-primary-hover focus:bg-background-primary-focus focus:border-background-primary-focus focus:shadow-[0_0_0_2px_#453AFF33] disabled:bg-background-primary-disabled disabled:border-background-primary-disabled disabled:opacity-[0.65] px-[15px] py-[9px]" disabled="">Send</button></div></div></div></div><span class="ui-right-panel-resize-handle relative cursor-ew-resize select-none pl-[5px] border-0 border-r-2 border-l-1 border-solid border-r-border-default border-l-transparent hocus:border-r-[3px] hocus:border-l-0 hocus:border-r-border-subtler"></span></div></div></div><div id="doc" class="container-fluid markdown-body comment-enabled comment-inner" data-hard-breaks="true"><div id="doc-body"><p class="part" data-startline="1" data-endline="63" data-position="0" data-size="0"><a href="https://jsbin.com/kezopuliti/edit?html,output" target="_blank" rel="noopener"><span data-position="0" data-size="45">https://jsbin.com/kezopuliti/edit?html,output</span></a><br>
<a href="https://snippet.host/zitdxp" target="_blank" rel="noopener"><span data-position="46" data-size="27">https://snippet.host/zitdxp</span></a><br>
<span data-position="74" data-size="1">\</span><a href="https://anonpaste.io/share/4b11f9c6a6" target="_blank" rel="noopener"><span data-position="75" data-size="37">https://anonpaste.io/share/4b11f9c6a6</span></a><br>
<a href="https://radar.cloudflare.com/scan/1ebd60b6-0180-4fc1-aca3-9a9ebdb519a9/dom" target="_blank" rel="noopener"><span data-position="113" data-size="74">https://radar.cloudflare.com/scan/1ebd60b6-0180-4fc1-aca3-9a9ebdb519a9/dom</span></a><br>
<a href="https://radar.cloudflare.com/scan/e29b724a-56e7-4d7e-99cd-3da5db53a0b6/dom" target="_blank" rel="noopener"><span data-position="188" data-size="74">https://radar.cloudflare.com/scan/e29b724a-56e7-4d7e-99cd-3da5db53a0b6/dom</span></a><br>
<a href="https://radar.cloudflare.com/scan/fb27c296-17e8-4b3d-b200-9fe09eb16087/dom" target="_blank" rel="noopener"><span data-position="263" data-size="74">https://radar.cloudflare.com/scan/fb27c296-17e8-4b3d-b200-9fe09eb16087/dom</span></a><br>
<a href="https://www.onfeetnation.com/profiles/blogs/dtye575uthdt" target="_blank" rel="noopener"><span data-position="338" data-size="56">https://www.onfeetnation.com/profiles/blogs/dtye575uthdt</span></a><br>
<a href="https://sharing.clickup.com/9018640330/t/h/86eqrkd9z/LUB08UHLLH9F2T2" target="_blank" rel="noopener"><span data-position="395" data-size="68">https://sharing.clickup.com/9018640330/t/h/86eqrkd9z/LUB08UHLLH9F2T2</span></a><br>
<a href="https://github.com/apps/jfgfggfd5ghdgh" target="_blank" rel="noopener"><span data-position="464" data-size="38">https://github.com/apps/jfgfggfd5ghdgh</span></a><br>
<a href="https://fufufafa.hashnode.dev/srw456ghgf" target="_blank" rel="noopener"><span data-position="503" data-size="40">https://fufufafa.hashnode.dev/srw456ghgf</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/gladiator-2-us-13" target="_blank" rel="noopener"><span data-position="544" data-size="54">https://admin.opendatani.gov.uk/user/gladiator-2-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/gladiator-2-us-14" target="_blank" rel="noopener"><span data-position="599" data-size="54">https://admin.opendatani.gov.uk/user/gladiator-2-us-14</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/venom-3-us-13" target="_blank" rel="noopener"><span data-position="654" data-size="50">https://admin.opendatani.gov.uk/user/venom-3-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/venom-3-the-last-dance-us-14" target="_blank" rel="noopener"><span data-position="705" data-size="65">https://admin.opendatani.gov.uk/user/venom-3-the-last-dance-us-14</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/small-things-like-these-us-13" target="_blank" rel="noopener"><span data-position="771" data-size="66">https://admin.opendatani.gov.uk/user/small-things-like-these-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/red-one-us-13" target="_blank" rel="noopener"><span data-position="838" data-size="50">https://admin.opendatani.gov.uk/user/red-one-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/overlord-the-sacred-kingdom-us-13" target="_blank" rel="noopener"><span data-position="889" data-size="70">https://admin.opendatani.gov.uk/user/overlord-the-sacred-kingdom-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/heretic-us-13" target="_blank" rel="noopener"><span data-position="960" data-size="50">https://admin.opendatani.gov.uk/user/heretic-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/the-best-christmas-pageant-ever-us-13" target="_blank" rel="noopener"><span data-position="1011" data-size="74">https://admin.opendatani.gov.uk/user/the-best-christmas-pageant-ever-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/here-us-13" target="_blank" rel="noopener"><span data-position="1086" data-size="47">https://admin.opendatani.gov.uk/user/here-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/smile-2-us-13" target="_blank" rel="noopener"><span data-position="1134" data-size="50">https://admin.opendatani.gov.uk/user/smile-2-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/terrifier-3-us-13" target="_blank" rel="noopener"><span data-position="1185" data-size="54">https://admin.opendatani.gov.uk/user/terrifier-3-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/the-wild-robot-us-13" target="_blank" rel="noopener"><span data-position="1240" data-size="57">https://admin.opendatani.gov.uk/user/the-wild-robot-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/we-live-in-time-us-13" target="_blank" rel="noopener"><span data-position="1298" data-size="58">https://admin.opendatani.gov.uk/user/we-live-in-time-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/transformers-one-on-us-13" target="_blank" rel="noopener"><span data-position="1357" data-size="62">https://admin.opendatani.gov.uk/user/transformers-one-on-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/my-hero-academia-you-are-next-us-13" target="_blank" rel="noopener"><span data-position="1420" data-size="72">https://admin.opendatani.gov.uk/user/my-hero-academia-you-are-next-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/joker-2-us-13" target="_blank" rel="noopener"><span data-position="1493" data-size="50">https://admin.opendatani.gov.uk/user/joker-2-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/deadpool-3-us-13" target="_blank" rel="noopener"><span data-position="1544" data-size="53">https://admin.opendatani.gov.uk/user/deadpool-3-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/conclave-us-13" target="_blank" rel="noopener"><span data-position="1598" data-size="51">https://admin.opendatani.gov.uk/user/conclave-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/beetlejuice-2-us-13" target="_blank" rel="noopener"><span data-position="1650" data-size="56">https://admin.opendatani.gov.uk/user/beetlejuice-2-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/am-i-racist-us-13" target="_blank" rel="noopener"><span data-position="1707" data-size="54">https://admin.opendatani.gov.uk/user/am-i-racist-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/wicked-us-13" target="_blank" rel="noopener"><span data-position="1762" data-size="49">https://admin.opendatani.gov.uk/user/wicked-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/anora-us-13" target="_blank" rel="noopener"><span data-position="1812" data-size="48">https://admin.opendatani.gov.uk/user/anora-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/elton-john-never-too-late-us-13" target="_blank" rel="noopener"><span data-position="1861" data-size="68">https://admin.opendatani.gov.uk/user/elton-john-never-too-late-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/ghost-cat-anzu-us-13" target="_blank" rel="noopener"><span data-position="1930" data-size="57">https://admin.opendatani.gov.uk/user/ghost-cat-anzu-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/moana-2-us-13" target="_blank" rel="noopener"><span data-position="1988" data-size="50">https://admin.opendatani.gov.uk/user/moana-2-us-13</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/venom-3-es-14" target="_blank" rel="noopener"><span data-position="2039" data-size="50">https://admin.opendatani.gov.uk/user/venom-3-es-14</span></a><br>
<a href="https://admin.opendatani.gov.uk/user/gladiator-2-es-14" target="_blank" rel="noopener"><span data-position="2090" data-size="54">https://admin.opendatani.gov.uk/user/gladiator-2-es-14</span></a><br>
<a href="https://yiijima.sakura.ne.jp/wiki/e01/?cbfdyyths" target="_blank" rel="noopener"><span data-position="2145" data-size="48">https://yiijima.sakura.ne.jp/wiki/e01/?cbfdyyths</span></a><br>
<a href="https://opendata.liberec.cz/en/user/cbdguu6r" target="_blank" rel="noopener"><span data-position="2194" data-size="44">https://opendata.liberec.cz/en/user/cbdguu6r</span></a><br>
<a href="https://www.egr.msu.edu/nextgen/wiki/index.php/5ghnccjgjc" target="_blank" rel="noopener"><span data-position="2239" data-size="57">https://www.egr.msu.edu/nextgen/wiki/index.php/5ghnccjgjc</span></a><br>
<a href="https://www.websitecarbon.com/website/egr-msu-edu-nextgen-wiki-index-php-5ghnccjgjc/" target="_blank" rel="noopener"><span data-position="2297" data-size="84">https://www.websitecarbon.com/website/egr-msu-edu-nextgen-wiki-index-php-5ghnccjgjc/</span></a><br>
<a href="https://www.ssplace.miami.edu/members/status/show?id=28954324%3AStatus%3A2192362" target="_blank" rel="noopener"><span data-position="2382" data-size="80">https://www.ssplace.miami.edu/members/status/show?id=28954324%3AStatus%3A2192362</span></a><br>
<a href="https://sloan.ucr.edu/members/status/show?id=28954304%3AStatus%3A1484167" target="_blank" rel="noopener"><span data-position="2463" data-size="72">https://sloan.ucr.edu/members/status/show?id=28954304%3AStatus%3A1484167</span></a><br>
<a href="https://educat.xtec.cat/members/status/show?id=28959444%3AStatus%3A342572" target="_blank" rel="noopener"><span data-position="2536" data-size="73">https://educat.xtec.cat/members/status/show?id=28959444%3AStatus%3A342572</span></a><br>
<a href="https://network.propertyweek.com/members/status/show?id=28959784%3AStatus%3A545492" target="_blank" rel="noopener"><span data-position="2610" data-size="82">https://network.propertyweek.com/members/status/show?id=28959784%3AStatus%3A545492</span></a><br>
<a href="https://zagspace.gonzaga.edu/members/status/show?id=28959764%3AStatus%3A204545" target="_blank" rel="noopener"><span data-position="2693" data-size="78">https://zagspace.gonzaga.edu/members/status/show?id=28959764%3AStatus%3A204545</span></a><br>
<a href="https://www.enaref.gov.bf/fr/node/1251567" target="_blank" rel="noopener"><span data-position="2772" data-size="41">https://www.enaref.gov.bf/fr/node/1251567</span></a><br>
<a href="https://web3devcommunity.com/topic/39574/0oaudihlkadh" target="_blank" rel="noopener"><span data-position="2814" data-size="53">https://web3devcommunity.com/topic/39574/0oaudihlkadh</span></a><br>
<a href="https://forum.thecodingcolosseum.com/topic/18919/0abakdgakaudy" target="_blank" rel="noopener"><span data-position="2868" data-size="62">https://forum.thecodingcolosseum.com/topic/18919/0abakdgakaudy</span></a><br>
<a href="https://forum.realdigital.org/d/276372-0aioyaouadkjadg" target="_blank" rel="noopener"><span data-position="2931" data-size="54">https://forum.realdigital.org/d/276372-0aioyaouadkjadg</span></a><br>
<a href="https://forum.instube.com/d/175611-8uaydkajdglakjgahkja" target="_blank" rel="noopener"><span data-position="2986" data-size="55">https://forum.instube.com/d/175611-8uaydkajdglakjgahkja</span></a><br>
<a href="https://playcode.io/2149564" target="_blank" rel="noopener"><span data-position="3042" data-size="27">https://playcode.io/2149564</span></a><br>
<a href="https://www.gmbinder.com/share/-OBoHbzAS18gJ4BwMghv" target="_blank" rel="noopener"><span data-position="3070" data-size="51">https://www.gmbinder.com/share/-OBoHbzAS18gJ4BwMghv</span></a><br>
<a href="https://jsfiddle.net/k4euh8dt/" target="_blank" rel="noopener"><span data-position="3122" data-size="30">https://jsfiddle.net/k4euh8dt/</span></a><br>
<a href="https://jsitor.com/r-kM3_hFgl" target="_blank" rel="noopener"><span data-position="3153" data-size="29">https://jsitor.com/r-kM3_hFgl</span></a><br>
<a href="https://paste.centos.org/view/038cff88" target="_blank" rel="noopener"><span data-position="3183" data-size="38">https://paste.centos.org/view/038cff88</span></a><br>
<a href="https://paste.ee/p/nzo9E" target="_blank" rel="noopener"><span data-position="3222" data-size="24">https://paste.ee/p/nzo9E</span></a><br>
<a href="https://pastebin.com/gnXHvhDt" target="_blank" rel="noopener"><span data-position="3247" data-size="29">https://pastebin.com/gnXHvhDt</span></a><br>
<a href="https://etextpad.com/uuywbiajm8" target="_blank" rel="noopener"><span data-position="3277" data-size="31">https://etextpad.com/uuywbiajm8</span></a><br>
<a href="https://yamcode.com/untitled-110272" target="_blank" rel="noopener"><span data-position="3309" data-size="35">https://yamcode.com/untitled-110272</span></a><br>
<a href="https://paste2.org/XaVyj7eY" target="_blank" rel="noopener"><span data-position="3345" data-size="27">https://paste2.org/XaVyj7eY</span></a><br>
<a href="https://paiza.io/projects/GXoDro79IlY8qqeriWPAog" target="_blank" rel="noopener"><span data-position="3373" data-size="48">https://paiza.io/projects/GXoDro79IlY8qqeriWPAog</span></a></p></div></div><div class="document-footer container-fluid hmd-pb-2 hidden-print"><div class="-mb-5 flex items-center justify-end text-right text-3 text-text-subtle"><span>Last changed by </span><span class="ui-lastchangeuser h-[18px]" data-profile="bh7fdhsd" data-placement="left" data-name="bh7fdhsd"><a class="ui-user-icon m-0 inline-block h-[18px] w-[18px] user-card-popover" target="_blank" href="https://hackmd.io/@bh7fdhsd" data-toggle="popover" style="background-image: url("https://www.gravatar.com/avatar/b423961066909df11f40ff7c4e2ec29f?s=96");" data-original-title="" title=""></a></span></div><hr class="my-[30px]"><div class="footer hmd-items-center flex flex-col-reverse gap-[25px] sm:flex-row sm:gap-0"><div class="block h-full flex-1"><div class="flex gap-3 text-text-subtle"><span class="flex items-center justify-center ui-owner" data-placement="top" data-profile="bh7fdhsd"> <a class="min-w-10 ui-user-icon m-0 inline-block h-10 w-10 user-card-popover" target="_blank" href="https://hackmd.io/@bh7fdhsd" data-toggle="popover" style="background-image: url("https://www.gravatar.com/avatar/b423961066909df11f40ff7c4e2ec29f?s=96");" data-original-title="" title=""></a></span><div class="flex max-w-[303px] flex-col items-start justify-center gap-1.5"><div class="w-full break-words"><a class="cursor-pointer text-normal font-semibold leading-normal text-text-emphasize hocus:text-link-text-hover hocus:underline ui-owner user-card-popover" data-placement="top" data-profile="bh7fdhsd" href="https://hackmd.io/@bh7fdhsd" data-toggle="popover" data-original-title="" title="">bh7fdhsd</a><div class="follow-button-container inline" data-signin="false"><span class="mx-1"><span class="mr-1">·</span><button class="bg-transparent border-none p-0 font-semibold text-text-subtle ui-signin">Follow</button></span></div></div><span class="w-full break-words text-sm text-text-subtle"></span></div></div></div><div class="footer__views"><div class="flex flex-col gap-2.5"><div class="flex flex-row justify-around gap-[7px]"><div class="community-button ui-comment-counts flex items-center justify-center gap-[5px] text-5 small" title="" data-toggle="tooltip" data-placement="top" data-offset="0,5" data-original-title="0 comments"><i class="ph-fill ph-chat-circle-dots"></i><span>0</span></div><a class="community-button hidden-xs small" title="" data-toggle="tooltip" data-placement="top" data-offset="0,5" type="button" href="#" data-original-title="Like"><i class="ph ph-heart"></i><span class="count"></span></a><div class="community-button ui-viewcount small" title="" data-toggle="tooltip" data-placement="top" data-offset="0,5" data-original-title="0 views"><i class="ph ph-eye"></i><span class="count">0</span></div><a class="community-button hidden-xs small" title="" data-toggle="tooltip" data-placement="top" data-offset="0,5" type="button" href="#" data-original-title="Bookmark"><i class="ph ph-bookmark-simple"></i></a></div></div></div></div><section id="notes-recommendations"></section><hr class="mt-7.5 mb-3.5"><div class="footer text-center text-sm leading-sm text-text-subtle"><span>Published on</span> <strong><a href="https://hackmd.io/" target="_blank"><img class="h-5 w-auto" src="https://hackmd.io/Logo.svg"> <span class="brand">HackMD</span></a></strong></div></div><div class="ui-community unselectable hidden-print hidden-xs" style="visibility: hidden; left: 14.8203px;"><a class="community-button hidden-xs small" title="" data-toggle="tooltip" data-placement="right" data-offset="0,5" type="button" href="#" data-original-title="Like"><i class="ph ph-heart"></i><span class="count"></span></a><a class="community-button hidden-xs small" title="" data-toggle="tooltip" data-placement="right" data-offset="0,5" type="button" href="#" data-original-title="Bookmark"><i class="ph ph-bookmark-simple"></i></a><a class="community-button hidden-xs small" href="#"><i class="ph ph-bell"></i></a></div><div class="ui-toc dropup unselectable hidden-print" style="left: 15px;"><div class="pull-left dropdown"><a id="tocLabel" class="ui-toc-label btn btn-default" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false" title="Table of content"><i class="fa fa-bars"></i></a><ul id="ui-toc" class="ui-toc-dropdown dropdown-menu" aria-labelledby="tocLabel"><div class="toc-menu"><a class="expand-toggle" href="#">Expand all</a><a class="back-to-top" href="#">Back to top</a><a class="go-to-bottom" href="#">Go to bottom</a></div></ul></div></div><div class="toc-placeholder hidden"></div><div id="ui-toc-affix" class="ui-affix-toc ui-toc-dropdown unselectable hidden-print" data-spy="affix" style="display: none;"><div class="toc-menu"><a class="expand-toggle" href="#">Expand all</a><a class="back-to-top" href="#">Back to top</a><a class="go-to-bottom" href="#">Go to bottom</a></div></div><div class="clearfix"></div><div id="floating-toolbar" class="relative md:fixed" style="display: none;"><div><a class="pointer-events-none fixed hidden" type="button" aria-haspopup="dialog" aria-expanded="true" aria-controls="radix-0" data-state="open"></a></div></div></div>
<!-- signin modal -->
<div class="modal fade signin-modal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true" theme="light">
<div class="modal-dialog">
<div class="modal-content">
<button type="button" class="close" data-dismiss="modal" aria-label="Close" style="margin-top: 10px; right: 20px; position: absolute;"><span aria-hidden="true">×</span></button>
<h3>Sign in</h3>
<form data-toggle="validator" role="form" class="form-horizontal" method="post" enctype="application/x-www-form-urlencoded" id="signin-form" novalidate="true">
<div class="hmd-dn"><input type="hidden" name="_csrf" value="GR7fQTO9-4bwkBmAKs17v8jbgnRp2bIiIEGs"></div>
<div class="hmd-dn"><input type="hidden" name="create_team" value="false"></div>
<div class="hmd-dn"><input type="hidden" name="create_paid_team" value="false"></div>
<div class="form-group ">
<label for="email" class="control-label">Email</label>
<label for="inputEmail" class="control-label pull-right errors">
</label>
<span class="help-block control-label with-errors pull-right" style="margin-top: 14px"></span>
<div class="input-block">
<input type="email" class="form-control" name="email" placeholder="Your email" required="" autocomplete="email">
<span class="error-sign"></span>
</div>
</div>
<div class="form-group ">
<label for="password" class="control-label">Password</label>
<label for="inputPassword" class="control-label pull-right errors">
</label>
<span class="help-block control-label with-errors pull-right" style="margin-top: 14px"></span>
<div class="input-block">
<input type="password" class="form-control" name="password" placeholder="Your password" required="" autocomplete="current-password" maxlength="128">
<span class="error-sign"></span>
<span class="control-label pull-right !text-normal !leading-normal !font-normal !mt-1.5"><a href="https://hackmd.io/settings/forgotPassword" style="text-decoration: underline;">Forgot password</a></span>
</div>
</div>
<div style="text-align: center; padding-top: 15px; margin-bottom: 0px;">
<div hidden="" id="hmd-captcha" data-provider="" data-captcha-data="" class="flex justify-center"></div>
<input type="submit" class="neo-btn neo-btn-primary !justify-center !py-3.5 !mx-auto disabled" formaction="https://hackmd.io/login" value="Sign in">
</div>
</form>
<p class="separator">or</p>
<p>By clicking below, you agree to our <a href="https://hackmd.io/s/terms" target="_blank">terms of service</a>.</p>
<script id="gsi-client" src="https://accounts.google.com/gsi/client" async="" defer="" nonce=""></script>
<script nonce="">
function handleCredentialResponse(response) {
const form = document.getElementById('sign-in-with-google-form')
form.children.credential.value = response.credential
form.children.method.value = location.href.toLowerCase() === 'https://hackmd.io/settings#general' ? 'merge' : 'login'
form.submit()
}
var GSI_READY = new Promise(function (resolve) {
function initialize () {
google.accounts.id.initialize({
client_id: '911617723593-drikdibvvn63slfd6kbqigo8ql1no55s.apps.googleusercontent.com',
callback: handleCredentialResponse
})
const loginPath = '/login'
const joinPath = '/join'
const renderButton = function () {
google.accounts.id.renderButton(
document.getElementById('sign-in-with-google-button'),
{ type: 'standard', width: 250 }
)
}
if (location.pathname.toLowerCase() === loginPath || location.pathname.toLowerCase() === joinPath) {
renderButton()
} else {
$('.signin-modal').one('shown.bs.modal', function () {
renderButton()
})
}
resolve()
}
window.addEventListener('load', function () { initialize() })
})
</script>
<form class="hidden" id="sign-in-with-google-form" action="/auth/google" method="post">
<input type="hidden" name="credential">
<input type="hidden" name="method">
</form>
<div class="social-buttons-container">
<div id="sign-in-with-google-button"></div>
<a href="https://hackmd.io/auth/facebook" class="btn btn-lg btn-block btn-social btn-facebook">
<i class="fa fa-facebook"></i> Sign in via Facebook
</a>
<a href="https://hackmd.io/auth/twitter" class="btn btn-lg btn-block btn-social btn-twitter">
<i class="fa fa-twitter"></i> Sign in via Twitter
</a>
<a href="https://hackmd.io/auth/github" class="btn btn-lg btn-block btn-social btn-github">
<i class="fa fa-github"></i> Sign in via GitHub
</a>
<a href="https://hackmd.io/auth/dropbox" class="btn btn-lg btn-block btn-social btn-dropbox">
<i class="fa fa-dropbox"></i> Sign in via Dropbox
</a>
<a href="#" class="bg-white btn btn-block btn-social btn-web3 bg-gray-800 hocus:bg-[#2b2b2b] text-white hocus:text-white">
<img src="https://hackmd.io/images/wallet.svg" style="max-height: 20px; margin-top: 8px; margin-left: 6px; border: none;">
<span class="sign-in-wallet-text">
Sign in with Wallet
</span>
<div class="inline-flex items-center justify-between w-full hidden web3-wallet-info">
<span>
Wallet
(
<span class="web3-wallet-address"></span>
)
</span>
<i class="fa fa-arrow-right" aria-hidden="true"></i>
</div>
</a>
<small class="web3-wallet-info hidden text-left hocus:text-white underline hocus:underline block pt-2 ui-disconnect-connected-wallets text-gray-600 cursor-pointer">
Connect another wallet
</small>
</div>
<div>
<p>New to HackMD? <a href="https://hackmd.io/join" class="plausible-event-name=LoginModalSignUp">Sign up</a></p>
</div>
</div>
</div>
</div>
<script src="https://www.googletagmanager.com/gtag/js?id=G-NGVZMM6DR6"></script>
<script nonce="">
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
let userid = (document.cookie.match('(^|; )userid=([^;]*)')||0)[2];
gtag('config', 'G-NGVZMM6DR6', {'user_id': userid});
</script>
<script src="https://browser.sentry-cdn.com/5.15.5/bundle.min.js" crossorigin="anonymous"></script>
<script nonce="">Sentry.init({ dsn: 'https://[email protected]/4', environment: 'production', integrations: function (intrus) { return intrus.filter(function (itr) { return itr.name !== 'TryCatch' }) } });</script>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KLW9Z3"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<script src="https://hackmd.io/api/i18n.js"></script><script id="" text="" charset="" type="text/javascript" src="https://tracks.hackmd.io/js/script.manual.js" nonce=""></script>
<script src="https://assets.hackmd.io/build/font-vendor.eaa8dd82d4e056021b8c.js" defer="defer"></script><script src="https://assets.hackmd.io/build/common-vendor.04da453a2a68f624f4d4.js" defer="defer"></script><script src="https://assets.hackmd.io/build/pretty-vendor.94ca39727118897623cd.js" defer="defer"></script><script src="https://assets.hackmd.io/build/pretty-common.e537850a918313f6b528.js" defer="defer"></script><script src="https://assets.hackmd.io/build/pretty.5eec358dde0d61c241e8.js" defer="defer"></script>
<div data-radix-popper-content-wrapper="" style="position: fixed; left: 0px; top: 0px; transform: translate(0px, 8px); min-width: max-content; z-index: 999; --radix-popper-available-width: 790px; --radix-popper-available-height: 592px; --radix-popper-anchor-width: 0px; --radix-popper-anchor-height: 0px; --radix-popper-transform-origin: 0% 0px;"><div data-side="bottom" data-align="start" data-state="open" role="dialog" id="radix-0" class="z-[999] rounded-lg border border-solid border-border-default bg-element-bg-default shadow-[0_3px_15px_0_#00000026] hidden" tabindex="-1" style="--radix-popover-content-transform-origin: var(--radix-popper-transform-origin); --radix-popover-content-available-width: var(--radix-popper-available-width); --radix-popover-content-available-height: var(--radix-popper-available-height); --radix-popover-trigger-width: var(--radix-popper-anchor-width); --radix-popover-trigger-height: var(--radix-popper-anchor-height);"><div class="ui-floating-toolbar-popover flex flex-row p-[7px]"><button class="rounded text-normal font-normal leading-normal flex bg-transparent text-text-default border border-solid border-transparent hocus:bg-element-bg-hover hocus:text-text-emphasize hover:border-element-bg-hover focus:shadow-[0_0_0_2px_#77777733] focus:border-element-border-hover disabled:bg-transparent disabled:hocus:bg-transparent disabled:hocus:border-transparent disabled:text-element-text-disabled disabled:hocus:text-element-text-disabled ui-selection-popover-comment ui-floating-toolbar-comment gap-1 p-[7px]" data-state="closed"><i class="inline-flex ph ph-chat-circle-dots" aria-hidden="true" style="width: 20px; height: 20px; font-size: 20px; line-height: 20px;"></i>Comment</button><button class="rounded text-normal font-normal leading-normal flex bg-transparent text-text-default border border-solid border-transparent hocus:bg-element-bg-hover hocus:text-text-emphasize hover:border-element-bg-hover focus:shadow-[0_0_0_2px_#77777733] focus:border-element-border-hover disabled:bg-transparent disabled:hocus:bg-transparent disabled:hocus:border-transparent disabled:text-element-text-disabled disabled:hocus:text-element-text-disabled ui-selection-popover-suggest-edit ui-floating-toolbar-suggest-edit p-[7px]" data-state="closed"><i class="inline-flex ph ph-pencil-simple-line" aria-hidden="true" style="width: 20px; height: 20px; font-size: 20px; line-height: 20px;"></i></button><span class="ml-1 flex border-0 border-l border-solid border-background-subtle pr-1"></span><button class="rounded text-normal font-normal leading-normal flex bg-transparent text-text-default border border-solid border-transparent hocus:bg-element-bg-hover hocus:text-text-emphasize hover:border-element-bg-hover focus:shadow-[0_0_0_2px_#77777733] focus:border-element-border-hover disabled:bg-transparent disabled:hocus:bg-transparent disabled:hocus:border-transparent disabled:text-element-text-disabled disabled:hocus:text-element-text-disabled ui-floating-toolbar-copy-link p-[7px]" data-state="closed"><i class="inline-flex ph ph-link" aria-hidden="true" style="width: 20px; height: 20px; font-size: 20px; line-height: 20px;"></i></button></div></div></div><div class="ReactModalPortal"></div><span data-radix-focus-guard="" tabindex="0" style="outline: none; opacity: 0; position: fixed; pointer-events: none;"></span>
<script id="" text="" charset="" type="text/javascript" src="https://tracks.hackmd.io/tracks.js" nonce=""></script><div class="ReactModalPortal"></div>
<div class="ReactModalPortal"></div><div class="ReactModalPortal"></div><div class="ReactModalPortal"></div></body><div><div class="react-joyride"></div></div><div></div></html>