[{"data":1,"prerenderedAt":1829},["ShallowReactive",2],{"msfe-doc:\u002Fen\u002Fguide\u002Fsaving":3,"msfe-source:recipes\u002Fautosave.ts":637,"mdc--y55g71-key":638},{"id":4,"title":5,"body":6,"description":625,"extension":626,"keywords":627,"locale":630,"meta":631,"navigation":160,"order":157,"path":632,"section":633,"seo":634,"stem":635,"__hash__":636},"docs\u002Fguide\u002Fsaving.en.md","Reading and saving",{"type":7,"value":8,"toc":616},"minimark",[9,14,23,66,69,73,77,101,176,179,183,189,290,297,301,308,312,568,575,579,582,585,589,592,598,602,612],[10,11,13],"h2",{"id":12},"read-the-complete-source","Read the complete source",[15,16,17,18,22],"p",{},"Call ",[19,20,21],"code",{},"getMarkdown()"," when saving, exporting, or submitting. The result is Markdown text with the original file-format policy supported by the editor preserved.",[24,25,30],"pre",{"className":26,"code":27,"language":28,"meta":29,"style":29},"language-ts shiki shiki-themes github-light github-light github-dark","const markdown = editor.getMarkdown()\n\u002F\u002F Pass markdown to your application's persistence API.\n","ts","",[19,31,32,59],{"__ignoreMap":29},[33,34,37,41,45,48,52,56],"span",{"class":35,"line":36},"line",1,[33,38,40],{"class":39},"sDD9d","const",[33,42,44],{"class":43},"sUNQB"," markdown",[33,46,47],{"class":39}," =",[33,49,51],{"class":50},"sVPnS"," editor.",[33,53,55],{"class":54},"sgQzM","getMarkdown",[33,57,58],{"class":50},"()\n",[33,60,62],{"class":35,"line":61},2,[33,63,65],{"class":64},"sqmzS","\u002F\u002F Pass markdown to your application's persistence API.\n",[15,67,68],{},"Read Markdown in the example captures a snapshot. After further edits, read it again to obtain the latest text.",[70,71],"msfe-demo",{"name":72},"basic\u002Feditor",[10,74,76],{"id":75},"subscribe-to-incremental-changes","Subscribe to incremental changes",[15,78,79,82,83,86,87,86,90,86,93,96,97,100],{},[19,80,81],{},"onChange"," supplies ",[19,84,85],{},"documentId",", ",[19,88,89],{},"revision",[19,91,92],{},"changes",[19,94,95],{},"selection",", and ",[19,98,99],{},"origin",". Use it to mark unsaved changes or connect incremental host storage. Rendering a toolbar does not require reading the entire document on each keystroke.",[24,102,104],{"className":26,"code":103,"language":28,"meta":29,"style":29},"const unsubscribe = editor.onChange(event => {\n  console.log('Document revision', event.documentId, event.revision)\n})\n\n\u002F\u002F Unsubscribe when the observer's lifecycle ends.\nunsubscribe()\n",[19,105,106,132,149,155,162,168],{"__ignoreMap":29},[33,107,108,110,113,115,117,119,122,126,129],{"class":35,"line":36},[33,109,40],{"class":39},[33,111,112],{"class":43}," unsubscribe",[33,114,47],{"class":39},[33,116,51],{"class":50},[33,118,81],{"class":54},[33,120,121],{"class":50},"(",[33,123,125],{"class":124},"sde8i","event",[33,127,128],{"class":39}," =>",[33,130,131],{"class":50}," {\n",[33,133,134,137,140,142,146],{"class":35,"line":61},[33,135,136],{"class":50},"  console.",[33,138,139],{"class":54},"log",[33,141,121],{"class":50},[33,143,145],{"class":144},"s-HEn","'Document revision'",[33,147,148],{"class":50},", event.documentId, event.revision)\n",[33,150,152],{"class":35,"line":151},3,[33,153,154],{"class":50},"})\n",[33,156,158],{"class":35,"line":157},4,[33,159,161],{"emptyLinePlaceholder":160},true,"\n",[33,163,165],{"class":35,"line":164},5,[33,166,167],{"class":64},"\u002F\u002F Unsubscribe when the observer's lifecycle ends.\n",[33,169,171,174],{"class":35,"line":170},6,[33,172,173],{"class":54},"unsubscribe",[33,175,58],{"class":50},[15,177,178],{},"For autosave, the application schedules writes and handles failures, retries, and submission order. A successful server response should not automatically replace the full editor content.",[10,180,182],{"id":181},"external-updates","External updates",[15,184,185,188],{},[19,186,187],{},"applyChanges()"," accepts the expected document identity and base revision. Offsets must refer to that revision; stale revisions are rejected. After rejection, obtain the latest state and resolve the conflict.",[24,190,192],{"className":26,"code":191,"language":28,"meta":29,"style":29},"const result = editor.applyChanges({\n  documentId: editor.documentId,\n  baseRevision: editor.revision,\n  changes: { from: 0, to: 0, insert: 'Additional note.\\n\\n' },\n  origin: 'host',\n})\n\nif (!result.ok) console.warn(result.reason)\n",[19,193,194,211,216,221,249,260,264,269],{"__ignoreMap":29},[33,195,196,198,201,203,205,208],{"class":35,"line":36},[33,197,40],{"class":39},[33,199,200],{"class":43}," result",[33,202,47],{"class":39},[33,204,51],{"class":50},[33,206,207],{"class":54},"applyChanges",[33,209,210],{"class":50},"({\n",[33,212,213],{"class":35,"line":61},[33,214,215],{"class":50},"  documentId: editor.documentId,\n",[33,217,218],{"class":35,"line":151},[33,219,220],{"class":50},"  baseRevision: editor.revision,\n",[33,222,223,226,229,232,234,237,240,243,246],{"class":35,"line":157},[33,224,225],{"class":50},"  changes: { from: ",[33,227,228],{"class":43},"0",[33,230,231],{"class":50},", to: ",[33,233,228],{"class":43},[33,235,236],{"class":50},", insert: ",[33,238,239],{"class":144},"'Additional note.",[33,241,242],{"class":43},"\\n\\n",[33,244,245],{"class":144},"'",[33,247,248],{"class":50}," },\n",[33,250,251,254,257],{"class":35,"line":164},[33,252,253],{"class":50},"  origin: ",[33,255,256],{"class":144},"'host'",[33,258,259],{"class":50},",\n",[33,261,262],{"class":35,"line":170},[33,263,154],{"class":50},[33,265,267],{"class":35,"line":266},7,[33,268,161],{"emptyLinePlaceholder":160},[33,270,272,275,278,281,284,287],{"class":35,"line":271},8,[33,273,274],{"class":39},"if",[33,276,277],{"class":50}," (",[33,279,280],{"class":39},"!",[33,282,283],{"class":50},"result.ok) console.",[33,285,286],{"class":54},"warn",[33,288,289],{"class":50},"(result.reason)\n",[15,291,292,293,296],{},"Versioned changes alone are not a multi-user collaboration protocol. To switch to a different document, use ",[19,294,295],{},"replaceDocument(markdown, documentId)",".",[10,298,300],{"id":299},"a-complete-serialized-autosave-adapter","A complete serialized autosave adapter",[15,302,303,304,307],{},"This TypeScript module serializes writes for one document and reads snapshots only when saving. If source changes during a request, it saves the next version after completion. Failures retain dirty state; the next edit or explicit ",[19,305,306],{},"flush()"," retries. Responses never replace editor text.",[309,310],"msfe-recipe",{"name":311},"recipes\u002Fautosave",[24,313,315],{"className":26,"code":314,"language":28,"meta":29,"style":29},"import { attachAutosave } from '.\u002Frecipes\u002Fautosave'\nconst saving = attachAutosave({\n  editor,\n  save: async (snapshot, signal) => {\n    const response = await fetch(`\u002Fapi\u002Fdocuments\u002F${encodeURIComponent(snapshot.documentId)}`, {\n      method: 'PUT', signal, headers: { 'Content-Type': 'text\u002Fmarkdown; charset=utf-8' },\n      body: snapshot.markdown,\n    })\n    if (!response.ok) throw new Error(`save-http-${response.status}`)\n  },\n  status: value => { console.log('Save status', value) },\n  error: error => { console.error(error) },\n})\n\u002F\u002F Before leaving, await flush and let the host decide based on save status.\nawait saving.flush()\n",[19,316,317,331,345,350,379,420,441,446,451,491,497,523,543,548,554],{"__ignoreMap":29},[33,318,319,322,325,328],{"class":35,"line":36},[33,320,321],{"class":39},"import",[33,323,324],{"class":50}," { attachAutosave } ",[33,326,327],{"class":39},"from",[33,329,330],{"class":144}," '.\u002Frecipes\u002Fautosave'\n",[33,332,333,335,338,340,343],{"class":35,"line":61},[33,334,40],{"class":39},[33,336,337],{"class":43}," saving",[33,339,47],{"class":39},[33,341,342],{"class":54}," attachAutosave",[33,344,210],{"class":50},[33,346,347],{"class":35,"line":151},[33,348,349],{"class":50},"  editor,\n",[33,351,352,355,358,361,363,366,368,371,374,377],{"class":35,"line":157},[33,353,354],{"class":54},"  save",[33,356,357],{"class":50},": ",[33,359,360],{"class":39},"async",[33,362,277],{"class":50},[33,364,365],{"class":124},"snapshot",[33,367,86],{"class":50},[33,369,370],{"class":124},"signal",[33,372,373],{"class":50},") ",[33,375,376],{"class":39},"=>",[33,378,131],{"class":50},[33,380,381,384,387,389,392,395,397,400,403,405,407,409,411,414,417],{"class":35,"line":164},[33,382,383],{"class":39},"    const",[33,385,386],{"class":43}," response",[33,388,47],{"class":39},[33,390,391],{"class":39}," await",[33,393,394],{"class":54}," fetch",[33,396,121],{"class":50},[33,398,399],{"class":144},"`\u002Fapi\u002Fdocuments\u002F${",[33,401,402],{"class":54},"encodeURIComponent",[33,404,121],{"class":144},[33,406,365],{"class":50},[33,408,296],{"class":144},[33,410,85],{"class":50},[33,412,413],{"class":144},")",[33,415,416],{"class":144},"}`",[33,418,419],{"class":50},", {\n",[33,421,422,425,428,431,434,436,439],{"class":35,"line":170},[33,423,424],{"class":50},"      method: ",[33,426,427],{"class":144},"'PUT'",[33,429,430],{"class":50},", signal, headers: { ",[33,432,433],{"class":144},"'Content-Type'",[33,435,357],{"class":50},[33,437,438],{"class":144},"'text\u002Fmarkdown; charset=utf-8'",[33,440,248],{"class":50},[33,442,443],{"class":35,"line":266},[33,444,445],{"class":50},"      body: snapshot.markdown,\n",[33,447,448],{"class":35,"line":271},[33,449,450],{"class":50},"    })\n",[33,452,454,457,459,461,464,467,470,473,475,478,481,483,486,488],{"class":35,"line":453},9,[33,455,456],{"class":39},"    if",[33,458,277],{"class":50},[33,460,280],{"class":39},[33,462,463],{"class":50},"response.ok) ",[33,465,466],{"class":39},"throw",[33,468,469],{"class":39}," new",[33,471,472],{"class":54}," Error",[33,474,121],{"class":50},[33,476,477],{"class":144},"`save-http-${",[33,479,480],{"class":50},"response",[33,482,296],{"class":144},[33,484,485],{"class":50},"status",[33,487,416],{"class":144},[33,489,490],{"class":50},")\n",[33,492,494],{"class":35,"line":493},10,[33,495,496],{"class":50},"  },\n",[33,498,500,503,505,508,510,513,515,517,520],{"class":35,"line":499},11,[33,501,502],{"class":54},"  status",[33,504,357],{"class":50},[33,506,507],{"class":124},"value",[33,509,128],{"class":39},[33,511,512],{"class":50}," { console.",[33,514,139],{"class":54},[33,516,121],{"class":50},[33,518,519],{"class":144},"'Save status'",[33,521,522],{"class":50},", value) },\n",[33,524,526,529,531,534,536,538,540],{"class":35,"line":525},12,[33,527,528],{"class":54},"  error",[33,530,357],{"class":50},[33,532,533],{"class":124},"error",[33,535,128],{"class":39},[33,537,512],{"class":50},[33,539,533],{"class":54},[33,541,542],{"class":50},"(error) },\n",[33,544,546],{"class":35,"line":545},13,[33,547,154],{"class":50},[33,549,551],{"class":35,"line":550},14,[33,552,553],{"class":64},"\u002F\u002F Before leaving, await flush and let the host decide based on save status.\n",[33,555,557,560,563,566],{"class":35,"line":556},15,[33,558,559],{"class":39},"await",[33,561,562],{"class":50}," saving.",[33,564,565],{"class":54},"flush",[33,567,58],{"class":50},[15,569,570,571,574],{},"The host supplies ",[19,572,573],{},"\u002Fapi\u002Fdocuments\u002F:id",". The adapter starts saving after the first source change; loading a document does not mark it dirty. A settled flush is not proof of success: status\u002Ferror report failures, which require retained feedback and retry controls.",[10,576,578],{"id":577},"server-concurrency-and-offline-use","Server concurrency and offline use",[15,580,581],{},"Local revision is not a server version. Multiple clients need server ETags, versions or a collaboration protocol. Handle 409\u002F412 with merge or conflict UI instead of retrying an overwrite indefinitely.",[15,583,584],{},"Offline storage belongs to the host and can retain exact Markdown plus server version. Do not display server-saved status before durable acknowledgement. Arbitrary asynchronous requests cannot be assumed to complete during beforeunload.",[10,586,588],{"id":587},"replacement-and-external-echoes","Replacement and external echoes",[15,590,591],{},"Resolve unsaved state, end the old save session, replace the document, then create a fresh session. The old document scope cancels in-flight resources.",[15,593,594,595,597],{},"For same-document external edits, ",[19,596,187],{}," offsets belong to the logical text at baseRevision. Success advances revision. Mark origins and suppress same-source echoes in host listeners. On stale-target, remap or merge; do not merely substitute the latest baseRevision while keeping old offsets.",[10,599,601],{"id":600},"file-responsibilities","File responsibilities",[15,603,604,605,607,608,611],{},"The editor receives decoded strings. Byte encoding, file BOM handling, names, access control, attachments and downloads belong to the application. Use ",[19,606,21],{}," for serialized text and ",[19,609,610],{},"state.doc"," for editing offsets. Rendered HTML and component state are not recoverable Markdown archives.",[613,614,615],"style",{},"html pre.shiki code .sDD9d, html code.shiki .sDD9d{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sUNQB, html code.shiki .sUNQB{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVPnS, html code.shiki .sVPnS{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sgQzM, html code.shiki .sgQzM{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sqmzS, html code.shiki .sqmzS{--shiki-default:#6A737D;--shiki-light:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sde8i, html code.shiki .sde8i{--shiki-default:#E36209;--shiki-light:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .s-HEn, html code.shiki .s-HEn{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF}",{"title":29,"searchDepth":61,"depth":61,"links":617},[618,619,620,621,622,623,624],{"id":12,"depth":61,"text":13},{"id":75,"depth":61,"text":76},{"id":181,"depth":61,"text":182},{"id":299,"depth":61,"text":300},{"id":577,"depth":61,"text":578},{"id":587,"depth":61,"text":588},{"id":600,"depth":61,"text":601},"Read Markdown on demand and connect storage or external updates through incremental events.","md",[628,81,207,629,89],"save","replaceDocument","en",{},"\u002Fen\u002Fguide\u002Fsaving","Integration",{"title":5,"description":625},"guide\u002Fsaving.en","ERMtGdMENxu9IGGV2TxmtMIrgF3GSc_BHdekiv3cFcw","import type { AutosaveOptions, AutosaveSession, SaveSnapshot } from \".\u002Ftypes\";\n\u002F** @param options - Host persistence policy and one current document. @returns Serial save ownership for that document only. *\u002F\nexport function attachAutosave(options: AutosaveOptions): AutosaveSession {\n  const { editor } = options;\n  const scope = editor.documentScope.fork();\n  let dirty = false;\n  let timer: ReturnType\u003Ctypeof setTimeout> | undefined;\n  let running: Promise\u003Cvoid> | undefined;\n  \u002F** Writes successive immutable snapshots; slow responses never replace the open source. *\u002F\n  async function drain(): Promise\u003Cvoid> {\n    while (dirty && !scope.disposed) {\n      dirty = false;\n      const snapshot: SaveSnapshot = { documentId: editor.documentId, revision: editor.revision, markdown: editor.getMarkdown() };\n      options.status(\"saving\");\n      try {\n        await options.save(snapshot, scope.signal);\n        if (scope.disposed) return;\n        if (!dirty && editor.revision === snapshot.revision) options.status(\"saved\");\n      } catch (error) {\n        if (!scope.disposed) { dirty = true; options.status(\"error\"); options.error(error); }\n        return; \u002F\u002F An explicit flush or the next source edit retries; no busy retry loop.\n      }\n    }\n  }\n  \u002F** @returns Completion of prior work and any source dirty when this flush can acquire the writer. *\u002F\n  async function flush(): Promise\u003Cvoid> {\n    clearTimeout(timer);\n    \u002F\u002F Recheck after awaiting: another flush may have acquired the single writer.\n    while (running) await running;\n    if (scope.disposed || !dirty) return;\n    running = drain().finally(() => { running = undefined; });\n    await running;\n  }\n  scope.own(editor.onChange(() => {\n    dirty = true;\n    options.status(\"dirty\");\n    clearTimeout(timer);\n    timer = setTimeout(() => { void flush(); }, options.delay ?? 600);\n  }));\n  scope.own(() => clearTimeout(timer));\n  return { flush, dispose: () => scope.dispose() };\n}\n",{"data":639,"body":640},{},{"type":641,"children":642},"root",[643,1824],{"type":644,"tag":24,"props":645,"children":647},"element",{"className":26,"code":646,"language":28,"meta":29,"style":29},"import type { AutosaveOptions, AutosaveSession, SaveSnapshot } from \".\u002Ftypes\";\n\u002F** @param options - Host persistence policy and one current document. @returns Serial save ownership for that document only. *\u002F\nexport function attachAutosave(options: AutosaveOptions): AutosaveSession {\n  const { editor } = options;\n  const scope = editor.documentScope.fork();\n  let dirty = false;\n  let timer: ReturnType\u003Ctypeof setTimeout> | undefined;\n  let running: Promise\u003Cvoid> | undefined;\n  \u002F** Writes successive immutable snapshots; slow responses never replace the open source. *\u002F\n  async function drain(): Promise\u003Cvoid> {\n    while (dirty && !scope.disposed) {\n      dirty = false;\n      const snapshot: SaveSnapshot = { documentId: editor.documentId, revision: editor.revision, markdown: editor.getMarkdown() };\n      options.status(\"saving\");\n      try {\n        await options.save(snapshot, scope.signal);\n        if (scope.disposed) return;\n        if (!dirty && editor.revision === snapshot.revision) options.status(\"saved\");\n      } catch (error) {\n        if (!scope.disposed) { dirty = true; options.status(\"error\"); options.error(error); }\n        return; \u002F\u002F An explicit flush or the next source edit retries; no busy retry loop.\n      }\n    }\n  }\n  \u002F** @returns Completion of prior work and any source dirty when this flush can acquire the writer. *\u002F\n  async function flush(): Promise\u003Cvoid> {\n    clearTimeout(timer);\n    \u002F\u002F Recheck after awaiting: another flush may have acquired the single writer.\n    while (running) await running;\n    if (scope.disposed || !dirty) return;\n    running = drain().finally(() => { running = undefined; });\n    await running;\n  }\n  scope.own(editor.onChange(() => {\n    dirty = true;\n    options.status(\"dirty\");\n    clearTimeout(timer);\n    timer = setTimeout(() => { void flush(); }, options.delay ?? 600);\n  }));\n  scope.own(() => clearTimeout(timer));\n  return { flush, dispose: () => scope.dispose() };\n}\n\n",[648],{"type":644,"tag":19,"props":649,"children":650},{"__ignoreMap":29},[651,686,720,775,809,840,866,916,963,971,1014,1042,1062,1102,1128,1140,1163,1186,1243,1262,1324,1343,1352,1361,1370,1388,1429,1443,1452,1474,1509,1563,1576,1584,1619,1640,1666,1678,1735,1744,1774,1815],{"type":644,"tag":33,"props":652,"children":653},{"class":35,"line":36},[654,660,665,671,675,681],{"type":644,"tag":33,"props":655,"children":657},{"style":656},"--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#F97583",[658],{"type":659,"value":321},"text",{"type":644,"tag":33,"props":661,"children":662},{"style":656},[663],{"type":659,"value":664}," type",{"type":644,"tag":33,"props":666,"children":668},{"style":667},"--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#E1E4E8",[669],{"type":659,"value":670}," { AutosaveOptions, AutosaveSession, SaveSnapshot } ",{"type":644,"tag":33,"props":672,"children":673},{"style":656},[674],{"type":659,"value":327},{"type":644,"tag":33,"props":676,"children":678},{"style":677},"--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#9ECBFF",[679],{"type":659,"value":680}," \".\u002Ftypes\"",{"type":644,"tag":33,"props":682,"children":683},{"style":667},[684],{"type":659,"value":685},";\n",{"type":644,"tag":33,"props":687,"children":688},{"class":35,"line":61},[689,695,700,705,710,715],{"type":644,"tag":33,"props":690,"children":692},{"style":691},"--shiki-default:#6A737D;--shiki-light:#6A737D;--shiki-dark:#6A737D",[693],{"type":659,"value":694},"\u002F** ",{"type":644,"tag":33,"props":696,"children":697},{"style":656},[698],{"type":659,"value":699},"@param",{"type":644,"tag":33,"props":701,"children":702},{"style":667},[703],{"type":659,"value":704}," options",{"type":644,"tag":33,"props":706,"children":707},{"style":691},[708],{"type":659,"value":709}," - Host persistence policy and one current document. ",{"type":644,"tag":33,"props":711,"children":712},{"style":656},[713],{"type":659,"value":714},"@returns",{"type":644,"tag":33,"props":716,"children":717},{"style":691},[718],{"type":659,"value":719}," Serial save ownership for that document only. *\u002F\n",{"type":644,"tag":33,"props":721,"children":722},{"class":35,"line":151},[723,728,733,738,742,748,753,758,762,766,771],{"type":644,"tag":33,"props":724,"children":725},{"style":656},[726],{"type":659,"value":727},"export",{"type":644,"tag":33,"props":729,"children":730},{"style":656},[731],{"type":659,"value":732}," function",{"type":644,"tag":33,"props":734,"children":736},{"style":735},"--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#B392F0",[737],{"type":659,"value":342},{"type":644,"tag":33,"props":739,"children":740},{"style":667},[741],{"type":659,"value":121},{"type":644,"tag":33,"props":743,"children":745},{"style":744},"--shiki-default:#E36209;--shiki-light:#E36209;--shiki-dark:#FFAB70",[746],{"type":659,"value":747},"options",{"type":644,"tag":33,"props":749,"children":750},{"style":656},[751],{"type":659,"value":752},":",{"type":644,"tag":33,"props":754,"children":755},{"style":735},[756],{"type":659,"value":757}," AutosaveOptions",{"type":644,"tag":33,"props":759,"children":760},{"style":667},[761],{"type":659,"value":413},{"type":644,"tag":33,"props":763,"children":764},{"style":656},[765],{"type":659,"value":752},{"type":644,"tag":33,"props":767,"children":768},{"style":735},[769],{"type":659,"value":770}," AutosaveSession",{"type":644,"tag":33,"props":772,"children":773},{"style":667},[774],{"type":659,"value":131},{"type":644,"tag":33,"props":776,"children":777},{"class":35,"line":157},[778,783,788,794,799,804],{"type":644,"tag":33,"props":779,"children":780},{"style":656},[781],{"type":659,"value":782},"  const",{"type":644,"tag":33,"props":784,"children":785},{"style":667},[786],{"type":659,"value":787}," { ",{"type":644,"tag":33,"props":789,"children":791},{"style":790},"--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#79B8FF",[792],{"type":659,"value":793},"editor",{"type":644,"tag":33,"props":795,"children":796},{"style":667},[797],{"type":659,"value":798}," } ",{"type":644,"tag":33,"props":800,"children":801},{"style":656},[802],{"type":659,"value":803},"=",{"type":644,"tag":33,"props":805,"children":806},{"style":667},[807],{"type":659,"value":808}," options;\n",{"type":644,"tag":33,"props":810,"children":811},{"class":35,"line":164},[812,816,821,825,830,835],{"type":644,"tag":33,"props":813,"children":814},{"style":656},[815],{"type":659,"value":782},{"type":644,"tag":33,"props":817,"children":818},{"style":790},[819],{"type":659,"value":820}," scope",{"type":644,"tag":33,"props":822,"children":823},{"style":656},[824],{"type":659,"value":47},{"type":644,"tag":33,"props":826,"children":827},{"style":667},[828],{"type":659,"value":829}," editor.documentScope.",{"type":644,"tag":33,"props":831,"children":832},{"style":735},[833],{"type":659,"value":834},"fork",{"type":644,"tag":33,"props":836,"children":837},{"style":667},[838],{"type":659,"value":839},"();\n",{"type":644,"tag":33,"props":841,"children":842},{"class":35,"line":170},[843,848,853,857,862],{"type":644,"tag":33,"props":844,"children":845},{"style":656},[846],{"type":659,"value":847},"  let",{"type":644,"tag":33,"props":849,"children":850},{"style":667},[851],{"type":659,"value":852}," dirty ",{"type":644,"tag":33,"props":854,"children":855},{"style":656},[856],{"type":659,"value":803},{"type":644,"tag":33,"props":858,"children":859},{"style":790},[860],{"type":659,"value":861}," false",{"type":644,"tag":33,"props":863,"children":864},{"style":667},[865],{"type":659,"value":685},{"type":644,"tag":33,"props":867,"children":868},{"class":35,"line":266},[869,873,878,882,887,892,897,902,907,912],{"type":644,"tag":33,"props":870,"children":871},{"style":656},[872],{"type":659,"value":847},{"type":644,"tag":33,"props":874,"children":875},{"style":667},[876],{"type":659,"value":877}," timer",{"type":644,"tag":33,"props":879,"children":880},{"style":656},[881],{"type":659,"value":752},{"type":644,"tag":33,"props":883,"children":884},{"style":735},[885],{"type":659,"value":886}," ReturnType",{"type":644,"tag":33,"props":888,"children":889},{"style":667},[890],{"type":659,"value":891},"\u003C",{"type":644,"tag":33,"props":893,"children":894},{"style":656},[895],{"type":659,"value":896},"typeof",{"type":644,"tag":33,"props":898,"children":899},{"style":667},[900],{"type":659,"value":901}," setTimeout> ",{"type":644,"tag":33,"props":903,"children":904},{"style":656},[905],{"type":659,"value":906},"|",{"type":644,"tag":33,"props":908,"children":909},{"style":790},[910],{"type":659,"value":911}," undefined",{"type":644,"tag":33,"props":913,"children":914},{"style":667},[915],{"type":659,"value":685},{"type":644,"tag":33,"props":917,"children":918},{"class":35,"line":271},[919,923,928,932,937,941,946,951,955,959],{"type":644,"tag":33,"props":920,"children":921},{"style":656},[922],{"type":659,"value":847},{"type":644,"tag":33,"props":924,"children":925},{"style":667},[926],{"type":659,"value":927}," running",{"type":644,"tag":33,"props":929,"children":930},{"style":656},[931],{"type":659,"value":752},{"type":644,"tag":33,"props":933,"children":934},{"style":735},[935],{"type":659,"value":936}," Promise",{"type":644,"tag":33,"props":938,"children":939},{"style":667},[940],{"type":659,"value":891},{"type":644,"tag":33,"props":942,"children":943},{"style":790},[944],{"type":659,"value":945},"void",{"type":644,"tag":33,"props":947,"children":948},{"style":667},[949],{"type":659,"value":950},"> ",{"type":644,"tag":33,"props":952,"children":953},{"style":656},[954],{"type":659,"value":906},{"type":644,"tag":33,"props":956,"children":957},{"style":790},[958],{"type":659,"value":911},{"type":644,"tag":33,"props":960,"children":961},{"style":667},[962],{"type":659,"value":685},{"type":644,"tag":33,"props":964,"children":965},{"class":35,"line":453},[966],{"type":644,"tag":33,"props":967,"children":968},{"style":691},[969],{"type":659,"value":970},"  \u002F** Writes successive immutable snapshots; slow responses never replace the open source. *\u002F\n",{"type":644,"tag":33,"props":972,"children":973},{"class":35,"line":493},[974,979,983,988,993,997,1001,1005,1009],{"type":644,"tag":33,"props":975,"children":976},{"style":656},[977],{"type":659,"value":978},"  async",{"type":644,"tag":33,"props":980,"children":981},{"style":656},[982],{"type":659,"value":732},{"type":644,"tag":33,"props":984,"children":985},{"style":735},[986],{"type":659,"value":987}," drain",{"type":644,"tag":33,"props":989,"children":990},{"style":667},[991],{"type":659,"value":992},"()",{"type":644,"tag":33,"props":994,"children":995},{"style":656},[996],{"type":659,"value":752},{"type":644,"tag":33,"props":998,"children":999},{"style":735},[1000],{"type":659,"value":936},{"type":644,"tag":33,"props":1002,"children":1003},{"style":667},[1004],{"type":659,"value":891},{"type":644,"tag":33,"props":1006,"children":1007},{"style":790},[1008],{"type":659,"value":945},{"type":644,"tag":33,"props":1010,"children":1011},{"style":667},[1012],{"type":659,"value":1013},"> {\n",{"type":644,"tag":33,"props":1015,"children":1016},{"class":35,"line":499},[1017,1022,1027,1032,1037],{"type":644,"tag":33,"props":1018,"children":1019},{"style":656},[1020],{"type":659,"value":1021},"    while",{"type":644,"tag":33,"props":1023,"children":1024},{"style":667},[1025],{"type":659,"value":1026}," (dirty ",{"type":644,"tag":33,"props":1028,"children":1029},{"style":656},[1030],{"type":659,"value":1031},"&&",{"type":644,"tag":33,"props":1033,"children":1034},{"style":656},[1035],{"type":659,"value":1036}," !",{"type":644,"tag":33,"props":1038,"children":1039},{"style":667},[1040],{"type":659,"value":1041},"scope.disposed) {\n",{"type":644,"tag":33,"props":1043,"children":1044},{"class":35,"line":525},[1045,1050,1054,1058],{"type":644,"tag":33,"props":1046,"children":1047},{"style":667},[1048],{"type":659,"value":1049},"      dirty ",{"type":644,"tag":33,"props":1051,"children":1052},{"style":656},[1053],{"type":659,"value":803},{"type":644,"tag":33,"props":1055,"children":1056},{"style":790},[1057],{"type":659,"value":861},{"type":644,"tag":33,"props":1059,"children":1060},{"style":667},[1061],{"type":659,"value":685},{"type":644,"tag":33,"props":1063,"children":1064},{"class":35,"line":545},[1065,1070,1075,1079,1084,1088,1093,1097],{"type":644,"tag":33,"props":1066,"children":1067},{"style":656},[1068],{"type":659,"value":1069},"      const",{"type":644,"tag":33,"props":1071,"children":1072},{"style":790},[1073],{"type":659,"value":1074}," snapshot",{"type":644,"tag":33,"props":1076,"children":1077},{"style":656},[1078],{"type":659,"value":752},{"type":644,"tag":33,"props":1080,"children":1081},{"style":735},[1082],{"type":659,"value":1083}," SaveSnapshot",{"type":644,"tag":33,"props":1085,"children":1086},{"style":656},[1087],{"type":659,"value":47},{"type":644,"tag":33,"props":1089,"children":1090},{"style":667},[1091],{"type":659,"value":1092}," { documentId: editor.documentId, revision: editor.revision, markdown: editor.",{"type":644,"tag":33,"props":1094,"children":1095},{"style":735},[1096],{"type":659,"value":55},{"type":644,"tag":33,"props":1098,"children":1099},{"style":667},[1100],{"type":659,"value":1101},"() };\n",{"type":644,"tag":33,"props":1103,"children":1104},{"class":35,"line":550},[1105,1110,1114,1118,1123],{"type":644,"tag":33,"props":1106,"children":1107},{"style":667},[1108],{"type":659,"value":1109},"      options.",{"type":644,"tag":33,"props":1111,"children":1112},{"style":735},[1113],{"type":659,"value":485},{"type":644,"tag":33,"props":1115,"children":1116},{"style":667},[1117],{"type":659,"value":121},{"type":644,"tag":33,"props":1119,"children":1120},{"style":677},[1121],{"type":659,"value":1122},"\"saving\"",{"type":644,"tag":33,"props":1124,"children":1125},{"style":667},[1126],{"type":659,"value":1127},");\n",{"type":644,"tag":33,"props":1129,"children":1130},{"class":35,"line":556},[1131,1136],{"type":644,"tag":33,"props":1132,"children":1133},{"style":656},[1134],{"type":659,"value":1135},"      try",{"type":644,"tag":33,"props":1137,"children":1138},{"style":667},[1139],{"type":659,"value":131},{"type":644,"tag":33,"props":1141,"children":1143},{"class":35,"line":1142},16,[1144,1149,1154,1158],{"type":644,"tag":33,"props":1145,"children":1146},{"style":656},[1147],{"type":659,"value":1148},"        await",{"type":644,"tag":33,"props":1150,"children":1151},{"style":667},[1152],{"type":659,"value":1153}," options.",{"type":644,"tag":33,"props":1155,"children":1156},{"style":735},[1157],{"type":659,"value":628},{"type":644,"tag":33,"props":1159,"children":1160},{"style":667},[1161],{"type":659,"value":1162},"(snapshot, scope.signal);\n",{"type":644,"tag":33,"props":1164,"children":1166},{"class":35,"line":1165},17,[1167,1172,1177,1182],{"type":644,"tag":33,"props":1168,"children":1169},{"style":656},[1170],{"type":659,"value":1171},"        if",{"type":644,"tag":33,"props":1173,"children":1174},{"style":667},[1175],{"type":659,"value":1176}," (scope.disposed) ",{"type":644,"tag":33,"props":1178,"children":1179},{"style":656},[1180],{"type":659,"value":1181},"return",{"type":644,"tag":33,"props":1183,"children":1184},{"style":667},[1185],{"type":659,"value":685},{"type":644,"tag":33,"props":1187,"children":1189},{"class":35,"line":1188},18,[1190,1194,1198,1202,1207,1211,1216,1221,1226,1230,1234,1239],{"type":644,"tag":33,"props":1191,"children":1192},{"style":656},[1193],{"type":659,"value":1171},{"type":644,"tag":33,"props":1195,"children":1196},{"style":667},[1197],{"type":659,"value":277},{"type":644,"tag":33,"props":1199,"children":1200},{"style":656},[1201],{"type":659,"value":280},{"type":644,"tag":33,"props":1203,"children":1204},{"style":667},[1205],{"type":659,"value":1206},"dirty ",{"type":644,"tag":33,"props":1208,"children":1209},{"style":656},[1210],{"type":659,"value":1031},{"type":644,"tag":33,"props":1212,"children":1213},{"style":667},[1214],{"type":659,"value":1215}," editor.revision ",{"type":644,"tag":33,"props":1217,"children":1218},{"style":656},[1219],{"type":659,"value":1220},"===",{"type":644,"tag":33,"props":1222,"children":1223},{"style":667},[1224],{"type":659,"value":1225}," snapshot.revision) options.",{"type":644,"tag":33,"props":1227,"children":1228},{"style":735},[1229],{"type":659,"value":485},{"type":644,"tag":33,"props":1231,"children":1232},{"style":667},[1233],{"type":659,"value":121},{"type":644,"tag":33,"props":1235,"children":1236},{"style":677},[1237],{"type":659,"value":1238},"\"saved\"",{"type":644,"tag":33,"props":1240,"children":1241},{"style":667},[1242],{"type":659,"value":1127},{"type":644,"tag":33,"props":1244,"children":1246},{"class":35,"line":1245},19,[1247,1252,1257],{"type":644,"tag":33,"props":1248,"children":1249},{"style":667},[1250],{"type":659,"value":1251},"      } ",{"type":644,"tag":33,"props":1253,"children":1254},{"style":656},[1255],{"type":659,"value":1256},"catch",{"type":644,"tag":33,"props":1258,"children":1259},{"style":667},[1260],{"type":659,"value":1261}," (error) {\n",{"type":644,"tag":33,"props":1263,"children":1265},{"class":35,"line":1264},20,[1266,1270,1274,1278,1283,1287,1292,1297,1301,1305,1310,1315,1319],{"type":644,"tag":33,"props":1267,"children":1268},{"style":656},[1269],{"type":659,"value":1171},{"type":644,"tag":33,"props":1271,"children":1272},{"style":667},[1273],{"type":659,"value":277},{"type":644,"tag":33,"props":1275,"children":1276},{"style":656},[1277],{"type":659,"value":280},{"type":644,"tag":33,"props":1279,"children":1280},{"style":667},[1281],{"type":659,"value":1282},"scope.disposed) { dirty ",{"type":644,"tag":33,"props":1284,"children":1285},{"style":656},[1286],{"type":659,"value":803},{"type":644,"tag":33,"props":1288,"children":1289},{"style":790},[1290],{"type":659,"value":1291}," true",{"type":644,"tag":33,"props":1293,"children":1294},{"style":667},[1295],{"type":659,"value":1296},"; options.",{"type":644,"tag":33,"props":1298,"children":1299},{"style":735},[1300],{"type":659,"value":485},{"type":644,"tag":33,"props":1302,"children":1303},{"style":667},[1304],{"type":659,"value":121},{"type":644,"tag":33,"props":1306,"children":1307},{"style":677},[1308],{"type":659,"value":1309},"\"error\"",{"type":644,"tag":33,"props":1311,"children":1312},{"style":667},[1313],{"type":659,"value":1314},"); options.",{"type":644,"tag":33,"props":1316,"children":1317},{"style":735},[1318],{"type":659,"value":533},{"type":644,"tag":33,"props":1320,"children":1321},{"style":667},[1322],{"type":659,"value":1323},"(error); }\n",{"type":644,"tag":33,"props":1325,"children":1327},{"class":35,"line":1326},21,[1328,1333,1338],{"type":644,"tag":33,"props":1329,"children":1330},{"style":656},[1331],{"type":659,"value":1332},"        return",{"type":644,"tag":33,"props":1334,"children":1335},{"style":667},[1336],{"type":659,"value":1337},"; ",{"type":644,"tag":33,"props":1339,"children":1340},{"style":691},[1341],{"type":659,"value":1342},"\u002F\u002F An explicit flush or the next source edit retries; no busy retry loop.\n",{"type":644,"tag":33,"props":1344,"children":1346},{"class":35,"line":1345},22,[1347],{"type":644,"tag":33,"props":1348,"children":1349},{"style":667},[1350],{"type":659,"value":1351},"      }\n",{"type":644,"tag":33,"props":1353,"children":1355},{"class":35,"line":1354},23,[1356],{"type":644,"tag":33,"props":1357,"children":1358},{"style":667},[1359],{"type":659,"value":1360},"    }\n",{"type":644,"tag":33,"props":1362,"children":1364},{"class":35,"line":1363},24,[1365],{"type":644,"tag":33,"props":1366,"children":1367},{"style":667},[1368],{"type":659,"value":1369},"  }\n",{"type":644,"tag":33,"props":1371,"children":1373},{"class":35,"line":1372},25,[1374,1379,1383],{"type":644,"tag":33,"props":1375,"children":1376},{"style":691},[1377],{"type":659,"value":1378},"  \u002F** ",{"type":644,"tag":33,"props":1380,"children":1381},{"style":656},[1382],{"type":659,"value":714},{"type":644,"tag":33,"props":1384,"children":1385},{"style":691},[1386],{"type":659,"value":1387}," Completion of prior work and any source dirty when this flush can acquire the writer. *\u002F\n",{"type":644,"tag":33,"props":1389,"children":1391},{"class":35,"line":1390},26,[1392,1396,1400,1405,1409,1413,1417,1421,1425],{"type":644,"tag":33,"props":1393,"children":1394},{"style":656},[1395],{"type":659,"value":978},{"type":644,"tag":33,"props":1397,"children":1398},{"style":656},[1399],{"type":659,"value":732},{"type":644,"tag":33,"props":1401,"children":1402},{"style":735},[1403],{"type":659,"value":1404}," flush",{"type":644,"tag":33,"props":1406,"children":1407},{"style":667},[1408],{"type":659,"value":992},{"type":644,"tag":33,"props":1410,"children":1411},{"style":656},[1412],{"type":659,"value":752},{"type":644,"tag":33,"props":1414,"children":1415},{"style":735},[1416],{"type":659,"value":936},{"type":644,"tag":33,"props":1418,"children":1419},{"style":667},[1420],{"type":659,"value":891},{"type":644,"tag":33,"props":1422,"children":1423},{"style":790},[1424],{"type":659,"value":945},{"type":644,"tag":33,"props":1426,"children":1427},{"style":667},[1428],{"type":659,"value":1013},{"type":644,"tag":33,"props":1430,"children":1432},{"class":35,"line":1431},27,[1433,1438],{"type":644,"tag":33,"props":1434,"children":1435},{"style":735},[1436],{"type":659,"value":1437},"    clearTimeout",{"type":644,"tag":33,"props":1439,"children":1440},{"style":667},[1441],{"type":659,"value":1442},"(timer);\n",{"type":644,"tag":33,"props":1444,"children":1446},{"class":35,"line":1445},28,[1447],{"type":644,"tag":33,"props":1448,"children":1449},{"style":691},[1450],{"type":659,"value":1451},"    \u002F\u002F Recheck after awaiting: another flush may have acquired the single writer.\n",{"type":644,"tag":33,"props":1453,"children":1455},{"class":35,"line":1454},29,[1456,1460,1465,1469],{"type":644,"tag":33,"props":1457,"children":1458},{"style":656},[1459],{"type":659,"value":1021},{"type":644,"tag":33,"props":1461,"children":1462},{"style":667},[1463],{"type":659,"value":1464}," (running) ",{"type":644,"tag":33,"props":1466,"children":1467},{"style":656},[1468],{"type":659,"value":559},{"type":644,"tag":33,"props":1470,"children":1471},{"style":667},[1472],{"type":659,"value":1473}," running;\n",{"type":644,"tag":33,"props":1475,"children":1477},{"class":35,"line":1476},30,[1478,1482,1487,1492,1496,1501,1505],{"type":644,"tag":33,"props":1479,"children":1480},{"style":656},[1481],{"type":659,"value":456},{"type":644,"tag":33,"props":1483,"children":1484},{"style":667},[1485],{"type":659,"value":1486}," (scope.disposed ",{"type":644,"tag":33,"props":1488,"children":1489},{"style":656},[1490],{"type":659,"value":1491},"||",{"type":644,"tag":33,"props":1493,"children":1494},{"style":656},[1495],{"type":659,"value":1036},{"type":644,"tag":33,"props":1497,"children":1498},{"style":667},[1499],{"type":659,"value":1500},"dirty) ",{"type":644,"tag":33,"props":1502,"children":1503},{"style":656},[1504],{"type":659,"value":1181},{"type":644,"tag":33,"props":1506,"children":1507},{"style":667},[1508],{"type":659,"value":685},{"type":644,"tag":33,"props":1510,"children":1512},{"class":35,"line":1511},31,[1513,1518,1522,1526,1531,1536,1541,1545,1550,1554,1558],{"type":644,"tag":33,"props":1514,"children":1515},{"style":667},[1516],{"type":659,"value":1517},"    running ",{"type":644,"tag":33,"props":1519,"children":1520},{"style":656},[1521],{"type":659,"value":803},{"type":644,"tag":33,"props":1523,"children":1524},{"style":735},[1525],{"type":659,"value":987},{"type":644,"tag":33,"props":1527,"children":1528},{"style":667},[1529],{"type":659,"value":1530},"().",{"type":644,"tag":33,"props":1532,"children":1533},{"style":735},[1534],{"type":659,"value":1535},"finally",{"type":644,"tag":33,"props":1537,"children":1538},{"style":667},[1539],{"type":659,"value":1540},"(() ",{"type":644,"tag":33,"props":1542,"children":1543},{"style":656},[1544],{"type":659,"value":376},{"type":644,"tag":33,"props":1546,"children":1547},{"style":667},[1548],{"type":659,"value":1549}," { running ",{"type":644,"tag":33,"props":1551,"children":1552},{"style":656},[1553],{"type":659,"value":803},{"type":644,"tag":33,"props":1555,"children":1556},{"style":790},[1557],{"type":659,"value":911},{"type":644,"tag":33,"props":1559,"children":1560},{"style":667},[1561],{"type":659,"value":1562},"; });\n",{"type":644,"tag":33,"props":1564,"children":1566},{"class":35,"line":1565},32,[1567,1572],{"type":644,"tag":33,"props":1568,"children":1569},{"style":656},[1570],{"type":659,"value":1571},"    await",{"type":644,"tag":33,"props":1573,"children":1574},{"style":667},[1575],{"type":659,"value":1473},{"type":644,"tag":33,"props":1577,"children":1579},{"class":35,"line":1578},33,[1580],{"type":644,"tag":33,"props":1581,"children":1582},{"style":667},[1583],{"type":659,"value":1369},{"type":644,"tag":33,"props":1585,"children":1587},{"class":35,"line":1586},34,[1588,1593,1598,1603,1607,1611,1615],{"type":644,"tag":33,"props":1589,"children":1590},{"style":667},[1591],{"type":659,"value":1592},"  scope.",{"type":644,"tag":33,"props":1594,"children":1595},{"style":735},[1596],{"type":659,"value":1597},"own",{"type":644,"tag":33,"props":1599,"children":1600},{"style":667},[1601],{"type":659,"value":1602},"(editor.",{"type":644,"tag":33,"props":1604,"children":1605},{"style":735},[1606],{"type":659,"value":81},{"type":644,"tag":33,"props":1608,"children":1609},{"style":667},[1610],{"type":659,"value":1540},{"type":644,"tag":33,"props":1612,"children":1613},{"style":656},[1614],{"type":659,"value":376},{"type":644,"tag":33,"props":1616,"children":1617},{"style":667},[1618],{"type":659,"value":131},{"type":644,"tag":33,"props":1620,"children":1622},{"class":35,"line":1621},35,[1623,1628,1632,1636],{"type":644,"tag":33,"props":1624,"children":1625},{"style":667},[1626],{"type":659,"value":1627},"    dirty ",{"type":644,"tag":33,"props":1629,"children":1630},{"style":656},[1631],{"type":659,"value":803},{"type":644,"tag":33,"props":1633,"children":1634},{"style":790},[1635],{"type":659,"value":1291},{"type":644,"tag":33,"props":1637,"children":1638},{"style":667},[1639],{"type":659,"value":685},{"type":644,"tag":33,"props":1641,"children":1643},{"class":35,"line":1642},36,[1644,1649,1653,1657,1662],{"type":644,"tag":33,"props":1645,"children":1646},{"style":667},[1647],{"type":659,"value":1648},"    options.",{"type":644,"tag":33,"props":1650,"children":1651},{"style":735},[1652],{"type":659,"value":485},{"type":644,"tag":33,"props":1654,"children":1655},{"style":667},[1656],{"type":659,"value":121},{"type":644,"tag":33,"props":1658,"children":1659},{"style":677},[1660],{"type":659,"value":1661},"\"dirty\"",{"type":644,"tag":33,"props":1663,"children":1664},{"style":667},[1665],{"type":659,"value":1127},{"type":644,"tag":33,"props":1667,"children":1669},{"class":35,"line":1668},37,[1670,1674],{"type":644,"tag":33,"props":1671,"children":1672},{"style":735},[1673],{"type":659,"value":1437},{"type":644,"tag":33,"props":1675,"children":1676},{"style":667},[1677],{"type":659,"value":1442},{"type":644,"tag":33,"props":1679,"children":1681},{"class":35,"line":1680},38,[1682,1687,1691,1696,1700,1704,1708,1712,1716,1721,1726,1731],{"type":644,"tag":33,"props":1683,"children":1684},{"style":667},[1685],{"type":659,"value":1686},"    timer ",{"type":644,"tag":33,"props":1688,"children":1689},{"style":656},[1690],{"type":659,"value":803},{"type":644,"tag":33,"props":1692,"children":1693},{"style":735},[1694],{"type":659,"value":1695}," setTimeout",{"type":644,"tag":33,"props":1697,"children":1698},{"style":667},[1699],{"type":659,"value":1540},{"type":644,"tag":33,"props":1701,"children":1702},{"style":656},[1703],{"type":659,"value":376},{"type":644,"tag":33,"props":1705,"children":1706},{"style":667},[1707],{"type":659,"value":787},{"type":644,"tag":33,"props":1709,"children":1710},{"style":656},[1711],{"type":659,"value":945},{"type":644,"tag":33,"props":1713,"children":1714},{"style":735},[1715],{"type":659,"value":1404},{"type":644,"tag":33,"props":1717,"children":1718},{"style":667},[1719],{"type":659,"value":1720},"(); }, options.delay ",{"type":644,"tag":33,"props":1722,"children":1723},{"style":656},[1724],{"type":659,"value":1725},"??",{"type":644,"tag":33,"props":1727,"children":1728},{"style":790},[1729],{"type":659,"value":1730}," 600",{"type":644,"tag":33,"props":1732,"children":1733},{"style":667},[1734],{"type":659,"value":1127},{"type":644,"tag":33,"props":1736,"children":1738},{"class":35,"line":1737},39,[1739],{"type":644,"tag":33,"props":1740,"children":1741},{"style":667},[1742],{"type":659,"value":1743},"  }));\n",{"type":644,"tag":33,"props":1745,"children":1747},{"class":35,"line":1746},40,[1748,1752,1756,1760,1764,1769],{"type":644,"tag":33,"props":1749,"children":1750},{"style":667},[1751],{"type":659,"value":1592},{"type":644,"tag":33,"props":1753,"children":1754},{"style":735},[1755],{"type":659,"value":1597},{"type":644,"tag":33,"props":1757,"children":1758},{"style":667},[1759],{"type":659,"value":1540},{"type":644,"tag":33,"props":1761,"children":1762},{"style":656},[1763],{"type":659,"value":376},{"type":644,"tag":33,"props":1765,"children":1766},{"style":735},[1767],{"type":659,"value":1768}," clearTimeout",{"type":644,"tag":33,"props":1770,"children":1771},{"style":667},[1772],{"type":659,"value":1773},"(timer));\n",{"type":644,"tag":33,"props":1775,"children":1777},{"class":35,"line":1776},41,[1778,1783,1788,1793,1798,1802,1807,1811],{"type":644,"tag":33,"props":1779,"children":1780},{"style":656},[1781],{"type":659,"value":1782},"  return",{"type":644,"tag":33,"props":1784,"children":1785},{"style":667},[1786],{"type":659,"value":1787}," { flush, ",{"type":644,"tag":33,"props":1789,"children":1790},{"style":735},[1791],{"type":659,"value":1792},"dispose",{"type":644,"tag":33,"props":1794,"children":1795},{"style":667},[1796],{"type":659,"value":1797},": () ",{"type":644,"tag":33,"props":1799,"children":1800},{"style":656},[1801],{"type":659,"value":376},{"type":644,"tag":33,"props":1803,"children":1804},{"style":667},[1805],{"type":659,"value":1806}," scope.",{"type":644,"tag":33,"props":1808,"children":1809},{"style":735},[1810],{"type":659,"value":1792},{"type":644,"tag":33,"props":1812,"children":1813},{"style":667},[1814],{"type":659,"value":1101},{"type":644,"tag":33,"props":1816,"children":1818},{"class":35,"line":1817},42,[1819],{"type":644,"tag":33,"props":1820,"children":1821},{"style":667},[1822],{"type":659,"value":1823},"}\n",{"type":644,"tag":613,"props":1825,"children":1826},{},[1827],{"type":659,"value":1828},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",1793046311993]