https://hackmd.io/@bh7fdhsd/HkChjbzW1l?type=view

ID da verificação
90f0b4e5-1d88-4fef-b23e-06caee6c0707Concluído
URL enviado:
https://hackmd.io/s/HkChjbzW1lRedirecionado
Relatório concluído:
LinkTexto
https://www.bibsonomy.org/bibtex/2836783d21b1755a09b4f176b7bb9d29https://www.bibsonomy.org/bibtex/2836783d21b1755a09b4f176b7bb9d29
https://www.cornsnakes.com/forums/threads/introduction-to-chatgpt-search-feature.156804/https://www.cornsnakes.com/forums/threads/introduction-to-chatgpt-search-feature.156804/
https://radar.cloudflare.com/scan/f32c48be-65a1-46db-9563-8f51adf5136e/domhttps://radar.cloudflare.com/scan/f32c48be-65a1-46db-9563-8f51adf5136e/dom
https://s3.amazonaws.com/microsite-prod/media/editor/317/netflix-close-aaa.htmlhttps://s3.amazonaws.com/microsite-prod/media/editor/317/netflix-close-aaa.html
https://www.bibsonomy.org/bibtex/e605b7ac5f25ff7f88cc7bebf9c5deedhttps://www.bibsonomy.org/bibtex/e605b7ac5f25ff7f88cc7bebf9c5deed
https://radar.cloudflare.com/scan/bb6b02e1-0077-4166-aedc-0531ec719a40/domhttps://radar.cloudflare.com/scan/bb6b02e1-0077-4166-aedc-0531ec719a40/dom
https://paiza.io/projects/GROwGppQLkewPoodW0at1Ahttps://paiza.io/projects/GROwGppQLkewPoodW0at1A
https://pastelink.net/y9lmx12phttps://pastelink.net/y9lmx12p
https://glot.io/snippets/h1e4zh2ndohttps://glot.io/snippets/h1e4zh2ndo
https://www.wowace.com/paste/2b72a4b2https://www.wowace.com/paste/2b72a4b2

Variáveis JavaScript · 160 encontrada(s)

NomeTipo
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject
domainstring
urlpathstring
debugboolean
versionstring
brandstring
NOTE_IDstring
GOOGLE_DRIVE_API_KEYstring

Mensagens de registro do console · 0 encontrada(s)

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="mYbohVIy-oiKWYry3QlJ8ssR7yerzV6RWQUY">
    
    
    <meta name="description" content="https://www.bibsonomy.org/bibtex/2836783d21b1755a09b4f176b7bb9d29https://www.cornsnakes.com/forums/threads/introduction-to-chatgpt-search-feature.156804/https://radar.cloudflare.com/scan/f32c48be-65a1-46db-9563-8f51adf5136e/domhttps://s3.amazonaws.com/microsite-prod/media/editor/317/netflix-close-aaa.htmlhttps://www.bibsonomy.org/bibtex/e605b7ac5f25ff7f88cc7bebf9c5deedhttps://radar.cloudflare.com/scan/bb6b02e1-0077-4166-aedc-0531ec719a40/domhttps://paiza.io/projects/GROwGppQLkewPoodW0at1Ahttps://pastelink.net/y9lmx12phttps://glot.io/snippets/h1e4zh2ndohttps://www.wowace.com/paste/2b72a4b2https://paste.feed-the-beast.com/view/d22b0281">
    
    <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 = '-7dgN_tTSjmTa0RCcbsCiQ'
  

  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%20Clark%22%7D'
  

  
  window.VERSION_TIME = '1730448359518'
  

  
  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://www.bibsonomy.org/bibtex/2836783d21b1755a09b4f176b7bb9d29https://www.cornsnakes.com/forums/threads/introduction-to-chatgpt-search-feature.156804/https://radar.cloudflare.com/scan/f32c48be-65a1-46db-9563-8f51adf5136e/domhttps://s3.amazonaws.com/microsite-prod/media/editor/317/netflix-close-aaa.htmlhttps://www.bibsonomy.org/bibtex/e605b7ac5f25ff7f88cc7bebf9c5deedhttps://radar.cloudflare.com/scan/bb6b02e1-0077-4166-aedc-0531ec719a40/domhttps://paiza.io/projects/GROwGppQLkewPoodW0at1Ahttps://pastelink.net/y9lmx12phttps://glot.io/snippets/h1e4zh2ndohttps://www.wowace.com/paste/2b72a4b2https://paste.feed-the-beast.com/view/d22b0281">



    <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://www.bibsonomy.org/bibtex/2836783d21b1755a09b4f176b7bb9d29https://www.cornsnakes.com/forums/threads/introduction-to-chatgpt-search-feature.156804/https://radar.cloudflare.com/scan/f32c48be-65a1-46db-9563-8f51adf5136e/domhttps://s3.amazonaws.com/microsite-prod/media/editor/317/netflix-close-aaa.htmlhttps://www.bibsonomy.org/bibtex/e605b7ac5f25ff7f88cc7bebf9c5deedhttps://radar.cloudflare.com/scan/bb6b02e1-0077-4166-aedc-0531ec719a40/domhttps://paiza.io/projects/GROwGppQLkewPoodW0at1Ahttps://pastelink.net/y9lmx12phttps://glot.io/snippets/h1e4zh2ndohttps://www.wowace.com/paste/2b72a4b2https://paste.feed-the-beast.com/view/d22b0281">


     <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":1730448310334,"updateTime":1730448359518,"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%2Fwww.bibsonomy.org%2Fbibtex%2F2836783d21b1755a09b4f176b7bb9d29%0Ahttps%3A%2F%2Fwww.cornsnakes.com%2Fforums%2Fthreads%2Fintroduction-to-chatgpt-search-feature.156804%2F%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Ff32c48be-65a1-46db-9563-8f51adf5136e%2Fdom%0Ahttps%3A%2F%2Fs3.amazonaws.com%2Fmicrosite-prod%2Fmedia%2Feditor%2F317%2Fnetflix-close-aaa.html%0Ahttps%3A%2F%2Fwww.bibsonomy.org%2Fbibtex%2Fe605b7ac5f25ff7f88cc7bebf9c5deed%0Ahttps%3A%2F%2Fradar.cloudflare.com%2Fscan%2Fbb6b02e1-0077-4166-aedc-0531ec719a40%2Fdom%0Ahttps%3A%2F%2Fpaiza.io%2Fprojects%2FGROwGppQLkewPoodW0at1A%0Ahttps%3A%2F%2Fpastelink.net%2Fy9lmx12p%0Ahttps%3A%2F%2Fglot.io%2Fsnippets%2Fh1e4zh2ndo%0Ahttps%3A%2F%2Fwww.wowace.com%2Fpaste%2F2b72a4b2%0Ahttps%3A%2F%2Fpaste.feed-the-beast.com%2Fview%2Fd22b0281%0Ahttps%3A%2F%2Fwokwi.com%2Fprojects%2F413337649388197889","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">
    <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&amp;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(&quot;https://www.gravatar.com/avatar/b423961066909df11f40ff7c4e2ec29f?s=96&quot;);" 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 [&amp;_a]:text-text-subtle [&amp;_a]:hover:text-text-subtle"><div class="w-auto max-w-full break-words"><span class="ui-status-lastchange [&amp;_a]:text-link-text-default [&amp;_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 8:05 AM">Nov 1, 2024</span></span><span class="ui-lastchange" data-createtime="1730448310334" data-updatetime="1730448359518"></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 [&amp;_a]:text-text-subtle [&amp;_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 [&amp;>a]:text-link-text-default [&amp;>a]:underline [&amp;>a:hover]:text-link-text-hover [&amp;>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 [&amp;>.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="12" data-position="0" data-size="0"><a href="https://www.bibsonomy.org/bibtex/2836783d21b1755a09b4f176b7bb9d29" target="_blank" rel="noopener"><span data-position="0" data-size="65">https://www.bibsonomy.org/bibtex/2836783d21b1755a09b4f176b7bb9d29</span></a><br>
<a href="https://www.cornsnakes.com/forums/threads/introduction-to-chatgpt-search-feature.156804/" target="_blank" rel="noopener"><span data-position="66" data-size="88">https://www.cornsnakes.com/forums/threads/introduction-to-chatgpt-search-feature.156804/</span></a><br>
<a href="https://radar.cloudflare.com/scan/f32c48be-65a1-46db-9563-8f51adf5136e/dom" target="_blank" rel="noopener"><span data-position="155" data-size="74">https://radar.cloudflare.com/scan/f32c48be-65a1-46db-9563-8f51adf5136e/dom</span></a><br>
<a href="https://s3.amazonaws.com/microsite-prod/media/editor/317/netflix-close-aaa.html" target="_blank" rel="noopener"><span data-position="230" data-size="79">https://s3.amazonaws.com/microsite-prod/media/editor/317/netflix-close-aaa.html</span></a><br>
<a href="https://www.bibsonomy.org/bibtex/e605b7ac5f25ff7f88cc7bebf9c5deed" target="_blank" rel="noopener"><span data-position="310" data-size="65">https://www.bibsonomy.org/bibtex/e605b7ac5f25ff7f88cc7bebf9c5deed</span></a><br>
<a href="https://radar.cloudflare.com/scan/bb6b02e1-0077-4166-aedc-0531ec719a40/dom" target="_blank" rel="noopener"><span data-position="376" data-size="74">https://radar.cloudflare.com/scan/bb6b02e1-0077-4166-aedc-0531ec719a40/dom</span></a><br>
<a href="https://paiza.io/projects/GROwGppQLkewPoodW0at1A" target="_blank" rel="noopener"><span data-position="451" data-size="48">https://paiza.io/projects/GROwGppQLkewPoodW0at1A</span></a><br>
<a href="https://pastelink.net/y9lmx12p" target="_blank" rel="noopener"><span data-position="500" data-size="30">https://pastelink.net/y9lmx12p</span></a><br>
<a href="https://glot.io/snippets/h1e4zh2ndo" target="_blank" rel="noopener"><span data-position="531" data-size="35">https://glot.io/snippets/h1e4zh2ndo</span></a><br>
<a href="https://www.wowace.com/paste/2b72a4b2" target="_blank" rel="noopener"><span data-position="567" data-size="37">https://www.wowace.com/paste/2b72a4b2</span></a><br>
<a href="https://paste.feed-the-beast.com/view/d22b0281" target="_blank" rel="noopener"><span data-position="605" data-size="46">https://paste.feed-the-beast.com/view/d22b0281</span></a><br>
<a href="https://wokwi.com/projects/413337649388197889" target="_blank" rel="noopener"><span data-position="652" data-size="45">https://wokwi.com/projects/413337649388197889</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&nbsp;</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(&quot;https://www.gravatar.com/avatar/b423961066909df11f40ff7c4e2ec29f?s=96&quot;);" 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(&quot;https://www.gravatar.com/avatar/b423961066909df11f40ff7c4e2ec29f?s=96&quot;);" 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="mYbohVIy-oiKWYry3QlJ8ssR7yerzV6RWQUY"></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.5c453ae0ddb0114022c9.js" defer="defer"></script>

    




<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><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>