1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[27159],{29979:(e,t,s)=>{"use strict";s.d(t,{Dl:()=>i,FR:()=>l,JC:()=>u,Ws:()=>c,cW:()=>a,g6:()=>p,hu:()=>d,i:()=>m,pv:()=>o,yh:()=>h});var r=s(77313),n=s(81023);let i=e=>{try{return new URL(/^\/[^/]/.test(e)?`${r.A}${e}`:e)}catch{return null}},a=e=>new RegExp([/^(\/(([a-zA-Z0-9\-._~!$&'()*+,;=:@])|%[0-9a-fA-F]{2})*)*/,/(\?([a-zA-Z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-fA-F]{2})*)?/,/(#([a-zA-Z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-fA-F]{2})*)?$/].map(e=>e.source).join("")).test(e)&&!e.includes("//"),o=(e,t,s)=>`/community/${encodeURIComponent((0,n.A)(e))}/${encodeURIComponent(t)}${s?`?comment=${encodeURIComponent(s)}`:""}`,l=(e,t)=>`/community/${encodeURIComponent((0,n.A)(e))}/${encodeURIComponent(t)}/edit`,p=(e,t)=>`/community/${encodeURIComponent((0,n.A)(e))}/preview/${encodeURIComponent(t)}`,m=(e,t)=>`/community/admin/${encodeURIComponent((0,n.A)(e))}/${encodeURIComponent(t)}`,c=(e,t)=>`/community/admin/${encodeURIComponent((0,n.A)(e))}/${encodeURIComponent(t)}/edit`,d=(e,t,s)=>s&&"published"!==s?`/${encodeURIComponent(e)}/preview/${encodeURIComponent(t)}`:`/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,u=(e,t)=>`/community/admin/static_pages/${encodeURIComponent(e)}/${encodeURIComponent(t)}/edit`,h=(e,t)=>`/community/admin/posts/${encodeURIComponent(e)}/${encodeURIComponent(t)}/edit`},31167:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=e=>e.toString().normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/\W+/g,"-").replace(/--+/g,"-").replace(/(^-|-$)/g,"")},77313:(e,t,s)=>{"use strict";s.d(t,{A:()=>r});let r=(void 0!==s(40074)&&"https://www.digitalocean.com/"||"https://www.digitalocean.com").replace(/\/*$/,"")},81023:(e,t,s)=>{"use strict";s.d(t,{A:()=>n});let r=new Set(["/blog","developer center","developer-center","developer_center","flagged","/startups","/landing","/legal","/press","/security","/trust"]),n=e=>!e||"s"===e.slice(-1)||r.has(e.toLowerCase())?e:"y"===e.slice(-1)?`${e.slice(0,-1)}ies`:`${e}s`},84558:(e,t,s)=>{"use strict";s.d(t,{Ay:()=>u,gB:()=>d});var r=s(19),n=s(57100),i=s(71396),a=s(93932),o=s(36819);let l=(e,t)=>{e.core.ruler.before("inline","checkmark_lists",e=>{let t=[];e.tokens.forEach((s,r)=>{if(["bullet_list_open","ordered_list_open"].includes(s.type))t.push(s.type);else if(["bullet_list_close","ordered_list_close"].includes(s.type))t.pop();else if("list_item_open"===s.type&&"bullet_list_open"===t.at(-1)){let t=e.tokens[r+1],n=e.tokens[r+2];if(t?.type!=="paragraph_open"||n?.type!=="inline"||!/^\[check\](?:[ \t]+|$)/.test(n.content))return;s.attrSet("data-list-marker","check"),n.content=n.content.replace(/^\[check\](?:[ \t]+|$)/,"")}})}),e.inline.ruler.after("link","link_suffix",(e,t)=>{if(e.pending)return!1;let s=e.src.slice(e.pos).match(/^\{(text-link|new-tab)\}/)?.[0];if(!s)return!1;let r=e.tokens.at(-1);if(r?.type!=="link_close")return!1;let n=e.tokens.findLast(e=>"link_open"===e.type&&e.level===r.level);return!!n&&(t||("{text-link}"===s?n.attrSet("data-link-variant","text"):n.meta={...n.meta,newTab:!0}),e.pos+=s.length,!0)}),e.core.ruler.push("do_semantics",s=>{e.headings=[];let r=n=>{let i=[];n.forEach((a,l)=>{if(a.children&&r(a.children),a.meta?.doNormalized){a.meta.heading&&e.headings.push(a.meta.heading);return}if(a.meta={...a.meta,doNormalized:!0},"strong"===a.tag&&"__"===a.markup&&(a.tag="u",a.type=1===a.nesting?"underline_open":"underline_close"),"link_open"===a.type?("text-link"===a.attrGet("title")&&(a.attrs=a.attrs.filter(([e])=>"title"!==e),a.attrSet("data-link-variant","text")),a.attrs=Object.entries(t.link_attributes.attributes(Object.fromEntries(a.attrs||[]))),a.meta.newTab&&(a.attrSet("target","_blank"),a.attrGet("rel")?.split(/\s+/).includes("noopener")||a.attrJoin("rel","noopener")),i.push(a)):"link_close"===a.type&&(a.meta={...a.meta,textLink:i.pop()?.attrGet("data-link-variant")==="text"}),"image"===a.type&&a.attrSet("alt",e.renderer.renderInlineAsText(a.children||[],e.options,s.env)),"softbreak"===a.type&&(a.meta={...a.meta,break:s.md.options.breaks}
1),"heading_open"===a.type){let s=n[l+1],r=s.content,i=(s.children||[]).filter(e=>["text","code_inline"].includes(e.type)).map(e=>e.content).join(""),o=Number(a.tag.slice(1)),p=a.attrGet("id")||t.heading_id.sluggify(r);a.attrSet("id",p);let m={slug:p,content:r,text:i,level:o,rendered:""};e.headings.push(m),a.meta={...a.meta,heading:m,hashLink:!1!==t.heading_id.hashLink&&o<=3&&!!p}}if("fence"===a.type){let e={};[["environment","environment"],["secondary_label","secondaryLabel"],["label","label"]].forEach(([s,r])=>{let n=a.content.match(RegExp(`^((?:\\[.+\\]\\n)*?)\\[${s} (.+)\\]\\n`)),i=n?.[2].trim();!i||("environment"!==s||t.fence_environment.allowedEnvironments.includes(i))&&(e[r]=i,a.content=a.content.replace(n[0],n[1]))});let s=new Set(a.info.split(",")),r=["line_numbers","command","super_user"].find(e=>s.has(e))||[...s].find(e=>/^custom_prefix\((.+)\)$/.test(e));r&&(s.delete(r),e.prefixes=a.content.replace(/\n$/,"").split("\n").map((e,t)=>"line_numbers"===r?String(t+1):"command"===r?"$":"super_user"===r?"#":r.slice(14,-1).replace(/\\s/g," ")),e.prefixClass=r.startsWith("custom_prefix(")?"custom_prefix":r,"line_numbers"!==r&&s.add("bash")),e.language=[...s].map(e=>{let t=e.toLowerCase().trim();return o.languageAliases.get(t)||t}).find(e=>o.languages.has(e))||"",a.info=e.language,e.environment&&a.attrJoin("class",`environment-${e.environment}`),e.prefixClass&&a.attrJoin("class",`prefixed ${e.prefixClass}`),a.meta={...a.meta,fence:e}}})};r(s.tokens)}),e.renderer.rules.underline_open=(e,t,s,r,n)=>n.renderToken(e,t,s),e.renderer.rules.underline_close=e.renderer.rules.underline_open,e.renderer.rules.heading_open=(e,t,s,r,n)=>{let{heading:i}=e[t].meta;return i.rendered=n.renderInline(e[t+1].children||[],s,r),n.renderToken(e,t,s)},e.renderer.rules.heading_close=(t,s,r,n,i)=>{let a=t[s-2];return(a.meta.hashLink?`<a class="hash-anchor" href="#${e.utils.escapeHtml(a.attrGet("id"))}" aria-label="Link to this section"></a>`:"")+i.renderToken(t,s,r)},e.renderer.rules.link_close=(e,t,s,r,n)=>(e[t].meta?.textLink?'<span aria-hidden="true"> â</span>':"")+n.renderToken(e,t,s);let s=e.renderer.rules.fence;e.renderer.rules.fence=(t,r,n,i,a)=>{let{fence:o}=t[r].meta,l=s(t,r,n,i,a),p=l.indexOf("<code>")+6,m=l.lastIndexOf("</code>"),c=l.slice(p,m);if(o.prefixes&&(c=`<ol>${c.replace(/\n$/,"").split("\n").map((t,s)=>`<li data-prefix="${e.utils.escapeHtml(o.prefixes[s])}">${t} 2</li>`).join("")}</ol>`),o.secondaryLabel){let t=e.utils.escapeHtml(o.secondaryLabel);c=`<div class="secondary-code-label" title="${t}">${t}</div>${c}`}l=l.slice(0,p)+c+l.slice(m);let d=e.utils.escapeHtml(o.label||"");return`<div class="code-label" title="${d}">${d}</div> 3${l}`}};var p=s(31167),m=s(29979),c=s(40074);let d=(e=!1,t=!1,s=!1,r=!1,o=!0)=>((e={},t={})=>{let s={fence_environment:{allowedEnvironments:["local","second","third","fourth","fifth"]},fence_classes:{allowedClasses:["prefixed","line_numbers","command","super_user","custom_prefix",...["local","second","third","fourth","fifth"].map(e=>`environment-${e}`)]},callout:{allowedClasses:["note","warning","info","draft"]},heading_id:{hashLink:{position:"after"}},details:{}},r={...s,...t};return Object.keys(s).forEach(e=>{!1!==r[e]&&(r[e]={...s[e],...r[e]})}),(0,i.A)({langPrefix:"",linkify:!0,typographer:!0,...e}).use(n,{...r,underline:!1,heading_id:!1,link_attributes:!1,fence_label:!1,fence_secondary_label:!1,fence_environment:!1,fence_prefix:!1}).use(l,r)})({html:e},{rsvp_button:t,terminal_button:s,heading_id:{sluggify:p.A,hashLink:!!o&&{position:"after"}},user_mention:{pattern:/[a-zA-Z0-9\-_]+/i,path:e=>{let t=(0,p.A)(e);return!!t.length&&(0,m.pv)("user",t)}},link_attributes:{attributes:e=>{if(e.href&&"string"==typeof e.href){e.href=e.href.replace(/^(?:(?:https?:)?\/\/)?(?:www\.)?digitalocean\.com([/?#].*$|$)/,(e,t)=>t.startsWith("/")?t:`/${t}`).replace(/^(\.{0,2}\/[^/].*)\/+([?#]|$)/,"$1$2").replace(/^_+/,"");let t=(0,m.cW)(e.href),s=e.href.startsWith("/community/");t||s||(e.rel=`${e.rel||""} ${(e=>{try{if(/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e))return"ugc nofollow noopener";let t=new URL(e).hostname,s=[];return a.NB.ugc.has(t)||s.push("ugc"),a.NB.nofollow.has(t)||s.push("nofollow"),a.NB.noopener.has(t)||s.push("noopener"),s.join(" ")}catch(e){return"ugc nofollow noopener"}})(e.href)}`.trim(),e.target||="_blank")}return e}},collapsible_headings:!!r&&{levels:[1,2],open:!0},prismjs:{logging:void 0!==c&&"development"===c.env.APP_ENV}}),u=(e,t=!1,s=!1,n=!1,i=!1,a=!0)=>{let o=d(t,s,n,!1,a);return i?(o.use(r).render(e),o.plainText):{result:o.render(e).toString(),headings:o.headings}}},93530:(e,t,s)=>{var r={"./prism-actionscript":86636,"./prism-actionscript.js":86636,"./prism-apacheconf":1417,"./prism-apacheconf.js":1417,"./prism-bash":61883,"./prism-bash.js":61883,"./prism-c":5162,"./prism-c.js":5162,"./prism-clike":74869,"./prism-clike.js":74869,"./prism-coffeescript":20250,"./prism-coffeescript.js":20250,"./prism-core":69082,"./prism-core.js":69082,"./prism-cpp":20970,"./prism-cpp.js":20970,"./prism-css":9316,"./prism-css-extras":96256,"./prism-css-extras.js":96256,"./prism-css.js":9316,"./prism-diff":34698,"./prism-diff.js":34698,"./prism-docker":54869,"./prism-docker.js":54869,"./prism-erb":28228,"./prism-erb.js":28228,"./prism-flow":56113,"./prism-flow.js":56113,"./prism-go":54727,"./prism-go.js":54727,"./prism-graphql":15542,"./prism-graphql.js":15542,"./prism-hcl":11372,"./prism-hcl.js":11372,"./prism-ini":53301,"./prism-ini.js":53301,"./prism-java":84621,"./prism-java.js":84621,"./prism-javadoclike":28006,"./prism-javadoclike.js":28006,"./prism-javascript":77222,"./prism-javascript.js":77222,"./prism-js-extras":48578,"./prism-js-extras.js":48578,"./prism-js-templates":42520,"./prism-js-templates.js":42520,"./prism-jsdoc":88908,"./prism-jsdoc.js":88908,"./prism-json":71167,"./prism-json.js":71167,"./prism-jsx":5242,"./prism-jsx.js":5242,"./prism-latex":66424,"./prism-latex.js":66424,"./prism-lua":76941,"./prism-lua.js":76941,"./prism-markdown":97636,"./prism-markdown.js":97636,"./prism-markup":81221,"./prism-markup-templating":24193,"./prism-markup-templating.js":24193,"./prism-markup.js":81221,"./prism-n4js":45788,"./prism-n4js.js":45788,"./prism-nginx":61723,"./prism-nginx.js":61723,"./prism-perl":43856,"./prism-perl.js":43856,"./prism-php":19343,"./prism-php.js":19343,"./prism-python":28963,"./prism-python.js":28963,"./prism-r":56181,"./prism-r.js":56181,"./prism-regex":35688,"./prism-regex.js":35688,"./prism-ruby":70637,"./prism-ruby.js":70637,"./prism-rust":73051,"./prism-rust.js":73051,"./prism-scss":88153,"./prism-scss.js":88153,"./prism-sql":54483,"./prism-sql.js":54483,"./prism-toml":99249,"./prism-toml.js":99249,"./prism-typescript":14606,"./prism-typescript.js":14606,"./prism-yaml":77614,"./prism-yaml.js":77614};function n(e){return s(i(e))}function i(e){if(!s.o(r,e)){var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}n.keys=function(){return Object.keys(r)},n.resolve=i,e.exports=n,n.id=93530},93932:(e,t,s)=>{"use strict";s.d(t,{Fd:()=>a,Ff:()=>r,LM:()=>g,Le:()=>o,Lf:()=>i,Mw:()=>u,NB:()=>j,Uv:()=>h,Vv:()=>c,WH:()=>f,Wc:()=>_,X$:()=>b,a5:()=>d,ng:()=>n,o_:()=>l,qK:()=>m,w1:()=>p});let r="https://cloud.digitalocean.com",n="https://docs.digitalocean.com",i="https://marketplace.digitalocean.com",a="https://investors.digitalocean.com",o="https://store.digitalocean.com",l="https://cloudsupport.digitalocean.com",p="https://ideas.digitalocean.com",m="https://status.digitalocean.com",c="https://try.digitalocean.com",d={userReport:{reportedType:["question","tutorial","tool","comment"]},userViewed:{viewedType:["question","tutorial","tool"]},comment:{parentType:["tutorial","question","tool","comment","user_report"]},upvote:{upvotableType:["tutorial","tutorial_series","question","tool","comment"]}},u={tutorial:["tutorial","post","conceptual-article","tech-talk","book","cheatsheet","meetup-kit","developer-center"],comment:["comment","answer","private_comment","private_note"],tool:["api_wrapper","apps","courses","services","others"],userReport:["spam","offensive","off-topic","other"],tag:["tag","team","origin"],subscription:["comment","question","tag","tool","tutorial","tutorial_series","user_report"]},h={en:{english_name:"English",localized_name:"English"},de:{english_name:"German",localized_name:"Deutsch"},es:{english_name:"Spanish",localized_name:"Espa\xf1ol"},id:{english_name:"Bahasa Indonesia",localized_name:"Bahasa Indonesia"},pt:{english_name:"Portuguese",localized_name:"Portugu\xeas"},ru:{english_name:"Russian",localized_name:"Ð ÑÑÑкий"},fr:{english_name:"French",localized_name:"Fran\xe7ais"},ja:{english_name:"Japanese",localized_name:"æ¥æ¬èª"},zh:{english_name:"Chinese",localized_name:"䏿"}},g={tutorial:["draft","published","trashed","deprecated","unlisted"],tutorialSeries:["draft","published","trashed"],question:["under_review","spam","published","trashed","unlisted"],comment:["under_review","spam","published","trashed"],tool:["draft","published","trashed"],staticPage:["draft","published","trashed","unlisted"],marketingForm:["draft","published","trashed"],post:["draft","published","trashed"],partner:["draft","published","trashed"],customer:["draft","published","trashed"],tag:["published","trashed"]},f={question:["published","unlisted"],tutorial:["published","deprecated","unlisted"],tutorialSeries:["published"],tool:["published"],comment:["published"],staticPage:["published","unlisted"],post:["published"],partner:["published"],customer:["published"],tag:["published"]},_=["checkbox","country-select","date","divider","email","hidden","number","phone","radio","select","state-select","text","textarea","divider"],b={defaultPerPage:100,answersPerPage:3,commentsPerPage:10,viewedPerPage:8,notificationsPerPage:10,contributionsPerPage:6,postsPerPage:1e3,questionsPerPage:1e3,tutorialsPerPage:1e3,usersPerPage:1e3,tagsPerPage:1e3,toolsPerPage:1e3,slugsHistoryPerPage:1e3,tutorialCollectionsPerPage:1e3,partnersPerPage:1e3,featureFlagsPerPage:1e3,customersPerPage:1e3,admin:{perPageOptions:[10,15,20,50,100]}},j={ugc:new Set,nofollow:new Set(["usefind.ai"]),noopener:new Set}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.