- 扫描 ID:
- 243c747b-ef9d-4e15-8a39-09b2e5ca7fa4已完成
- 提交的 URL:
- https://hackmd.io/s/H1j9gufZye已重定向
- 报告完成时间:
链接 · 找到 67 个
从页面中识别出的传出链接
链接 | 文本 |
---|---|
https://s3.amazonaws.com/arena-attachments/31880129/98cb4bc590451835f7c6f93c3e72fdd4.pdf | https://s3.amazonaws.com/arena-attachments/31880129/98cb4bc590451835f7c6f93c3e72fdd4.pdf |
https://s3.amazonaws.com/arena-attachments/31880127/cdf9ecab2fb0b665960c621d870211d5.pdf | https://s3.amazonaws.com/arena-attachments/31880127/cdf9ecab2fb0b665960c621d870211d5.pdf |
https://s3.amazonaws.com/arena-attachments/31880128/0ce14b27c887de84cc7c4466ba4215d3.pdf | https://s3.amazonaws.com/arena-attachments/31880128/0ce14b27c887de84cc7c4466ba4215d3.pdf |
https://s3.amazonaws.com/arena-attachments/31880126/c2c9436770f63b4fa683a57ba89b600b.pdf | https://s3.amazonaws.com/arena-attachments/31880126/c2c9436770f63b4fa683a57ba89b600b.pdf |
https://s3.amazonaws.com/arena-attachments/31880125/120fd4ec906941b9e78e20f6578764b5.pdf | https://s3.amazonaws.com/arena-attachments/31880125/120fd4ec906941b9e78e20f6578764b5.pdf |
https://s3.amazonaws.com/arena-attachments/31880124/d02d003dbab630fd81a64741a7158d04.pdf | https://s3.amazonaws.com/arena-attachments/31880124/d02d003dbab630fd81a64741a7158d04.pdf |
https://s3.amazonaws.com/arena-attachments/31880123/5dfe7c2d02d192da21c272956a4ccc6b.pdf | https://s3.amazonaws.com/arena-attachments/31880123/5dfe7c2d02d192da21c272956a4ccc6b.pdf |
https://s3.amazonaws.com/arena-attachments/31880122/03584627c19bcf6d295af02d0b1af12f.pdf | https://s3.amazonaws.com/arena-attachments/31880122/03584627c19bcf6d295af02d0b1af12f.pdf |
https://s3.amazonaws.com/arena-attachments/31880121/ac6c2fcb8f18033a0b9ecb8f741f0c20.pdf | https://s3.amazonaws.com/arena-attachments/31880121/ac6c2fcb8f18033a0b9ecb8f741f0c20.pdf |
https://s3.amazonaws.com/arena-attachments/31880120/6e91fd73af230cb40366fe4a9525267d.pdf | https://s3.amazonaws.com/arena-attachments/31880120/6e91fd73af230cb40366fe4a9525267d.pdf |
JavaScript 变量 · 找到 160 个
在页面窗口对象上加载的全局 JavaScript 变量是在函数外部声明的变量,可以从当前范围内的代码中的任何位置访问
名称 | 类型 |
---|---|
onbeforetoggle | object |
documentPictureInPicture | object |
onscrollend | object |
domain | string |
urlpath | string |
debug | boolean |
version | string |
brand | string |
NOTE_ID | string |
GOOGLE_DRIVE_API_KEY | string |
控制台日志消息 · 找到 0 条
记录到 Web 控制台的消息
HTML
页面的原始 HTML 正文
<!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="JEBxc3jt-32XSw0l-RrOINrnrF3hx-kz5VU0">
<meta name="description" content="https://s3.amazonaws.com/arena-attachments/31880129/98cb4bc590451835f7c6f93c3e72fdd4.pdf https://s3.">
<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 = 'SWwRKrylTESwDZQiVpBNpQ'
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%20Glover%22%7D'
window.VERSION_TIME = '1730474145333'
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"
</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://www.gravatar.com/avatar/b423961066909df11f40ff7c4e2ec29f?s=400">
<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://s3.amazonaws.com/arena-attachments/31880129/98cb4bc590451835f7c6f93c3e72fdd4.pdf https://s3.">
<meta property="og:image" content="https://www.gravatar.com/avatar/b423961066909df11f40ff7c4e2ec29f?s=400">
<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://s3.amazonaws.com/arena-attachments/31880129/98cb4bc590451835f7c6f93c3e72fdd4.pdf https://s3.">
<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.39da5e463652983376e4.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":1730474130622,"updateTime":1730474145333,"vcsSyncMode":"github","vcsProviderName":"GitHub","canEdit":false,"hardBreaks":true,"onlyOwnerCanEdit":true,"isCommentEnabled":true,"likedCount":0,"isNotificationEnabled":true,"notificationType":"never","hasEmail":false,"canWriteComment":false,"viewCount":2,"markdown":"https%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880129%2F98cb4bc590451835f7c6f93c3e72fdd4.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880127%2Fcdf9ecab2fb0b665960c621d870211d5.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880128%2F0ce14b27c887de84cc7c4466ba4215d3.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880126%2Fc2c9436770f63b4fa683a57ba89b600b.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880125%2F120fd4ec906941b9e78e20f6578764b5.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880124%2Fd02d003dbab630fd81a64741a7158d04.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880123%2F5dfe7c2d02d192da21c272956a4ccc6b.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880122%2F03584627c19bcf6d295af02d0b1af12f.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880121%2Fac6c2fcb8f18033a0b9ecb8f741f0c20.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880120%2F6e91fd73af230cb40366fe4a9525267d.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880119%2F3e653da9031b4d05313cc11b3c60eb94.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880118%2Fc4dde534a1eb73d6246840bfac674fec.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880117%2Fb48b1d4bdd13e13a3aa2b9a1cde80b51.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880116%2F214978af2810d94ec6474f9ffc520820.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880134%2F02fb7cfb75e86d4d2006d4b09a04a2cd.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880133%2F18111bdf42d03b209cda9b9ffbf7687d.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880132%2F2e7bdf4efd2f740050eaa00e3ae810ee.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880131%2F6bbb3cd35ab21adfbec29e821e8cb203.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880130%2F092ff6f009ef6e7d9356c0c2f13b788e.pdf%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Farena-attachments%2F31880115%2F4f9a5b2471c3b6a87948f4438c7cc678.pdf%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F8f36dfa513a43d33a6cb7174c57e4e78%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Ffd8e5fed-de02-42e8-ac59-1a1da24ae390%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F1e9f82b0a9a3bfd161e984c5551110ee%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F056108e3-4ea5-4a36-af16-e9aed987fa84%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F915cf1466452c7518ebc8dbdd4fd6681%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F7091013f-72bb-4ed6-ad5e-5b752cec7718%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2Ff54b68db9f20bb407febf2e988a49067%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Fa53a4706-986b-46fd-a74d-9a4a898ea49a%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F8cb33463d452f37a674ea120a656c870%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F17b8636e-9b98-4fc5-8dd0-4f2f26611cd0%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F767de898c19124bc771b5e7a038d1354%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F036fbc62-11f0-4407-b513-16ff57d671ea%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2Fc93c485ad3f1132e24a14013dbb0d333%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F91a7f7c3-a0df-44a1-afc5-dab3ee7b5a18%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F258eca21a4dc3115ddc6fdb28ee0ea0a%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Fc0924105-13a8-4063-9c57-dd82b713464e%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F09be2dd663221949292e3f2beb26718d%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F04c5bebd-a7e3-49f3-ab6b-d069f1246ade%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2Fd909cdf99cfdb9a39b13b414591131b2%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Fde546c37-97d0-4524-86ce-2225e625efc3%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F3fa6ac1278987cd5da464c2b3004f6b3%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Fdc91a05d-1d54-4f93-a936-f8544cbc8582%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2Ff348b507212cb939eb7c87ec439131d5%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Fbd97f89a-6eb9-428a-9f7d-6adafd277dbf%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2Ffa02d89311a5a49f993a6a94068c904a%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F4b89cd2f-ec88-43fc-ad74-14ecbd58d95d%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F11c5268b0ff9312a5084306d69ffe084%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F7b47bbb7-cfb3-4ec5-8117-7bb7d375b687%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F152a811c92a8eb58174a74b1d6881901%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F6371b81a-7824-422b-bbc0-ca33d7c13559%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2Fc103c60bacbe5301c3f26cdc626fa914%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F5ff52b8b-af37-4f6f-a984-9158f5fcd732%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F19190a11c444dad64964c0e9e1a397a6%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F593b4b1e-d4a7-4ab8-b7c4-206a023d501f%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F5108a33a3e675cd754d2762d95649d32%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F6e711b58-3425-4aaa-8129-a144b08ffac8%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F3faa0627f2cd27f59e304b01fed1c6ff%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F43baab4e-f4df-44dc-8c17-57d6326899d9%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F9a91d818790f25e34ff7c2021f0c1a8e%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F2f1a31dd-ded3-43d5-9c5b-93e4e018c119%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F845770d07d4c71771561e125449a5503%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F1bb26a68-b797-43c6-8b7e-b16c6e05ae03%2Fdom%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F46134fedd47e1d44eff456b12d8df62f%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2F117e055a-5468-4cda-bafb-08ffceda7736%2Fdom%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2F7fd182b7016265eb19aa777200933026%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Fc1931b7c-07f3-4edf-9a59-177dd14f8edf%2Fdom%0Ahttps%3A%2F%2Fpaiza.io%2Fprojects%2FopzCYuJaCNWhiZZIJStIAQ","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></style><link rel="stylesheet" type="text/css" href="https://assets.hackmd.io/build/fretboard.7a98c97ae43fb8ca354b.css"><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><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">
<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-1" 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-0" 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="Fri, Nov 1, 2024 3:15 PM">Nov 1, 2024</span></span><span class="ui-lastchange" data-createtime="1730474130622" data-updatetime="1730474145333"></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="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-2" 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="67" data-position="0" data-size="0"><a href="https://s3.amazonaws.com/arena-attachments/31880129/98cb4bc590451835f7c6f93c3e72fdd4.pdf" target="_blank" rel="noopener"><span data-position="0" data-size="88">https://s3.amazonaws.com/arena-attachments/31880129/98cb4bc590451835f7c6f93c3e72fdd4.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880127/cdf9ecab2fb0b665960c621d870211d5.pdf" target="_blank" rel="noopener"><span data-position="89" data-size="88">https://s3.amazonaws.com/arena-attachments/31880127/cdf9ecab2fb0b665960c621d870211d5.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880128/0ce14b27c887de84cc7c4466ba4215d3.pdf" target="_blank" rel="noopener"><span data-position="178" data-size="88">https://s3.amazonaws.com/arena-attachments/31880128/0ce14b27c887de84cc7c4466ba4215d3.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880126/c2c9436770f63b4fa683a57ba89b600b.pdf" target="_blank" rel="noopener"><span data-position="267" data-size="88">https://s3.amazonaws.com/arena-attachments/31880126/c2c9436770f63b4fa683a57ba89b600b.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880125/120fd4ec906941b9e78e20f6578764b5.pdf" target="_blank" rel="noopener"><span data-position="356" data-size="88">https://s3.amazonaws.com/arena-attachments/31880125/120fd4ec906941b9e78e20f6578764b5.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880124/d02d003dbab630fd81a64741a7158d04.pdf" target="_blank" rel="noopener"><span data-position="445" data-size="88">https://s3.amazonaws.com/arena-attachments/31880124/d02d003dbab630fd81a64741a7158d04.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880123/5dfe7c2d02d192da21c272956a4ccc6b.pdf" target="_blank" rel="noopener"><span data-position="534" data-size="88">https://s3.amazonaws.com/arena-attachments/31880123/5dfe7c2d02d192da21c272956a4ccc6b.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880122/03584627c19bcf6d295af02d0b1af12f.pdf" target="_blank" rel="noopener"><span data-position="623" data-size="88">https://s3.amazonaws.com/arena-attachments/31880122/03584627c19bcf6d295af02d0b1af12f.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880121/ac6c2fcb8f18033a0b9ecb8f741f0c20.pdf" target="_blank" rel="noopener"><span data-position="712" data-size="88">https://s3.amazonaws.com/arena-attachments/31880121/ac6c2fcb8f18033a0b9ecb8f741f0c20.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880120/6e91fd73af230cb40366fe4a9525267d.pdf" target="_blank" rel="noopener"><span data-position="801" data-size="88">https://s3.amazonaws.com/arena-attachments/31880120/6e91fd73af230cb40366fe4a9525267d.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880119/3e653da9031b4d05313cc11b3c60eb94.pdf" target="_blank" rel="noopener"><span data-position="890" data-size="88">https://s3.amazonaws.com/arena-attachments/31880119/3e653da9031b4d05313cc11b3c60eb94.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880118/c4dde534a1eb73d6246840bfac674fec.pdf" target="_blank" rel="noopener"><span data-position="979" data-size="88">https://s3.amazonaws.com/arena-attachments/31880118/c4dde534a1eb73d6246840bfac674fec.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880117/b48b1d4bdd13e13a3aa2b9a1cde80b51.pdf" target="_blank" rel="noopener"><span data-position="1068" data-size="88">https://s3.amazonaws.com/arena-attachments/31880117/b48b1d4bdd13e13a3aa2b9a1cde80b51.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880116/214978af2810d94ec6474f9ffc520820.pdf" target="_blank" rel="noopener"><span data-position="1157" data-size="88">https://s3.amazonaws.com/arena-attachments/31880116/214978af2810d94ec6474f9ffc520820.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880134/02fb7cfb75e86d4d2006d4b09a04a2cd.pdf" target="_blank" rel="noopener"><span data-position="1246" data-size="88">https://s3.amazonaws.com/arena-attachments/31880134/02fb7cfb75e86d4d2006d4b09a04a2cd.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880133/18111bdf42d03b209cda9b9ffbf7687d.pdf" target="_blank" rel="noopener"><span data-position="1335" data-size="88">https://s3.amazonaws.com/arena-attachments/31880133/18111bdf42d03b209cda9b9ffbf7687d.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880132/2e7bdf4efd2f740050eaa00e3ae810ee.pdf" target="_blank" rel="noopener"><span data-position="1424" data-size="88">https://s3.amazonaws.com/arena-attachments/31880132/2e7bdf4efd2f740050eaa00e3ae810ee.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880131/6bbb3cd35ab21adfbec29e821e8cb203.pdf" target="_blank" rel="noopener"><span data-position="1513" data-size="88">https://s3.amazonaws.com/arena-attachments/31880131/6bbb3cd35ab21adfbec29e821e8cb203.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880130/092ff6f009ef6e7d9356c0c2f13b788e.pdf" target="_blank" rel="noopener"><span data-position="1602" data-size="88">https://s3.amazonaws.com/arena-attachments/31880130/092ff6f009ef6e7d9356c0c2f13b788e.pdf</span></a><br>
<a href="https://s3.amazonaws.com/arena-attachments/31880115/4f9a5b2471c3b6a87948f4438c7cc678.pdf" target="_blank" rel="noopener"><span data-position="1691" data-size="88">https://s3.amazonaws.com/arena-attachments/31880115/4f9a5b2471c3b6a87948f4438c7cc678.pdf</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/8f36dfa513a43d33a6cb7174c57e4e78" target="_blank" rel="noopener"><span data-position="1780" data-size="65">https://www.bibsonomy.org/bibtex/8f36dfa513a43d33a6cb7174c57e4e78</span></a><br>
<a href="https://radar.cloudflare.com/scan/fd8e5fed-de02-42e8-ac59-1a1da24ae390" target="_blank" rel="noopener"><span data-position="1846" data-size="70">https://radar.cloudflare.com/scan/fd8e5fed-de02-42e8-ac59-1a1da24ae390</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/1e9f82b0a9a3bfd161e984c5551110ee" target="_blank" rel="noopener"><span data-position="1917" data-size="65">https://www.bibsonomy.org/bibtex/1e9f82b0a9a3bfd161e984c5551110ee</span></a><br>
<a href="https://radar.cloudflare.com/scan/056108e3-4ea5-4a36-af16-e9aed987fa84" target="_blank" rel="noopener"><span data-position="1983" data-size="70">https://radar.cloudflare.com/scan/056108e3-4ea5-4a36-af16-e9aed987fa84</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/915cf1466452c7518ebc8dbdd4fd6681" target="_blank" rel="noopener"><span data-position="2054" data-size="65">https://www.bibsonomy.org/bibtex/915cf1466452c7518ebc8dbdd4fd6681</span></a><br>
<a href="https://radar.cloudflare.com/scan/7091013f-72bb-4ed6-ad5e-5b752cec7718" target="_blank" rel="noopener"><span data-position="2120" data-size="70">https://radar.cloudflare.com/scan/7091013f-72bb-4ed6-ad5e-5b752cec7718</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/f54b68db9f20bb407febf2e988a49067" target="_blank" rel="noopener"><span data-position="2191" data-size="65">https://www.bibsonomy.org/bibtex/f54b68db9f20bb407febf2e988a49067</span></a><br>
<a href="https://radar.cloudflare.com/scan/a53a4706-986b-46fd-a74d-9a4a898ea49a" target="_blank" rel="noopener"><span data-position="2257" data-size="70">https://radar.cloudflare.com/scan/a53a4706-986b-46fd-a74d-9a4a898ea49a</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/8cb33463d452f37a674ea120a656c870" target="_blank" rel="noopener"><span data-position="2328" data-size="65">https://www.bibsonomy.org/bibtex/8cb33463d452f37a674ea120a656c870</span></a><br>
<a href="https://radar.cloudflare.com/scan/17b8636e-9b98-4fc5-8dd0-4f2f26611cd0" target="_blank" rel="noopener"><span data-position="2394" data-size="70">https://radar.cloudflare.com/scan/17b8636e-9b98-4fc5-8dd0-4f2f26611cd0</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/767de898c19124bc771b5e7a038d1354" target="_blank" rel="noopener"><span data-position="2465" data-size="65">https://www.bibsonomy.org/bibtex/767de898c19124bc771b5e7a038d1354</span></a><br>
<a href="https://radar.cloudflare.com/scan/036fbc62-11f0-4407-b513-16ff57d671ea" target="_blank" rel="noopener"><span data-position="2531" data-size="70">https://radar.cloudflare.com/scan/036fbc62-11f0-4407-b513-16ff57d671ea</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/c93c485ad3f1132e24a14013dbb0d333" target="_blank" rel="noopener"><span data-position="2602" data-size="65">https://www.bibsonomy.org/bibtex/c93c485ad3f1132e24a14013dbb0d333</span></a><br>
<a href="https://radar.cloudflare.com/scan/91a7f7c3-a0df-44a1-afc5-dab3ee7b5a18" target="_blank" rel="noopener"><span data-position="2668" data-size="70">https://radar.cloudflare.com/scan/91a7f7c3-a0df-44a1-afc5-dab3ee7b5a18</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/258eca21a4dc3115ddc6fdb28ee0ea0a" target="_blank" rel="noopener"><span data-position="2739" data-size="65">https://www.bibsonomy.org/bibtex/258eca21a4dc3115ddc6fdb28ee0ea0a</span></a><br>
<a href="https://radar.cloudflare.com/scan/c0924105-13a8-4063-9c57-dd82b713464e" target="_blank" rel="noopener"><span data-position="2805" data-size="70">https://radar.cloudflare.com/scan/c0924105-13a8-4063-9c57-dd82b713464e</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/09be2dd663221949292e3f2beb26718d" target="_blank" rel="noopener"><span data-position="2876" data-size="65">https://www.bibsonomy.org/bibtex/09be2dd663221949292e3f2beb26718d</span></a><br>
<a href="https://radar.cloudflare.com/scan/04c5bebd-a7e3-49f3-ab6b-d069f1246ade" target="_blank" rel="noopener"><span data-position="2942" data-size="70">https://radar.cloudflare.com/scan/04c5bebd-a7e3-49f3-ab6b-d069f1246ade</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/d909cdf99cfdb9a39b13b414591131b2" target="_blank" rel="noopener"><span data-position="3013" data-size="65">https://www.bibsonomy.org/bibtex/d909cdf99cfdb9a39b13b414591131b2</span></a><br>
<a href="https://radar.cloudflare.com/scan/de546c37-97d0-4524-86ce-2225e625efc3" target="_blank" rel="noopener"><span data-position="3079" data-size="70">https://radar.cloudflare.com/scan/de546c37-97d0-4524-86ce-2225e625efc3</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/3fa6ac1278987cd5da464c2b3004f6b3" target="_blank" rel="noopener"><span data-position="3150" data-size="65">https://www.bibsonomy.org/bibtex/3fa6ac1278987cd5da464c2b3004f6b3</span></a><br>
<a href="https://radar.cloudflare.com/scan/dc91a05d-1d54-4f93-a936-f8544cbc8582" target="_blank" rel="noopener"><span data-position="3216" data-size="70">https://radar.cloudflare.com/scan/dc91a05d-1d54-4f93-a936-f8544cbc8582</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/f348b507212cb939eb7c87ec439131d5" target="_blank" rel="noopener"><span data-position="3287" data-size="65">https://www.bibsonomy.org/bibtex/f348b507212cb939eb7c87ec439131d5</span></a><br>
<a href="https://radar.cloudflare.com/scan/bd97f89a-6eb9-428a-9f7d-6adafd277dbf" target="_blank" rel="noopener"><span data-position="3353" data-size="70">https://radar.cloudflare.com/scan/bd97f89a-6eb9-428a-9f7d-6adafd277dbf</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/fa02d89311a5a49f993a6a94068c904a" target="_blank" rel="noopener"><span data-position="3424" data-size="65">https://www.bibsonomy.org/bibtex/fa02d89311a5a49f993a6a94068c904a</span></a><br>
<a href="https://radar.cloudflare.com/scan/4b89cd2f-ec88-43fc-ad74-14ecbd58d95d" target="_blank" rel="noopener"><span data-position="3490" data-size="70">https://radar.cloudflare.com/scan/4b89cd2f-ec88-43fc-ad74-14ecbd58d95d</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/11c5268b0ff9312a5084306d69ffe084" target="_blank" rel="noopener"><span data-position="3561" data-size="65">https://www.bibsonomy.org/bibtex/11c5268b0ff9312a5084306d69ffe084</span></a><br>
<a href="https://radar.cloudflare.com/scan/7b47bbb7-cfb3-4ec5-8117-7bb7d375b687" target="_blank" rel="noopener"><span data-position="3627" data-size="70">https://radar.cloudflare.com/scan/7b47bbb7-cfb3-4ec5-8117-7bb7d375b687</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/152a811c92a8eb58174a74b1d6881901" target="_blank" rel="noopener"><span data-position="3698" data-size="65">https://www.bibsonomy.org/bibtex/152a811c92a8eb58174a74b1d6881901</span></a><br>
<a href="https://radar.cloudflare.com/scan/6371b81a-7824-422b-bbc0-ca33d7c13559" target="_blank" rel="noopener"><span data-position="3764" data-size="70">https://radar.cloudflare.com/scan/6371b81a-7824-422b-bbc0-ca33d7c13559</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/c103c60bacbe5301c3f26cdc626fa914" target="_blank" rel="noopener"><span data-position="3835" data-size="65">https://www.bibsonomy.org/bibtex/c103c60bacbe5301c3f26cdc626fa914</span></a><br>
<a href="https://radar.cloudflare.com/scan/5ff52b8b-af37-4f6f-a984-9158f5fcd732" target="_blank" rel="noopener"><span data-position="3901" data-size="70">https://radar.cloudflare.com/scan/5ff52b8b-af37-4f6f-a984-9158f5fcd732</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/19190a11c444dad64964c0e9e1a397a6" target="_blank" rel="noopener"><span data-position="3972" data-size="65">https://www.bibsonomy.org/bibtex/19190a11c444dad64964c0e9e1a397a6</span></a><br>
<a href="https://radar.cloudflare.com/scan/593b4b1e-d4a7-4ab8-b7c4-206a023d501f" target="_blank" rel="noopener"><span data-position="4038" data-size="70">https://radar.cloudflare.com/scan/593b4b1e-d4a7-4ab8-b7c4-206a023d501f</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/5108a33a3e675cd754d2762d95649d32" target="_blank" rel="noopener"><span data-position="4109" data-size="65">https://www.bibsonomy.org/bibtex/5108a33a3e675cd754d2762d95649d32</span></a><br>
<a href="https://radar.cloudflare.com/scan/6e711b58-3425-4aaa-8129-a144b08ffac8" target="_blank" rel="noopener"><span data-position="4175" data-size="70">https://radar.cloudflare.com/scan/6e711b58-3425-4aaa-8129-a144b08ffac8</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/3faa0627f2cd27f59e304b01fed1c6ff" target="_blank" rel="noopener"><span data-position="4246" data-size="65">https://www.bibsonomy.org/bibtex/3faa0627f2cd27f59e304b01fed1c6ff</span></a><br>
<a href="https://radar.cloudflare.com/scan/43baab4e-f4df-44dc-8c17-57d6326899d9" target="_blank" rel="noopener"><span data-position="4312" data-size="70">https://radar.cloudflare.com/scan/43baab4e-f4df-44dc-8c17-57d6326899d9</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/9a91d818790f25e34ff7c2021f0c1a8e" target="_blank" rel="noopener"><span data-position="4383" data-size="65">https://www.bibsonomy.org/bibtex/9a91d818790f25e34ff7c2021f0c1a8e</span></a><br>
<a href="https://radar.cloudflare.com/scan/2f1a31dd-ded3-43d5-9c5b-93e4e018c119" target="_blank" rel="noopener"><span data-position="4449" data-size="70">https://radar.cloudflare.com/scan/2f1a31dd-ded3-43d5-9c5b-93e4e018c119</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/845770d07d4c71771561e125449a5503" target="_blank" rel="noopener"><span data-position="4520" data-size="65">https://www.bibsonomy.org/bibtex/845770d07d4c71771561e125449a5503</span></a><br>
<a href="https://radar.cloudflare.com/scan/1bb26a68-b797-43c6-8b7e-b16c6e05ae03/dom" target="_blank" rel="noopener"><span data-position="4586" data-size="74">https://radar.cloudflare.com/scan/1bb26a68-b797-43c6-8b7e-b16c6e05ae03/dom</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/46134fedd47e1d44eff456b12d8df62f" target="_blank" rel="noopener"><span data-position="4661" data-size="65">https://www.bibsonomy.org/bibtex/46134fedd47e1d44eff456b12d8df62f</span></a><br>
<a href="https://radar.cloudflare.com/scan/117e055a-5468-4cda-bafb-08ffceda7736/dom" target="_blank" rel="noopener"><span data-position="4727" data-size="74">https://radar.cloudflare.com/scan/117e055a-5468-4cda-bafb-08ffceda7736/dom</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/7fd182b7016265eb19aa777200933026" target="_blank" rel="noopener"><span data-position="4802" data-size="65">https://www.bibsonomy.org/bibtex/7fd182b7016265eb19aa777200933026</span></a><br>
<a href="https://radar.cloudflare.com/scan/c1931b7c-07f3-4edf-9a59-177dd14f8edf/dom" target="_blank" rel="noopener"><span data-position="4868" data-size="74">https://radar.cloudflare.com/scan/c1931b7c-07f3-4edf-9a59-177dd14f8edf/dom</span></a><br>
<a href="https://paiza.io/projects/opzCYuJaCNWhiZZIJStIAQ" target="_blank" rel="noopener"><span data-position="4943" data-size="48">https://paiza.io/projects/opzCYuJaCNWhiZZIJStIAQ</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="2 views"><i class="ph ph-eye"></i><span class="count">2</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>
<!-- 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="JEBxc3jt-32XSw0l-RrOINrnrF3hx-kz5VU0"></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 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.5c453ae0ddb0114022c9.js" defer="defer"></script>
<script id="" text="" charset="" type="text/javascript" src="https://tracks.hackmd.io/js/script.manual.js" nonce=""></script><div class="ReactModalPortal"></div>
<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 id="toasts-container" class="toasts-container"><div><div class="pointer-events-auto ml-auto mr-auto flex w-fit flex-col justify-end"></div></div></div>
</body><div><div class="react-joyride"></div></div></html>