zen-gitsync 2.17.42 → 2.17.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/package.json +7 -1
  2. package/src/ui/public/assets/AgentEngineSelector-BwFdXZnh.js +2 -0
  3. package/src/ui/public/assets/AgentView-CMQ7TzwN.js +11 -0
  4. package/src/ui/public/assets/AppVersionBadge-Bk4XGXki.js +2 -0
  5. package/src/ui/public/assets/BranchSelector-DL37Ho4j.js +1 -0
  6. package/src/ui/public/assets/CommitForm-BGpFU-fp.css +1 -0
  7. package/src/ui/public/assets/CommitForm-DdvYlUtA.js +14 -0
  8. package/src/ui/public/assets/{CommonDialog-q8bffY57.js → CommonDialog-BT6e135Y.js} +1 -1
  9. package/src/ui/public/assets/EditorView-CeZ-EvP1.js +37 -0
  10. package/src/ui/public/assets/{EditorView-QROmuz4O.css → EditorView-X6M5DS2w.css} +1 -1
  11. package/src/ui/public/assets/{FlowExecutionViewer-DMxdFp7T.js → FlowExecutionViewer-DIlgernH.js} +1 -1
  12. package/src/ui/public/assets/FlowOrchestrationWorkspace-BIFFckMG.js +21 -0
  13. package/src/ui/public/assets/LogList-CYU0YVnC.js +7 -0
  14. package/src/ui/public/assets/MindmapView-B2Oz9nCS.css +1 -0
  15. package/src/ui/public/assets/MindmapView-DYB3_94z.js +2 -0
  16. package/src/ui/public/assets/MonitorView-CTtuMls4.css +1 -0
  17. package/src/ui/public/assets/MonitorView-DKXSFbyq.js +3 -0
  18. package/src/ui/public/assets/ProjectStartupButton-BMICmCA_.js +1 -0
  19. package/src/ui/public/assets/RecentDirectoriesChat-LOD3UBFM.js +3 -0
  20. package/src/ui/public/assets/RemoteManagerDialog-S3xLgN02.js +4 -0
  21. package/src/ui/public/assets/{RemoteRepoCard-muY6G96M.js → RemoteRepoCard-BLb8tACY.js} +2 -2
  22. package/src/ui/public/assets/{SourceMapView-CLrtq2ey.js → SourceMapView-BA7E3JX7.js} +3 -3
  23. package/src/ui/public/assets/{SvgIcon-CVenF0Ye.js → SvgIcon-Dd0dgVcd.js} +1 -1
  24. package/src/ui/public/assets/UserInputNode-B0YtQfhh.js +1 -0
  25. package/src/ui/public/assets/WorkbenchView-lgVbWRyY.js +287 -0
  26. package/src/ui/public/assets/{_plugin-vue_export-helper-BUtBXJ4L.js → _plugin-vue_export-helper-DibQ4qNS.js} +3 -3
  27. package/src/ui/public/assets/{agentConversations-COO5r7ra.js → agentConversations-CyGrxt-h.js} +4 -4
  28. package/src/ui/public/assets/{configStore-B8_uxBp2.js → configStore-DQ92GVaR.js} +1 -1
  29. package/src/ui/public/assets/{css.worker-BDCmgL4U.js → css.worker-DFdt6_zu.js} +9 -9
  30. package/src/ui/public/assets/{dagre-BWDqZwmv.js → dagre-BPEW99Ym.js} +4 -4
  31. package/src/ui/public/assets/editor.worker-O-CH8JUO.js +26 -0
  32. package/src/ui/public/assets/element-plus-C8IhrglD.js +48 -0
  33. package/src/ui/public/assets/element-plus-DJ3ZQa98.css +1 -0
  34. package/src/ui/public/assets/{flow-mindmap-CY72TleH.js → flow-mindmap-BQUUIfaR.js} +1 -1
  35. package/src/ui/public/assets/{html.worker-DG8hnSJR.js → html.worker-JUzsMP-j.js} +8 -8
  36. package/src/ui/public/assets/index-DavZzOom.css +1 -0
  37. package/src/ui/public/assets/index-ED00NaPI.js +198 -0
  38. package/src/ui/public/assets/json.worker-B4dEhy0e.js +58 -0
  39. package/src/ui/public/assets/{monaco-CpT1sgBA.js → monaco-kXz8a-yc.js} +6 -6
  40. package/src/ui/public/assets/{office-docx-COuLzG9K.js → office-docx-4ZL-nECj.js} +1 -1
  41. package/src/ui/public/assets/{office-excel-BTtyMAdK.js → office-excel-BlPftvU4.js} +1 -1
  42. package/src/ui/public/assets/{office-pptx-BB2cWQB-.js → office-pptx-CVP1caLm.js} +3 -3
  43. package/src/ui/public/assets/{ts.worker-DgFMIcEs.js → ts.worker-CmEKzkmF.js} +49 -49
  44. package/src/ui/public/assets/{vendor-JPxCsYZA.js → vendor-CazUJJkv.js} +8 -8
  45. package/src/ui/public/assets/{vue-flow-DinCMZbP.js → vue-flow-BABZEIJA.js} +1 -1
  46. package/src/ui/public/index.html +14 -26
  47. package/src/ui/server/routes/instances.js +42 -13
  48. package/src/ui/server/routes/instances.test.js +55 -32
  49. package/src/ui/server/routes/workbench/executorModels.test.js +326 -326
  50. package/src/ui/public/assets/AgentEngineSelector-CLJ4rGGb.js +0 -2
  51. package/src/ui/public/assets/AgentView-C7tbE1pr.js +0 -11
  52. package/src/ui/public/assets/AppVersionBadge-CjrqnPHZ.js +0 -2
  53. package/src/ui/public/assets/BranchSelector-B1RkRjkT.js +0 -1
  54. package/src/ui/public/assets/CommitForm-Dlr6QTba.js +0 -6
  55. package/src/ui/public/assets/CommitForm-DoR9UNBD.css +0 -1
  56. package/src/ui/public/assets/EditorView-WQIQHdqS.js +0 -37
  57. package/src/ui/public/assets/FileDiffViewer-CFJFN_xQ.js +0 -15
  58. package/src/ui/public/assets/FileDiffViewer-D1aR4rba.css +0 -1
  59. package/src/ui/public/assets/FlowOrchestrationWorkspace-vBWYTGeM.js +0 -21
  60. package/src/ui/public/assets/IconButton-Ca_axHSP.css +0 -1
  61. package/src/ui/public/assets/IconButton-Chpl6IGZ.js +0 -1
  62. package/src/ui/public/assets/LogList-CinD-VGc.js +0 -7
  63. package/src/ui/public/assets/MindmapView-BXCi5cvH.css +0 -1
  64. package/src/ui/public/assets/MindmapView-CAod7lPv.js +0 -2
  65. package/src/ui/public/assets/MonitorView-B2YVWNrs.css +0 -1
  66. package/src/ui/public/assets/MonitorView-B5sOfRgx.js +0 -1
  67. package/src/ui/public/assets/ProjectStartupButton-ZzSQN2oO.js +0 -1
  68. package/src/ui/public/assets/RecentDirectoriesChat-DiiaL2lT.js +0 -3
  69. package/src/ui/public/assets/RemoteManagerDialog-D8pMeIHt.js +0 -4
  70. package/src/ui/public/assets/TemplateManager-Bnek7hoV.css +0 -1
  71. package/src/ui/public/assets/TemplateManager-DTQ0Oir3.js +0 -1
  72. package/src/ui/public/assets/UserInputNode-CGKrY_Y8.js +0 -1
  73. package/src/ui/public/assets/WorkbenchView-BnHSL8Lr.js +0 -287
  74. package/src/ui/public/assets/editor.worker-GCPm6rMv.js +0 -26
  75. package/src/ui/public/assets/element-plus-0wIX-Gk-.js +0 -48
  76. package/src/ui/public/assets/element-plus-C1xzgNSR.css +0 -1
  77. package/src/ui/public/assets/fileIcon-B5p5pGN9.js +0 -1
  78. package/src/ui/public/assets/gitStore-bZysdieB.js +0 -6
  79. package/src/ui/public/assets/index-BetEwMCp.js +0 -162
  80. package/src/ui/public/assets/index-JVjC2bGh.css +0 -1
  81. package/src/ui/public/assets/json.worker-CxwlJRnL.js +0 -58
  82. package/src/ui/public/assets/previewSandbox-BcYj-0Up.css +0 -1
  83. package/src/ui/public/assets/previewSandbox-CgcL-OLc.js +0 -9
  84. package/src/ui/public/assets/toolsStore-CofRox1m.js +0 -1
  85. package/src/ui/public/assets/useThemeObserver-D0lx06N9.js +0 -1
@@ -1,4 +1,4 @@
1
- import{r as e}from"./rolldown-runtime-C0FnF6B9.js";import{ir as t}from"./dagre-BWDqZwmv.js";function n(e){return new Worker(`/assets/editor.worker-GCPm6rMv.js`,{name:e?.name})}function r(e){return new Worker(`/assets/json.worker-CxwlJRnL.js`,{name:e?.name})}function i(e){return new Worker(`/assets/css.worker-BDCmgL4U.js`,{name:e?.name})}function a(e){return new Worker(`/assets/html.worker-DG8hnSJR.js`,{name:e?.name})}function o(e){return new Worker(`/assets/ts.worker-DgFMIcEs.js`,{name:e?.name})}var s=e({conf:()=>c,language:()=>l}),c={comments:{lineComment:`*`},brackets:[[`[`,`]`],[`(`,`)`]]},l={defaultToken:`invalid`,ignoreCase:!0,tokenPostfix:`.abap`,keywords:`abap-source.abbreviated.abstract.accept.accepting.according.activation.actual.add.add-corresponding.adjacent.after.alias.aliases.align.all.allocate.alpha.analysis.analyzer.and.append.appendage.appending.application.archive.area.arithmetic.as.ascending.aspect.assert.assign.assigned.assigning.association.asynchronous.at.attributes.authority.authority-check.avg.back.background.backup.backward.badi.base.before.begin.between.big.binary.bintohex.bit.black.blank.blanks.blob.block.blocks.blue.bound.boundaries.bounds.boxed.break-point.buffer.by.bypassing.byte.byte-order.call.calling.case.cast.casting.catch.center.centered.chain.chain-input.chain-request.change.changing.channels.character.char-to-hex.check.checkbox.ci_.circular.class.class-coding.class-data.class-events.class-methods.class-pool.cleanup.clear.client.clob.clock.close.coalesce.code.coding.col_background.col_group.col_heading.col_key.col_negative.col_normal.col_positive.col_total.collect.color.column.columns.comment.comments.commit.common.communication.comparing.component.components.compression.compute.concat.concat_with_space.concatenate.cond.condense.condition.connect.connection.constants.context.contexts.continue.control.controls.conv.conversion.convert.copies.copy.corresponding.country.cover.cpi.create.creating.critical.currency.currency_conversion.current.cursor.cursor-selection.customer.customer-function.dangerous.data.database.datainfo.dataset.date.dats_add_days.dats_add_months.dats_days_between.dats_is_valid.daylight.dd/mm/yy.dd/mm/yyyy.ddmmyy.deallocate.decimal_shift.decimals.declarations.deep.default.deferred.define.defining.definition.delete.deleting.demand.department.descending.describe.destination.detail.dialog.directory.disconnect.display.display-mode.distinct.divide.divide-corresponding.division.do.dummy.duplicate.duplicates.duration.during.dynamic.dynpro.edit.editor-call.else.elseif.empty.enabled.enabling.encoding.end.endat.endcase.endcatch.endchain.endclass.enddo.endenhancement.end-enhancement-section.endexec.endform.endfunction.endian.endif.ending.endinterface.end-lines.endloop.endmethod.endmodule.end-of-definition.end-of-editing.end-of-file.end-of-page.end-of-selection.endon.endprovide.endselect.end-test-injection.end-test-seam.endtry.endwhile.endwith.engineering.enhancement.enhancement-point.enhancements.enhancement-section.entries.entry.enum.environment.equiv.errormessage.errors.escaping.event.events.exact.except.exception.exceptions.exception-table.exclude.excluding.exec.execute.exists.exit.exit-command.expand.expanding.expiration.explicit.exponent.export.exporting.extend.extended.extension.extract.fail.fetch.field.field-groups.fields.field-symbol.field-symbols.file.filter.filters.filter-table.final.find.first.first-line.fixed-point.fkeq.fkge.flush.font.for.form.format.forward.found.frame.frames.free.friends.from.function.functionality.function-pool.further.gaps.generate.get.giving.gkeq.gkge.global.grant.green.group.groups.handle.handler.harmless.hashed.having.hdb.header.headers.heading.head-lines.help-id.help-request.hextobin.hide.high.hint.hold.hotspot.icon.id.identification.identifier.ids.if.ignore.ignoring.immediately.implementation.implementations.implemented.implicit.import.importing.in.inactive.incl.include.includes.including.increment.index.index-line.infotypes.inheriting.init.initial.initialization.inner.inout.input.insert.instance.instances.instr.intensified.interface.interface-pool.interfaces.internal.intervals.into.inverse.inverted-date.is.iso.job.join.keep.keeping.kernel.key.keys.keywords.kind.language.last.late.layout.leading.leave.left.left-justified.leftplus.leftspace.legacy.length.let.level.levels.like.line.lines.line-count.linefeed.line-selection.line-size.list.listbox.list-processing.little.llang.load.load-of-program.lob.local.locale.locator.logfile.logical.log-point.long.loop.low.lower.lpad.lpi.ltrim.mail.main.major-id.mapping.margin.mark.mask.match.matchcode.max.maximum.medium.members.memory.mesh.message.message-id.messages.messaging.method.methods.min.minimum.minor-id.mm/dd/yy.mm/dd/yyyy.mmddyy.mode.modif.modifier.modify.module.move.move-corresponding.multiply.multiply-corresponding.name.nametab.native.nested.nesting.new.new-line.new-page.new-section.next.no.no-display.no-extension.no-gap.no-gaps.no-grouping.no-heading.no-scrolling.no-sign.no-title.no-topofpage.no-zero.node.nodes.non-unicode.non-unique.not.null.number.object.objects.obligatory.occurrence.occurrences.occurs.of.off.offset.ole.on.only.open.option.optional.options.or.order.other.others.out.outer.output.output-length.overflow.overlay.pack.package.pad.padding.page.pages.parameter.parameters.parameter-table.part.partially.pattern.percentage.perform.performing.person.pf1.pf10.pf11.pf12.pf13.pf14.pf15.pf2.pf3.pf4.pf5.pf6.pf7.pf8.pf9.pf-status.pink.places.pool.pos_high.pos_low.position.pragmas.precompiled.preferred.preserving.primary.print.print-control.priority.private.procedure.process.program.property.protected.provide.public.push.pushbutton.put.queue-only.quickinfo.radiobutton.raise.raising.range.ranges.read.reader.read-only.receive.received.receiver.receiving.red.redefinition.reduce.reduced.ref.reference.refresh.regex.reject.remote.renaming.replace.replacement.replacing.report.request.requested.reserve.reset.resolution.respecting.responsible.result.results.resumable.resume.retry.return.returncode.returning.returns.right.right-justified.rightplus.rightspace.risk.rmc_communication_failure.rmc_invalid_status.rmc_system_failure.role.rollback.rows.rpad.rtrim.run.sap.sap-spool.saving.scale_preserving.scale_preserving_scientific.scan.scientific.scientific_with_leading_zero.scroll.scroll-boundary.scrolling.search.secondary.seconds.section.select.selection.selections.selection-screen.selection-set.selection-sets.selection-table.select-options.send.separate.separated.set.shared.shift.short.shortdump-id.sign_as_postfix.single.size.skip.skipping.smart.some.sort.sortable.sorted.source.specified.split.spool.spots.sql.sqlscript.stable.stamp.standard.starting.start-of-editing.start-of-selection.state.statement.statements.static.statics.statusinfo.step-loop.stop.structure.structures.style.subkey.submatches.submit.subroutine.subscreen.subtract.subtract-corresponding.suffix.sum.summary.summing.supplied.supply.suppress.switch.switchstates.symbol.syncpoints.syntax.syntax-check.syntax-trace.system-call.system-exceptions.system-exit.tab.tabbed.table.tables.tableview.tabstrip.target.task.tasks.test.testing.test-injection.test-seam.text.textpool.then.throw.time.times.timestamp.timezone.tims_is_valid.title.titlebar.title-lines.to.tokenization.tokens.top-lines.top-of-page.trace-file.trace-table.trailing.transaction.transfer.transformation.translate.transporting.trmac.truncate.truncation.try.tstmp_add_seconds.tstmp_current_utctimestamp.tstmp_is_valid.tstmp_seconds_between.type.type-pool.type-pools.types.uline.unassign.under.unicode.union.unique.unit_conversion.unix.unpack.until.unwind.up.update.upper.user.user-command.using.utf-8.valid.value.value-request.values.vary.varying.verification-message.version.via.view.visible.wait.warning.when.whenever.where.while.width.window.windows.with.with-heading.without.with-title.word.work.write.writer.xml.xsd.yellow.yes.yymmdd.zero.zone.abap_system_timezone.abap_user_timezone.access.action.adabas.adjust_numbers.allow_precision_loss.allowed.amdp.applicationuser.as_geo_json.as400.associations.balance.behavior.breakup.bulk.cds.cds_client.check_before_save.child.clients.corr.corr_spearman.cross.cycles.datn_add_days.datn_add_months.datn_days_between.dats_from_datn.dats_tims_to_tstmp.dats_to_datn.db2.db6.ddl.dense_rank.depth.deterministic.discarding.entities.entity.error.failed.finalize.first_value.fltp_to_dec.following.fractional.full.graph.grouping.hierarchy.hierarchy_ancestors.hierarchy_ancestors_aggregate.hierarchy_descendants.hierarchy_descendants_aggregate.hierarchy_siblings.incremental.indicators.lag.last_value.lead.leaves.like_regexpr.link.locale_sap.lock.locks.many.mapped.matched.measures.median.mssqlnt.multiple.nodetype.ntile.nulls.occurrences_regexpr.one.operations.oracle.orphans.over.parent.parents.partition.pcre.period.pfcg_mapping.preceding.privileged.product.projection.rank.redirected.replace_regexpr.reported.response.responses.root.row.row_number.sap_system_date.save.schema.session.sets.shortdump.siblings.spantree.start.stddev.string_agg.subtotal.sybase.tims_from_timn.tims_to_timn.to_blob.to_clob.total.trace-entry.tstmp_to_dats.tstmp_to_dst.tstmp_to_tims.tstmpl_from_utcl.tstmpl_to_utcl.unbounded.utcl_add_seconds.utcl_current.utcl_seconds_between.uuid.var.verbatim`.split(`.`),builtinFunctions:`abs.acos.asin.atan.bit-set.boolc.boolx.ceil.char_off.charlen.cmax.cmin.concat_lines_of.contains.contains_any_not_of.contains_any_of.cos.cosh.count.count_any_not_of.count_any_of.dbmaxlen.distance.escape.exp.find_any_not_of.find_any_of.find_end.floor.frac.from_mixed.ipow.line_exists.line_index.log.log10.matches.nmax.nmin.numofchar.repeat.rescale.reverse.round.segment.shift_left.shift_right.sign.sin.sinh.sqrt.strlen.substring.substring_after.substring_before.substring_from.substring_to.tan.tanh.to_lower.to_mixed.to_upper.trunc.utclong_add.utclong_current.utclong_diff.xsdbool.xstrlen`.split(`.`),typeKeywords:`b.c.d.decfloat16.decfloat34.f.i.int8.n.p.s.string.t.utclong.x.xstring.any.clike.csequence.decfloat.numeric.simple.xsequence.accp.char.clnt.cuky.curr.datn.dats.d16d.d16n.d16r.d34d.d34n.d34r.dec.df16_dec.df16_raw.df34_dec.df34_raw.fltp.geom_ewkb.int1.int2.int4.lang.lchr.lraw.numc.quan.raw.rawstring.sstring.timn.tims.unit.utcl.df16_scl.df34_scl.prec.varc.abap_bool.abap_false.abap_true.abap_undefined.me.screen.space.super.sy.syst.table_line.*sys*`.split(`.`),builtinMethods:[`class_constructor`,`constructor`],derivedTypes:[`%CID`,`%CID_REF`,`%CONTROL`,`%DATA`,`%ELEMENT`,`%FAIL`,`%KEY`,`%MSG`,`%PARAM`,`%PID`,`%PID_ASSOC`,`%PID_PARENT`,`%_HINTS`],cdsLanguage:[`@AbapAnnotation`,`@AbapCatalog`,`@AccessControl`,`@API`,`@ClientDependent`,`@ClientHandling`,`@CompatibilityContract`,`@DataAging`,`@EndUserText`,`@Environment`,`@LanguageDependency`,`@MappingRole`,`@Metadata`,`@MetadataExtension`,`@ObjectModel`,`@Scope`,`@Semantics`,`$EXTENSION`,`$SELF`],selectors:[`->`,`->*`,`=>`,`~`,`~*`],operators:` +. -./.*.**.div.mod.=.#.@.+=.-=.*=./=.**=.&&=.?=.&.&&.bit-and.bit-not.bit-or.bit-xor.m.o.z.<. >.<=.>=.<>.><.=<.=>.bt.byte-ca.byte-cn.byte-co.byte-cs.byte-na.byte-ns.ca.cn.co.cp.cs.eq.ge.gt.le.lt.na.nb.ne.np.ns.*/.*:.--./*.//`.split(`.`),symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":`type`,"@keywords":`keyword`,"@cdsLanguage":`annotation`,"@derivedTypes":`type`,"@builtinFunctions":`type`,"@builtinMethods":`type`,"@operators":`key`,"@default":`identifier`}}],[/<[\w]+>/,`identifier`],[/##[\w|_]+/,`comment`],{include:`@whitespace`},[/[:,.]/,`delimiter`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,{cases:{"@selectors":`tag`,"@operators":`key`,"@default":``}}],[/'/,{token:`string`,bracket:`@open`,next:`@stringquote`}],[/`/,{token:`string`,bracket:`@open`,next:`@stringping`}],[/\|/,{token:`string`,bracket:`@open`,next:`@stringtemplate`}],[/\d+/,`number`]],stringtemplate:[[/[^\\\|]+/,`string`],[/\\\|/,`string`],[/\|/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringping:[[/[^\\`]+/,`string`],[/`/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringquote:[[/[^\\']+/,`string`],[/'/,{token:`string`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/^\*.*$/,`comment`],[/\".*$/,`comment`]]}},u=e({conf:()=>d,language:()=>h}),d={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))`),end:RegExp(`^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))`)}}},f=`abstract.activate.and.any.array.as.asc.assert.autonomous.begin.bigdecimal.blob.boolean.break.bulk.by.case.cast.catch.char.class.collect.commit.const.continue.convertcurrency.decimal.default.delete.desc.do.double.else.end.enum.exception.exit.export.extends.false.final.finally.float.for.from.future.get.global.goto.group.having.hint.if.implements.import.in.inner.insert.instanceof.int.interface.into.join.last_90_days.last_month.last_n_days.last_week.like.limit.list.long.loop.map.merge.native.new.next_90_days.next_month.next_n_days.next_week.not.null.nulls.number.object.of.on.or.outer.override.package.parallel.pragma.private.protected.public.retrieve.return.returning.rollback.savepoint.search.select.set.short.sort.stat.static.strictfp.super.switch.synchronized.system.testmethod.then.this.this_month.this_week.throw.throws.today.tolabel.tomorrow.transaction.transient.trigger.true.try.type.undelete.update.upsert.using.virtual.void.volatile.webservice.when.where.while.yesterday`.split(`.`),p=e=>e.charAt(0).toUpperCase()+e.substr(1),m=[];f.forEach(e=>{m.push(e),m.push(e.toUpperCase()),m.push(p(e))});var h={defaultToken:``,tokenPostfix:`.apex`,keywords:m,operators:`=.>.<.!.~.?.:.==.<=.>=.!=.&&.||.++.--.+.-.*./.&.|.^.%.<<.>>.>>>.+=.-=.*=./=.&=.|=.^=.%=.<<=.>>=.>>>=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`type.identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/@\s*[a-zA-Z_\$][\w\$]*/,`annotation`],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)[fFdD]/,`number.float`],[/(@digits)[lL]?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@apexdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],apexdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}]]}},g=e({conf:()=>_,language:()=>v}),_={comments:{lineComment:`#`}},v={defaultToken:`keyword`,ignoreCase:!0,tokenPostfix:`.azcli`,str:/[^#\s]/,tokenizer:{root:[{include:`@comment`},[/\s-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}]],type:[{include:`@comment`},[/-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":`key.identifier`}}],[/@str+\s*/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}]],comment:[[/#.*$/,{cases:{"@eos":{token:`comment`,next:`@popall`}}}]]}},y=e({conf:()=>b,language:()=>x}),b={comments:{lineComment:`REM`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],surroundingPairs:[{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],folding:{markers:{start:RegExp(`^\\s*(::\\s*|REM\\s+)#region`),end:RegExp(`^\\s*(::\\s*|REM\\s+)#endregion`)}}},x={defaultToken:``,ignoreCase:!0,tokenPostfix:`.bat`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,[``,`comment`]],[/(\@?)(@keywords)(?!\w)/,[{token:`keyword`},{token:`keyword.$2`}]],[/[ \t\r\n]+/,``],[/setlocal(?!\w)/,`keyword.tag-setlocal`],[/endlocal(?!\w)/,`keyword.tag-setlocal`],[/[a-zA-Z_]\w*/,``],[/:\w*/,`metatag`],[/%[^%]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,`delimiter`],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,`number.hex`],[/\d+/,`number`],[/[;,.]/,`delimiter`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/%[\w ]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/$/,`string`,`@popall`]]}},S=e({conf:()=>ae,language:()=>oe}),ee=(e=>`\\b${e}\\b`)(`[_a-zA-Z][_a-zA-Z0-9]*`),te=[`targetScope`,`resource`,`module`,`param`,`var`,`output`,`for`,`in`,`if`,`existing`],ne=[`true`,`false`,`null`],re=`[ \\t\\r\\n]`,ie=`[0-9]+`,ae={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`},{open:`'''`,close:`'''`}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`'''`,close:`'''`,notIn:[`string`,`comment`]}],autoCloseBefore:`:.,=}])'
1
+ import{r as e}from"./rolldown-runtime-C0FnF6B9.js";import{ir as t}from"./dagre-BPEW99Ym.js";function n(e){return new Worker(`/assets/editor.worker-O-CH8JUO.js`,{name:e?.name})}function r(e){return new Worker(`/assets/json.worker-B4dEhy0e.js`,{name:e?.name})}function i(e){return new Worker(`/assets/css.worker-DFdt6_zu.js`,{name:e?.name})}function a(e){return new Worker(`/assets/html.worker-JUzsMP-j.js`,{name:e?.name})}function o(e){return new Worker(`/assets/ts.worker-CmEKzkmF.js`,{name:e?.name})}var s=e({conf:()=>c,language:()=>l}),c={comments:{lineComment:`*`},brackets:[[`[`,`]`],[`(`,`)`]]},l={defaultToken:`invalid`,ignoreCase:!0,tokenPostfix:`.abap`,keywords:`abap-source.abbreviated.abstract.accept.accepting.according.activation.actual.add.add-corresponding.adjacent.after.alias.aliases.align.all.allocate.alpha.analysis.analyzer.and.append.appendage.appending.application.archive.area.arithmetic.as.ascending.aspect.assert.assign.assigned.assigning.association.asynchronous.at.attributes.authority.authority-check.avg.back.background.backup.backward.badi.base.before.begin.between.big.binary.bintohex.bit.black.blank.blanks.blob.block.blocks.blue.bound.boundaries.bounds.boxed.break-point.buffer.by.bypassing.byte.byte-order.call.calling.case.cast.casting.catch.center.centered.chain.chain-input.chain-request.change.changing.channels.character.char-to-hex.check.checkbox.ci_.circular.class.class-coding.class-data.class-events.class-methods.class-pool.cleanup.clear.client.clob.clock.close.coalesce.code.coding.col_background.col_group.col_heading.col_key.col_negative.col_normal.col_positive.col_total.collect.color.column.columns.comment.comments.commit.common.communication.comparing.component.components.compression.compute.concat.concat_with_space.concatenate.cond.condense.condition.connect.connection.constants.context.contexts.continue.control.controls.conv.conversion.convert.copies.copy.corresponding.country.cover.cpi.create.creating.critical.currency.currency_conversion.current.cursor.cursor-selection.customer.customer-function.dangerous.data.database.datainfo.dataset.date.dats_add_days.dats_add_months.dats_days_between.dats_is_valid.daylight.dd/mm/yy.dd/mm/yyyy.ddmmyy.deallocate.decimal_shift.decimals.declarations.deep.default.deferred.define.defining.definition.delete.deleting.demand.department.descending.describe.destination.detail.dialog.directory.disconnect.display.display-mode.distinct.divide.divide-corresponding.division.do.dummy.duplicate.duplicates.duration.during.dynamic.dynpro.edit.editor-call.else.elseif.empty.enabled.enabling.encoding.end.endat.endcase.endcatch.endchain.endclass.enddo.endenhancement.end-enhancement-section.endexec.endform.endfunction.endian.endif.ending.endinterface.end-lines.endloop.endmethod.endmodule.end-of-definition.end-of-editing.end-of-file.end-of-page.end-of-selection.endon.endprovide.endselect.end-test-injection.end-test-seam.endtry.endwhile.endwith.engineering.enhancement.enhancement-point.enhancements.enhancement-section.entries.entry.enum.environment.equiv.errormessage.errors.escaping.event.events.exact.except.exception.exceptions.exception-table.exclude.excluding.exec.execute.exists.exit.exit-command.expand.expanding.expiration.explicit.exponent.export.exporting.extend.extended.extension.extract.fail.fetch.field.field-groups.fields.field-symbol.field-symbols.file.filter.filters.filter-table.final.find.first.first-line.fixed-point.fkeq.fkge.flush.font.for.form.format.forward.found.frame.frames.free.friends.from.function.functionality.function-pool.further.gaps.generate.get.giving.gkeq.gkge.global.grant.green.group.groups.handle.handler.harmless.hashed.having.hdb.header.headers.heading.head-lines.help-id.help-request.hextobin.hide.high.hint.hold.hotspot.icon.id.identification.identifier.ids.if.ignore.ignoring.immediately.implementation.implementations.implemented.implicit.import.importing.in.inactive.incl.include.includes.including.increment.index.index-line.infotypes.inheriting.init.initial.initialization.inner.inout.input.insert.instance.instances.instr.intensified.interface.interface-pool.interfaces.internal.intervals.into.inverse.inverted-date.is.iso.job.join.keep.keeping.kernel.key.keys.keywords.kind.language.last.late.layout.leading.leave.left.left-justified.leftplus.leftspace.legacy.length.let.level.levels.like.line.lines.line-count.linefeed.line-selection.line-size.list.listbox.list-processing.little.llang.load.load-of-program.lob.local.locale.locator.logfile.logical.log-point.long.loop.low.lower.lpad.lpi.ltrim.mail.main.major-id.mapping.margin.mark.mask.match.matchcode.max.maximum.medium.members.memory.mesh.message.message-id.messages.messaging.method.methods.min.minimum.minor-id.mm/dd/yy.mm/dd/yyyy.mmddyy.mode.modif.modifier.modify.module.move.move-corresponding.multiply.multiply-corresponding.name.nametab.native.nested.nesting.new.new-line.new-page.new-section.next.no.no-display.no-extension.no-gap.no-gaps.no-grouping.no-heading.no-scrolling.no-sign.no-title.no-topofpage.no-zero.node.nodes.non-unicode.non-unique.not.null.number.object.objects.obligatory.occurrence.occurrences.occurs.of.off.offset.ole.on.only.open.option.optional.options.or.order.other.others.out.outer.output.output-length.overflow.overlay.pack.package.pad.padding.page.pages.parameter.parameters.parameter-table.part.partially.pattern.percentage.perform.performing.person.pf1.pf10.pf11.pf12.pf13.pf14.pf15.pf2.pf3.pf4.pf5.pf6.pf7.pf8.pf9.pf-status.pink.places.pool.pos_high.pos_low.position.pragmas.precompiled.preferred.preserving.primary.print.print-control.priority.private.procedure.process.program.property.protected.provide.public.push.pushbutton.put.queue-only.quickinfo.radiobutton.raise.raising.range.ranges.read.reader.read-only.receive.received.receiver.receiving.red.redefinition.reduce.reduced.ref.reference.refresh.regex.reject.remote.renaming.replace.replacement.replacing.report.request.requested.reserve.reset.resolution.respecting.responsible.result.results.resumable.resume.retry.return.returncode.returning.returns.right.right-justified.rightplus.rightspace.risk.rmc_communication_failure.rmc_invalid_status.rmc_system_failure.role.rollback.rows.rpad.rtrim.run.sap.sap-spool.saving.scale_preserving.scale_preserving_scientific.scan.scientific.scientific_with_leading_zero.scroll.scroll-boundary.scrolling.search.secondary.seconds.section.select.selection.selections.selection-screen.selection-set.selection-sets.selection-table.select-options.send.separate.separated.set.shared.shift.short.shortdump-id.sign_as_postfix.single.size.skip.skipping.smart.some.sort.sortable.sorted.source.specified.split.spool.spots.sql.sqlscript.stable.stamp.standard.starting.start-of-editing.start-of-selection.state.statement.statements.static.statics.statusinfo.step-loop.stop.structure.structures.style.subkey.submatches.submit.subroutine.subscreen.subtract.subtract-corresponding.suffix.sum.summary.summing.supplied.supply.suppress.switch.switchstates.symbol.syncpoints.syntax.syntax-check.syntax-trace.system-call.system-exceptions.system-exit.tab.tabbed.table.tables.tableview.tabstrip.target.task.tasks.test.testing.test-injection.test-seam.text.textpool.then.throw.time.times.timestamp.timezone.tims_is_valid.title.titlebar.title-lines.to.tokenization.tokens.top-lines.top-of-page.trace-file.trace-table.trailing.transaction.transfer.transformation.translate.transporting.trmac.truncate.truncation.try.tstmp_add_seconds.tstmp_current_utctimestamp.tstmp_is_valid.tstmp_seconds_between.type.type-pool.type-pools.types.uline.unassign.under.unicode.union.unique.unit_conversion.unix.unpack.until.unwind.up.update.upper.user.user-command.using.utf-8.valid.value.value-request.values.vary.varying.verification-message.version.via.view.visible.wait.warning.when.whenever.where.while.width.window.windows.with.with-heading.without.with-title.word.work.write.writer.xml.xsd.yellow.yes.yymmdd.zero.zone.abap_system_timezone.abap_user_timezone.access.action.adabas.adjust_numbers.allow_precision_loss.allowed.amdp.applicationuser.as_geo_json.as400.associations.balance.behavior.breakup.bulk.cds.cds_client.check_before_save.child.clients.corr.corr_spearman.cross.cycles.datn_add_days.datn_add_months.datn_days_between.dats_from_datn.dats_tims_to_tstmp.dats_to_datn.db2.db6.ddl.dense_rank.depth.deterministic.discarding.entities.entity.error.failed.finalize.first_value.fltp_to_dec.following.fractional.full.graph.grouping.hierarchy.hierarchy_ancestors.hierarchy_ancestors_aggregate.hierarchy_descendants.hierarchy_descendants_aggregate.hierarchy_siblings.incremental.indicators.lag.last_value.lead.leaves.like_regexpr.link.locale_sap.lock.locks.many.mapped.matched.measures.median.mssqlnt.multiple.nodetype.ntile.nulls.occurrences_regexpr.one.operations.oracle.orphans.over.parent.parents.partition.pcre.period.pfcg_mapping.preceding.privileged.product.projection.rank.redirected.replace_regexpr.reported.response.responses.root.row.row_number.sap_system_date.save.schema.session.sets.shortdump.siblings.spantree.start.stddev.string_agg.subtotal.sybase.tims_from_timn.tims_to_timn.to_blob.to_clob.total.trace-entry.tstmp_to_dats.tstmp_to_dst.tstmp_to_tims.tstmpl_from_utcl.tstmpl_to_utcl.unbounded.utcl_add_seconds.utcl_current.utcl_seconds_between.uuid.var.verbatim`.split(`.`),builtinFunctions:`abs.acos.asin.atan.bit-set.boolc.boolx.ceil.char_off.charlen.cmax.cmin.concat_lines_of.contains.contains_any_not_of.contains_any_of.cos.cosh.count.count_any_not_of.count_any_of.dbmaxlen.distance.escape.exp.find_any_not_of.find_any_of.find_end.floor.frac.from_mixed.ipow.line_exists.line_index.log.log10.matches.nmax.nmin.numofchar.repeat.rescale.reverse.round.segment.shift_left.shift_right.sign.sin.sinh.sqrt.strlen.substring.substring_after.substring_before.substring_from.substring_to.tan.tanh.to_lower.to_mixed.to_upper.trunc.utclong_add.utclong_current.utclong_diff.xsdbool.xstrlen`.split(`.`),typeKeywords:`b.c.d.decfloat16.decfloat34.f.i.int8.n.p.s.string.t.utclong.x.xstring.any.clike.csequence.decfloat.numeric.simple.xsequence.accp.char.clnt.cuky.curr.datn.dats.d16d.d16n.d16r.d34d.d34n.d34r.dec.df16_dec.df16_raw.df34_dec.df34_raw.fltp.geom_ewkb.int1.int2.int4.lang.lchr.lraw.numc.quan.raw.rawstring.sstring.timn.tims.unit.utcl.df16_scl.df34_scl.prec.varc.abap_bool.abap_false.abap_true.abap_undefined.me.screen.space.super.sy.syst.table_line.*sys*`.split(`.`),builtinMethods:[`class_constructor`,`constructor`],derivedTypes:[`%CID`,`%CID_REF`,`%CONTROL`,`%DATA`,`%ELEMENT`,`%FAIL`,`%KEY`,`%MSG`,`%PARAM`,`%PID`,`%PID_ASSOC`,`%PID_PARENT`,`%_HINTS`],cdsLanguage:[`@AbapAnnotation`,`@AbapCatalog`,`@AccessControl`,`@API`,`@ClientDependent`,`@ClientHandling`,`@CompatibilityContract`,`@DataAging`,`@EndUserText`,`@Environment`,`@LanguageDependency`,`@MappingRole`,`@Metadata`,`@MetadataExtension`,`@ObjectModel`,`@Scope`,`@Semantics`,`$EXTENSION`,`$SELF`],selectors:[`->`,`->*`,`=>`,`~`,`~*`],operators:` +. -./.*.**.div.mod.=.#.@.+=.-=.*=./=.**=.&&=.?=.&.&&.bit-and.bit-not.bit-or.bit-xor.m.o.z.<. >.<=.>=.<>.><.=<.=>.bt.byte-ca.byte-cn.byte-co.byte-cs.byte-na.byte-ns.ca.cn.co.cp.cs.eq.ge.gt.le.lt.na.nb.ne.np.ns.*/.*:.--./*.//`.split(`.`),symbols:/[=><!~?&+\-*\/\^%#@]+/,tokenizer:{root:[[/[a-z_\/$%@]([\w\/$%]|-(?!>))*/,{cases:{"@typeKeywords":`type`,"@keywords":`keyword`,"@cdsLanguage":`annotation`,"@derivedTypes":`type`,"@builtinFunctions":`type`,"@builtinMethods":`type`,"@operators":`key`,"@default":`identifier`}}],[/<[\w]+>/,`identifier`],[/##[\w|_]+/,`comment`],{include:`@whitespace`},[/[:,.]/,`delimiter`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,{cases:{"@selectors":`tag`,"@operators":`key`,"@default":``}}],[/'/,{token:`string`,bracket:`@open`,next:`@stringquote`}],[/`/,{token:`string`,bracket:`@open`,next:`@stringping`}],[/\|/,{token:`string`,bracket:`@open`,next:`@stringtemplate`}],[/\d+/,`number`]],stringtemplate:[[/[^\\\|]+/,`string`],[/\\\|/,`string`],[/\|/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringping:[[/[^\\`]+/,`string`],[/`/,{token:`string`,bracket:`@close`,next:`@pop`}]],stringquote:[[/[^\\']+/,`string`],[/'/,{token:`string`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,``],[/^\*.*$/,`comment`],[/\".*$/,`comment`]]}},u=e({conf:()=>d,language:()=>h}),d={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))`),end:RegExp(`^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))`)}}},f=`abstract.activate.and.any.array.as.asc.assert.autonomous.begin.bigdecimal.blob.boolean.break.bulk.by.case.cast.catch.char.class.collect.commit.const.continue.convertcurrency.decimal.default.delete.desc.do.double.else.end.enum.exception.exit.export.extends.false.final.finally.float.for.from.future.get.global.goto.group.having.hint.if.implements.import.in.inner.insert.instanceof.int.interface.into.join.last_90_days.last_month.last_n_days.last_week.like.limit.list.long.loop.map.merge.native.new.next_90_days.next_month.next_n_days.next_week.not.null.nulls.number.object.of.on.or.outer.override.package.parallel.pragma.private.protected.public.retrieve.return.returning.rollback.savepoint.search.select.set.short.sort.stat.static.strictfp.super.switch.synchronized.system.testmethod.then.this.this_month.this_week.throw.throws.today.tolabel.tomorrow.transaction.transient.trigger.true.try.type.undelete.update.upsert.using.virtual.void.volatile.webservice.when.where.while.yesterday`.split(`.`),p=e=>e.charAt(0).toUpperCase()+e.substr(1),m=[];f.forEach(e=>{m.push(e),m.push(e.toUpperCase()),m.push(p(e))});var h={defaultToken:``,tokenPostfix:`.apex`,keywords:m,operators:`=.>.<.!.~.?.:.==.<=.>=.!=.&&.||.++.--.+.-.*./.&.|.^.%.<<.>>.>>>.+=.-=.*=./=.&=.|=.^=.%=.<<=.>>=.>>>=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,tokenizer:{root:[[/[a-z_$][\w$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/[A-Z][\w\$]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`type.identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/@\s*[a-zA-Z_\$][\w\$]*/,`annotation`],[/(@digits)[eE]([\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?[fFdD]?/,`number.float`],[/(@digits)[fFdD]/,`number.float`],[/(@digits)[lL]?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@apexdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],apexdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}]]}},g=e({conf:()=>_,language:()=>v}),_={comments:{lineComment:`#`}},v={defaultToken:`keyword`,ignoreCase:!0,tokenPostfix:`.azcli`,str:/[^#\s]/,tokenizer:{root:[{include:`@comment`},[/\s-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}],[/^-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":{token:`key.identifier`,next:`@type`}}}]],type:[{include:`@comment`},[/-+@str*\s*/,{cases:{"@eos":{token:`key.identifier`,next:`@popall`},"@default":`key.identifier`}}],[/@str+\s*/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}]],comment:[[/#.*$/,{cases:{"@eos":{token:`comment`,next:`@popall`}}}]]}},y=e({conf:()=>b,language:()=>x}),b={comments:{lineComment:`REM`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],surroundingPairs:[{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`}],folding:{markers:{start:RegExp(`^\\s*(::\\s*|REM\\s+)#region`),end:RegExp(`^\\s*(::\\s*|REM\\s+)#endregion`)}}},x={defaultToken:``,ignoreCase:!0,tokenPostfix:`.bat`,brackets:[{token:`delimiter.bracket`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`}],keywords:/call|defined|echo|errorlevel|exist|for|goto|if|pause|set|shift|start|title|not|pushd|popd/,symbols:/[=><!~?&|+\-*\/\^;\.,]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/^(\s*)(rem(?:\s.*|))$/,[``,`comment`]],[/(\@?)(@keywords)(?!\w)/,[{token:`keyword`},{token:`keyword.$2`}]],[/[ \t\r\n]+/,``],[/setlocal(?!\w)/,`keyword.tag-setlocal`],[/endlocal(?!\w)/,`keyword.tag-setlocal`],[/[a-zA-Z_]\w*/,``],[/:\w*/,`metatag`],[/%[^%]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/[{}()\[\]]/,`@brackets`],[/@symbols/,`delimiter`],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F_]*[0-9a-fA-F]/,`number.hex`],[/\d+/,`number`],[/[;,.]/,`delimiter`],[/"/,`string`,`@string."`],[/'/,`string`,`@string.'`]],string:[[/[^\\"'%]+/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/%[\w ]+%/,`variable`],[/%%[\w]+(?!\w)/,`variable`],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/$/,`string`,`@popall`]]}},S=e({conf:()=>ae,language:()=>oe}),ee=(e=>`\\b${e}\\b`)(`[_a-zA-Z][_a-zA-Z0-9]*`),te=[`targetScope`,`resource`,`module`,`param`,`var`,`output`,`for`,`in`,`if`,`existing`],ne=[`true`,`false`,`null`],re=`[ \\t\\r\\n]`,ie=`[0-9]+`,ae={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`},{open:`'''`,close:`'''`}],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`'''`,close:`'''`,notIn:[`string`,`comment`]}],autoCloseBefore:`:.,=}])'
2
2
  `,indentationRules:{increaseIndentPattern:RegExp(`^((?!\\/\\/).)*(\\{[^}"'\`]*|\\([^)"'\`]*|\\[[^\\]"'\`]*)$`),decreaseIndentPattern:RegExp(`^((?!.*?\\/\\*).*\\*/)?\\s*[\\}\\]].*$`)}},oe={defaultToken:``,tokenPostfix:`.bicep`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],symbols:/[=><!~?:&|+\-*/^%]+/,keywords:te,namedLiterals:ne,escapes:"\\\\(u{[0-9A-Fa-f]+}|n|r|t|\\\\|'|\\${)",tokenizer:{root:[{include:`@expression`},{include:`@whitespace`}],stringVerbatim:[{regex:`(|'|'')[^']`,action:{token:`string`}},{regex:`'''`,action:{token:`string.quote`,next:`@pop`}}],stringLiteral:[{regex:"\\${",action:{token:`delimiter.bracket`,next:`@bracketCounting`}},{regex:`[^\\\\'$]+`,action:{token:`string`}},{regex:`@escapes`,action:{token:`string.escape`}},{regex:`\\\\.`,action:{token:`string.escape.invalid`}},{regex:`'`,action:{token:`string`,next:`@pop`}}],bracketCounting:[{regex:`{`,action:{token:`delimiter.bracket`,next:`@bracketCounting`}},{regex:`}`,action:{token:`delimiter.bracket`,next:`@pop`}},{include:`expression`}],comment:[{regex:`[^\\*]+`,action:{token:`comment`}},{regex:`\\*\\/`,action:{token:`comment`,next:`@pop`}},{regex:`[\\/*]`,action:{token:`comment`}}],whitespace:[{regex:re},{regex:`\\/\\*`,action:{token:`comment`,next:`@comment`}},{regex:`\\/\\/.*$`,action:{token:`comment`}}],expression:[{regex:`'''`,action:{token:`string.quote`,next:`@stringVerbatim`}},{regex:`'`,action:{token:`string.quote`,next:`@stringLiteral`}},{regex:ie,action:{token:`number`}},{regex:ee,action:{cases:{"@keywords":{token:`keyword`},"@namedLiterals":{token:`keyword`},"@default":{token:`identifier`}}}}]}},se=e({conf:()=>ce,language:()=>le}),ce={comments:{lineComment:`//`,blockComment:[`(*`,`*)`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`],[`<`,`>`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`},{open:`(*`,close:`*)`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`},{open:`(*`,close:`*)`}]},le={defaultToken:``,tokenPostfix:`.cameligo`,ignoreCase:!0,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],keywords:`abs.assert.block.Bytes.case.Crypto.Current.else.failwith.false.for.fun.if.in.let.let%entry.let%init.List.list.Map.map.match.match%nat.mod.not.operation.Operation.of.record.Set.set.sender.skip.source.String.then.to.true.type.with`.split(`.`),typeKeywords:[`int`,`unit`,`string`,`tz`,`nat`,`bool`],operators:[`=`,`>`,`<`,`<=`,`>=`,`<>`,`:`,`:=`,`and`,`mod`,`or`,`+`,`-`,`*`,`/`,`@`,`&`,`^`,`%`,`->`,`<-`,`&&`,`||`],symbols:/[=><:@\^&|+\-*\/\^%]+/,tokenizer:{root:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/\d*\.\d+([eE][\-+]?\d+)?/,`number.float`],[/\$[0-9a-fA-F]{1,16}/,`number.hex`],[/\d+/,`number`],[/[;,.]/,`delimiter`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/'/,`string`,`@string`],[/'[^\\']'/,`string`],[/'/,`string.invalid`],[/\#\d+/,`string`]],comment:[[/[^\(\*]+/,`comment`],[/\*\)/,`comment`,`@pop`],[/\(\*/,`comment`]],string:[[/[^\\']+/,`string`],[/\\./,`string.escape.invalid`],[/'/,{token:`string.quote`,bracket:`@close`,next:`@pop`}]],whitespace:[[/[ \t\r\n]+/,`white`],[/\(\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]]}},ue=e({conf:()=>de,language:()=>fe}),de={comments:{lineComment:`;;`},brackets:[[`[`,`]`],[`(`,`)`],[`{`,`}`]],autoClosingPairs:[{open:`[`,close:`]`},{open:`"`,close:`"`},{open:`(`,close:`)`},{open:`{`,close:`}`}],surroundingPairs:[{open:`[`,close:`]`},{open:`"`,close:`"`},{open:`(`,close:`)`},{open:`{`,close:`}`}]},fe={defaultToken:``,ignoreCase:!0,tokenPostfix:`.clj`,brackets:[{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`{`,close:`}`,token:`delimiter.curly`}],constants:[`true`,`false`,`nil`],numbers:/^(?:[+\-]?\d+(?:(?:N|(?:[eE][+\-]?\d+))|(?:\.?\d*(?:M|(?:[eE][+\-]?\d+))?)|\/\d+|[xX][0-9a-fA-F]+|r[0-9a-zA-Z]+)?(?=[\\\[\]\s"#'(),;@^`{}~]|$))/,characters:/^(?:\\(?:backspace|formfeed|newline|return|space|tab|o[0-7]{3}|u[0-9A-Fa-f]{4}|x[0-9A-Fa-f]{4}|.)?(?=[\\\[\]\s"(),;@^`{}~]|$))/,escapes:/^\\(?:["'\\bfnrt]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,qualifiedSymbols:/^(?:(?:[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*(?:\.[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*\/)?(?:\/|[^\\\/\[\]\d\s"#'(),;@^`{}~][^\\\[\]\s"(),;@^`{}~]*)*(?=[\\\[\]\s"(),;@^`{}~]|$))/,specialForms:[`.`,`catch`,`def`,`do`,`if`,`monitor-enter`,`monitor-exit`,`new`,`quote`,`recur`,`set!`,`throw`,`try`,`var`],coreSymbols:`*,*',*1,*2,*3,*agent*,*allow-unresolved-vars*,*assert*,*clojure-version*,*command-line-args*,*compile-files*,*compile-path*,*compiler-options*,*data-readers*,*default-data-reader-fn*,*e,*err*,*file*,*flush-on-newline*,*fn-loader*,*in*,*math-context*,*ns*,*out*,*print-dup*,*print-length*,*print-level*,*print-meta*,*print-namespace-maps*,*print-readably*,*read-eval*,*reader-resolver*,*source-path*,*suppress-read*,*unchecked-math*,*use-context-classloader*,*verbose-defrecords*,*warn-on-reflection*,+,+',-,-',->,->>,->ArrayChunk,->Eduction,->Vec,->VecNode,->VecSeq,-cache-protocol-fn,-reset-methods,..,/,<,<=,=,==,>,>=,EMPTY-NODE,Inst,StackTraceElement->vec,Throwable->map,accessor,aclone,add-classpath,add-watch,agent,agent-error,agent-errors,aget,alength,alias,all-ns,alter,alter-meta!,alter-var-root,amap,ancestors,and,any?,apply,areduce,array-map,as->,aset,aset-boolean,aset-byte,aset-char,aset-double,aset-float,aset-int,aset-long,aset-short,assert,assoc,assoc!,assoc-in,associative?,atom,await,await-for,await1,bases,bean,bigdec,bigint,biginteger,binding,bit-and,bit-and-not,bit-clear,bit-flip,bit-not,bit-or,bit-set,bit-shift-left,bit-shift-right,bit-test,bit-xor,boolean,boolean-array,boolean?,booleans,bound-fn,bound-fn*,bound?,bounded-count,butlast,byte,byte-array,bytes,bytes?,case,cast,cat,char,char-array,char-escape-string,char-name-string,char?,chars,chunk,chunk-append,chunk-buffer,chunk-cons,chunk-first,chunk-next,chunk-rest,chunked-seq?,class,class?,clear-agent-errors,clojure-version,coll?,comment,commute,comp,comparator,compare,compare-and-set!,compile,complement,completing,concat,cond,cond->,cond->>,condp,conj,conj!,cons,constantly,construct-proxy,contains?,count,counted?,create-ns,create-struct,cycle,dec,dec',decimal?,declare,dedupe,default-data-readers,definline,definterface,defmacro,defmethod,defmulti,defn,defn-,defonce,defprotocol,defrecord,defstruct,deftype,delay,delay?,deliver,denominator,deref,derive,descendants,destructure,disj,disj!,dissoc,dissoc!,distinct,distinct?,doall,dorun,doseq,dosync,dotimes,doto,double,double-array,double?,doubles,drop,drop-last,drop-while,eduction,empty,empty?,ensure,ensure-reduced,enumeration-seq,error-handler,error-mode,eval,even?,every-pred,every?,ex-data,ex-info,extend,extend-protocol,extend-type,extenders,extends?,false?,ffirst,file-seq,filter,filterv,find,find-keyword,find-ns,find-protocol-impl,find-protocol-method,find-var,first,flatten,float,float-array,float?,floats,flush,fn,fn?,fnext,fnil,for,force,format,frequencies,future,future-call,future-cancel,future-cancelled?,future-done?,future?,gen-class,gen-interface,gensym,get,get-in,get-method,get-proxy-class,get-thread-bindings,get-validator,group-by,halt-when,hash,hash-combine,hash-map,hash-ordered-coll,hash-set,hash-unordered-coll,ident?,identical?,identity,if-let,if-not,if-some,ifn?,import,in-ns,inc,inc',indexed?,init-proxy,inst-ms,inst-ms*,inst?,instance?,int,int-array,int?,integer?,interleave,intern,interpose,into,into-array,ints,io!,isa?,iterate,iterator-seq,juxt,keep,keep-indexed,key,keys,keyword,keyword?,last,lazy-cat,lazy-seq,let,letfn,line-seq,list,list*,list?,load,load-file,load-reader,load-string,loaded-libs,locking,long,long-array,longs,loop,macroexpand,macroexpand-1,make-array,make-hierarchy,map,map-entry?,map-indexed,map?,mapcat,mapv,max,max-key,memfn,memoize,merge,merge-with,meta,method-sig,methods,min,min-key,mix-collection-hash,mod,munge,name,namespace,namespace-munge,nat-int?,neg-int?,neg?,newline,next,nfirst,nil?,nnext,not,not-any?,not-empty,not-every?,not=,ns,ns-aliases,ns-imports,ns-interns,ns-map,ns-name,ns-publics,ns-refers,ns-resolve,ns-unalias,ns-unmap,nth,nthnext,nthrest,num,number?,numerator,object-array,odd?,or,parents,partial,partition,partition-all,partition-by,pcalls,peek,persistent!,pmap,pop,pop!,pop-thread-bindings,pos-int?,pos?,pr,pr-str,prefer-method,prefers,primitives-classnames,print,print-ctor,print-dup,print-method,print-simple,print-str,printf,println,println-str,prn,prn-str,promise,proxy,proxy-call-with-super,proxy-mappings,proxy-name,proxy-super,push-thread-bindings,pvalues,qualified-ident?,qualified-keyword?,qualified-symbol?,quot,rand,rand-int,rand-nth,random-sample,range,ratio?,rational?,rationalize,re-find,re-groups,re-matcher,re-matches,re-pattern,re-seq,read,read-line,read-string,reader-conditional,reader-conditional?,realized?,record?,reduce,reduce-kv,reduced,reduced?,reductions,ref,ref-history-count,ref-max-history,ref-min-history,ref-set,refer,refer-clojure,reify,release-pending-sends,rem,remove,remove-all-methods,remove-method,remove-ns,remove-watch,repeat,repeatedly,replace,replicate,require,reset!,reset-meta!,reset-vals!,resolve,rest,restart-agent,resultset-seq,reverse,reversible?,rseq,rsubseq,run!,satisfies?,second,select-keys,send,send-off,send-via,seq,seq?,seqable?,seque,sequence,sequential?,set,set-agent-send-executor!,set-agent-send-off-executor!,set-error-handler!,set-error-mode!,set-validator!,set?,short,short-array,shorts,shuffle,shutdown-agents,simple-ident?,simple-keyword?,simple-symbol?,slurp,some,some->,some->>,some-fn,some?,sort,sort-by,sorted-map,sorted-map-by,sorted-set,sorted-set-by,sorted?,special-symbol?,spit,split-at,split-with,str,string?,struct,struct-map,subs,subseq,subvec,supers,swap!,swap-vals!,symbol,symbol?,sync,tagged-literal,tagged-literal?,take,take-last,take-nth,take-while,test,the-ns,thread-bound?,time,to-array,to-array-2d,trampoline,transduce,transient,tree-seq,true?,type,unchecked-add,unchecked-add-int,unchecked-byte,unchecked-char,unchecked-dec,unchecked-dec-int,unchecked-divide-int,unchecked-double,unchecked-float,unchecked-inc,unchecked-inc-int,unchecked-int,unchecked-long,unchecked-multiply,unchecked-multiply-int,unchecked-negate,unchecked-negate-int,unchecked-remainder-int,unchecked-short,unchecked-subtract,unchecked-subtract-int,underive,unquote,unquote-splicing,unreduced,unsigned-bit-shift-right,update,update-in,update-proxy,uri?,use,uuid?,val,vals,var-get,var-set,var?,vary-meta,vec,vector,vector-of,vector?,volatile!,volatile?,vreset!,vswap!,when,when-first,when-let,when-not,when-some,while,with-bindings,with-bindings*,with-in-str,with-loading-context,with-local-vars,with-meta,with-open,with-out-str,with-precision,with-redefs,with-redefs-fn,xml-seq,zero?,zipmap`.split(`,`),tokenizer:{root:[{include:`@whitespace`},[/@numbers/,`number`],[/@characters/,`string`],{include:`@string`},[/[()\[\]{}]/,`@brackets`],[/\/#"(?:\.|(?:")|[^"\n])*"\/g/,`regexp`],[/[#'@^`~]/,`meta`],[/@qualifiedSymbols/,{cases:{"^:.+$":`constant`,"@specialForms":`keyword`,"@coreSymbols":`keyword`,"@constants":`constant`,"@default":`identifier`}}]],whitespace:[[/[\s,]+/,`white`],[/;.*$/,`comment`],[/\(comment\b/,`comment`,`@comment`]],comment:[[/\(/,`comment`,`@push`],[/\)/,`comment`,`@pop`],[/[^()]/,`comment`]],string:[[/"/,`string`,`@multiLineString`]],multiLineString:[[/"/,`string`,`@popall`],[/@escapes/,`string.escape`],[/./,`string`]]}},pe=e({conf:()=>me,language:()=>he}),me={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\#%\^\&\*\(\)\=\$\-\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{blockComment:[`###`,`###`],lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{markers:{start:RegExp(`^\\s*#region\\b`),end:RegExp(`^\\s*#endregion\\b`)}}},he={defaultToken:``,ignoreCase:!0,tokenPostfix:`.coffee`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],regEx:/\/(?!\/\/)(?:[^\/\\]|\\.)*\/[igm]*/,keywords:`and.or.is.isnt.not.on.yes.@.no.off.true.false.null.this.new.delete.typeof.in.instanceof.return.throw.break.continue.debugger.if.else.switch.for.while.do.try.catch.finally.class.extends.super.undefined.then.unless.until.loop.of.by.when`.split(`.`),symbols:/[=><!~?&%|+\-*\/\^\.,\:]+/,escapes:/\\(?:[abfnrtv\\"'$]|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@[a-zA-Z_]\w*/,`variable.predefined`],[/[a-zA-Z_]\w*/,{cases:{this:`variable.predefined`,"@keywords":{token:`keyword.$0`},"@default":``}}],[/[ \t\r\n]+/,``],[/###/,`comment`,`@comment`],[/#.*$/,`comment`],[`///`,{token:`regexp`,next:`@hereregexp`}],[/^(\s*)(@regEx)/,[``,`regexp`]],[/(\()(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\,)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\=)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\:)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\[)(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\!)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\&)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\|)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\?)(\s*)(@regEx)/,[`delimiter`,``,`regexp`]],[/(\{)(\s*)(@regEx)/,[`@brackets`,``,`regexp`]],[/(\;)(\s*)(@regEx)/,[``,``,`regexp`]],[/}/,{cases:{"$S2==interpolatedstring":{token:`string`,next:`@pop`},"@default":`@brackets`}}],[/[{}()\[\]]/,`@brackets`],[/@symbols/,`delimiter`],[/\d+[eE]([\-+]?\d+)?/,`number.float`],[/\d+\.\d+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F]+/,`number.hex`],[/0[0-7]+(?!\d)/,`number.octal`],[/\d+/,`number`],[/[,.]/,`delimiter`],[/"""/,`string`,`@herestring."""`],[/'''/,`string`,`@herestring.'''`],[/"/,{cases:{"@eos":`string`,"@default":{token:`string`,next:`@string."`}}}],[/'/,{cases:{"@eos":`string`,"@default":{token:`string`,next:`@string.'`}}}]],string:[[/[^"'\#\\]+/,`string`],[/@escapes/,`string.escape`],[/\./,`string.escape.invalid`],[/\./,`string.escape.invalid`],[/#{/,{cases:{'$S2=="':{token:`string`,next:`root.interpolatedstring`},"@default":`string`}}],[/["']/,{cases:{"$#==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/#/,`string`]],herestring:[[/("""|''')/,{cases:{"$1==$S2":{token:`string`,next:`@pop`},"@default":`string`}}],[/[^#\\'"]+/,`string`],[/['"]+/,`string`],[/@escapes/,`string.escape`],[/\./,`string.escape.invalid`],[/#{/,{token:`string.quote`,next:`root.interpolatedstring`}],[/#/,`string`]],comment:[[/[^#]+/,`comment`],[/###/,`comment`,`@pop`],[/#/,`comment`]],hereregexp:[[/[^\\\/#]+/,`regexp`],[/\\./,`regexp`],[/#.*$/,`comment`],[`///[igm]*`,{token:`regexp`,next:`@pop`}],[/\//,`regexp`]]}},ge=e({conf:()=>_e,language:()=>ve}),_e={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`[`,close:`]`},{open:`{`,close:`}`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{markers:{start:RegExp(`^\\s*#pragma\\s+region\\b`),end:RegExp(`^\\s*#pragma\\s+endregion\\b`)}}},ve={defaultToken:``,tokenPostfix:`.cpp`,brackets:[{token:`delimiter.curly`,open:`{`,close:`}`},{token:`delimiter.parenthesis`,open:`(`,close:`)`},{token:`delimiter.square`,open:`[`,close:`]`},{token:`delimiter.angle`,open:`<`,close:`>`}],keywords:`abstract.amp.array.auto.bool.break.case.catch.char.class.const.constexpr.const_cast.continue.cpu.decltype.default.delegate.delete.do.double.dynamic_cast.each.else.enum.event.explicit.export.extern.false.final.finally.float.for.friend.gcnew.generic.goto.if.in.initonly.inline.int.interface.interior_ptr.internal.literal.long.mutable.namespace.new.noexcept.nullptr.__nullptr.operator.override.partial.pascal.pin_ptr.private.property.protected.public.ref.register.reinterpret_cast.restrict.return.safe_cast.sealed.short.signed.sizeof.static.static_assert.static_cast.struct.switch.template.this.thread_local.throw.tile_static.true.try.typedef.typeid.typename.union.unsigned.using.virtual.void.volatile.wchar_t.where.while._asm._based._cdecl._declspec._fastcall._if_exists._if_not_exists._inline._multiple_inheritance._pascal._single_inheritance._stdcall._virtual_inheritance._w64.__abstract.__alignof.__asm.__assume.__based.__box.__builtin_alignof.__cdecl.__clrcall.__declspec.__delegate.__event.__except.__fastcall.__finally.__forceinline.__gc.__hook.__identifier.__if_exists.__if_not_exists.__inline.__int128.__int16.__int32.__int64.__int8.__interface.__leave.__m128.__m128d.__m128i.__m256.__m256d.__m256i.__m512.__m512d.__m512i.__m64.__multiple_inheritance.__newslot.__nogc.__noop.__nounwind.__novtordisp.__pascal.__pin.__pragma.__property.__ptr32.__ptr64.__raise.__restrict.__resume.__sealed.__single_inheritance.__stdcall.__super.__thiscall.__try.__try_cast.__typeof.__unaligned.__unhook.__uuidof.__value.__virtual_inheritance.__w64.__wchar_t`.split(`.`),operators:`=.>.<.!.~.?.:.==.<=.>=.!=.&&.||.++.--.+.-.*./.&.|.^.%.<<.>>.+=.-=.*=./=.&=.|=.^=.%=.<<=.>>=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[0abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,integersuffix:/([uU](ll|LL|l|L)|(ll|LL|l|L)?[uU]?)/,floatsuffix:/[fFlL]?/,encoding:/u|u8|U|L/,tokenizer:{root:[[/@encoding?R\"(?:([^ ()\\\t]*))\(/,{token:`string.raw.begin`,next:`@raw.$1`}],[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/^\s*#\s*include/,{token:`keyword.directive.include`,next:`@include`}],[/^\s*#\s*\w+/,`keyword.directive`],{include:`@whitespace`},[/\[\s*\[/,{token:`annotation`,next:`@annotation`}],[/[{}()<>\[\]]/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/\d*\d+[eE]([\-+]?\d+)?(@floatsuffix)/,`number.float`],[/\d*\.\d+([eE][\-+]?\d+)?(@floatsuffix)/,`number.float`],[/0[xX][0-9a-fA-F']*[0-9a-fA-F](@integersuffix)/,`number.hex`],[/0[0-7']*[0-7](@integersuffix)/,`number.octal`],[/0[bB][0-1']*[0-1](@integersuffix)/,`number.binary`],[/\d[\d']*\d(@integersuffix)/,`number`],[/\d(@integersuffix)/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@doccomment`],[/\/\*/,`comment`,`@comment`],[/\/\/.*\\$/,`comment`,`@linecomment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],linecomment:[[/.*[^\\]$/,`comment`,`@pop`],[/[^]+/,`comment`]],doccomment:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]],raw:[[/[^)]+/,`string.raw`],[/\)$S2\"/,{token:`string.raw.end`,next:`@pop`}],[/\)/,`string.raw`]],annotation:[{include:`@whitespace`},[/using|alignas/,`keyword`],[/[a-zA-Z0-9_]+/,`annotation`],[/[,:]/,`delimiter`],[/[()]/,`@brackets`],[/\]\s*\]/,{token:`annotation`,next:`@pop`}]],include:[[/(\s*)(<)([^<>]*)(>)/,[``,`keyword.directive.include.begin`,`string.include.identifier`,{token:`keyword.directive.include.end`,next:`@pop`}]],[/(\s*)(")([^"]*)(")/,[``,`keyword.directive.include.begin`,`string.include.identifier`,{token:`keyword.directive.include.end`,next:`@pop`}]]]}},ye=e({conf:()=>be,language:()=>xe}),be={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\#\$\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`,`comment`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}],folding:{markers:{start:RegExp(`^\\s*#region\\b`),end:RegExp(`^\\s*#endregion\\b`)}}},xe={defaultToken:``,tokenPostfix:`.cs`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],keywords:`extern.alias.using.bool.decimal.sbyte.byte.short.ushort.int.uint.long.ulong.char.float.double.object.dynamic.string.assembly.is.as.ref.out.this.base.new.typeof.void.checked.unchecked.default.delegate.var.const.if.else.switch.case.while.do.for.foreach.in.break.continue.goto.return.throw.try.catch.finally.lock.yield.from.let.where.join.on.equals.into.orderby.ascending.descending.select.group.by.namespace.partial.class.field.event.method.param.public.protected.internal.private.abstract.sealed.static.struct.readonly.volatile.virtual.override.params.get.set.add.remove.operator.true.false.implicit.explicit.interface.enum.null.async.await.fixed.sizeof.stackalloc.unsafe.nameof.when`.split(`.`),namespaceFollows:[`namespace`,`using`],parenFollows:[`if`,`for`,`while`,`switch`,`foreach`,`using`,`catch`,`when`],operators:`=.??.||.&&.|.^.&.==.!=.<=.>=.<<.+.-.*./.%.!.~.++.--.+=.-=.*=./=.%=.&=.|=.^=.<<=.>>=.>>.=>`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/\@?[a-zA-Z_]\w*/,{cases:{"@namespaceFollows":{token:`keyword.$0`,next:`@namespace`},"@keywords":{token:`keyword.$0`,next:`@qualified`},"@default":{token:`identifier`,next:`@qualified`}}}],{include:`@whitespace`},[/}/,{cases:{"$S2==interpolatedstring":{token:`string.quote`,next:`@pop`},"$S2==litinterpstring":{token:`string.quote`,next:`@pop`},"@default":`@brackets`}}],[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?[fFdD]?/,`number.float`],[/0[xX][0-9a-fA-F_]+/,`number.hex`],[/0[bB][01_]+/,`number.hex`],[/[0-9_]+/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,{token:`string.quote`,next:`@string`}],[/\$\@"/,{token:`string.quote`,next:`@litinterpstring`}],[/\@"/,{token:`string.quote`,next:`@litstring`}],[/\$"/,{token:`string.quote`,next:`@interpolatedstring`}],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],qualified:[[/[a-zA-Z_][\w]*/,{cases:{"@keywords":{token:`keyword.$0`},"@default":`identifier`}}],[/\./,`delimiter`],[``,``,`@pop`]],namespace:[{include:`@whitespace`},[/[A-Z]\w*/,`namespace`],[/[\.=]/,`delimiter`],[``,``,`@pop`]],comment:[[/[^\/*]+/,`comment`],[`\\*/`,`comment`,`@pop`],[/[\/*]/,`comment`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,{token:`string.quote`,next:`@pop`}]],litstring:[[/[^"]+/,`string`],[/""/,`string.escape`],[/"/,{token:`string.quote`,next:`@pop`}]],litinterpstring:[[/[^"{]+/,`string`],[/""/,`string.escape`],[/{{/,`string.escape`],[/}}/,`string.escape`],[/{/,{token:`string.quote`,next:`root.litinterpstring`}],[/"/,{token:`string.quote`,next:`@pop`}]],interpolatedstring:[[/[^\\"{]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/{{/,`string.escape`],[/}}/,`string.escape`],[/{/,{token:`string.quote`,next:`root.interpolatedstring`}],[/"/,{token:`string.quote`,next:`@pop`}]],whitespace:[[/^[ \t\v\f]*#((r)|(load))(?=\s)/,`directive.csx`],[/^[ \t\v\f]*#\w.*$/,`namespace.cpp`],[/[ \t\v\f\r\n]+/,``],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]]}},Se=e({conf:()=>Ce,language:()=>we}),Ce={brackets:[],autoClosingPairs:[],surroundingPairs:[]},we={keywords:[],typeKeywords:[],tokenPostfix:`.csp`,operators:[],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/child-src/,`string.quote`],[/connect-src/,`string.quote`],[/default-src/,`string.quote`],[/font-src/,`string.quote`],[/frame-src/,`string.quote`],[/img-src/,`string.quote`],[/manifest-src/,`string.quote`],[/media-src/,`string.quote`],[/object-src/,`string.quote`],[/script-src/,`string.quote`],[/style-src/,`string.quote`],[/worker-src/,`string.quote`],[/base-uri/,`string.quote`],[/plugin-types/,`string.quote`],[/sandbox/,`string.quote`],[/disown-opener/,`string.quote`],[/form-action/,`string.quote`],[/frame-ancestors/,`string.quote`],[/report-uri/,`string.quote`],[/report-to/,`string.quote`],[/upgrade-insecure-requests/,`string.quote`],[/block-all-mixed-content/,`string.quote`],[/require-sri-for/,`string.quote`],[/reflected-xss/,`string.quote`],[/referrer/,`string.quote`],[/policy-uri/,`string.quote`],[/'self'/,`string.quote`],[/'unsafe-inline'/,`string.quote`],[/'unsafe-eval'/,`string.quote`],[/'strict-dynamic'/,`string.quote`],[/'unsafe-hashed-attributes'/,`string.quote`]]}},Te=e({conf:()=>Ee,language:()=>De}),Ee={wordPattern:/(#?-?\d*\.\d\w*%?)|((::|[@#.!:])?[\w-?]+%?)|::|[@#.!:]/g,comments:{blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`,`comment`]},{open:`[`,close:`]`,notIn:[`string`,`comment`]},{open:`(`,close:`)`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`,`comment`]},{open:`'`,close:`'`,notIn:[`string`,`comment`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],folding:{markers:{start:RegExp(`^\\s*\\/\\*\\s*#region\\b\\s*(.*?)\\s*\\*\\/`),end:RegExp(`^\\s*\\/\\*\\s*#endregion\\b.*\\*\\/`)}}},De={defaultToken:``,tokenPostfix:`.css`,ws:`[
3
3
  \r\f]*`,identifier:`-?-?([a-zA-Z]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))([\\w\\-]|(\\\\(([0-9a-fA-F]{1,6}\\s?)|[^[0-9a-fA-F])))*`,brackets:[{open:`{`,close:`}`,token:`delimiter.bracket`},{open:`[`,close:`]`,token:`delimiter.bracket`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],tokenizer:{root:[{include:`@selector`}],selector:[{include:`@comments`},{include:`@import`},{include:`@strings`},[`[@](keyframes|-webkit-keyframes|-moz-keyframes|-o-keyframes)`,{token:`keyword`,next:`@keyframedeclaration`}],[`[@](page|content|font-face|-moz-document)`,{token:`keyword`}],[`[@](charset|namespace)`,{token:`keyword`,next:`@declarationbody`}],[`(url-prefix)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],[`(url)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],{include:`@selectorname`},[`[\\*]`,`tag`],[`[>\\+,]`,`delimiter`],[`\\[`,{token:`delimiter.bracket`,next:`@selectorattribute`}],[`{`,{token:`delimiter.bracket`,next:`@selectorbody`}]],selectorbody:[{include:`@comments`},[`[*_]?@identifier@ws:(?=(\\s|\\d|[^{;}]*[;}]))`,`attribute.name`,`@rulevalue`],[`}`,{token:`delimiter.bracket`,next:`@pop`}]],selectorname:[[`(\\.|#(?=[^{])|%|(@identifier)|:)+`,`tag`]],selectorattribute:[{include:`@term`},[`]`,{token:`delimiter.bracket`,next:`@pop`}]],term:[{include:`@comments`},[`(url-prefix)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],[`(url)(\\()`,[`attribute.value`,{token:`delimiter.parenthesis`,next:`@urldeclaration`}]],{include:`@functioninvocation`},{include:`@numbers`},{include:`@name`},{include:`@strings`},[`([<>=\\+\\-\\*\\/\\^\\|\\~,])`,`delimiter`],[`,`,`delimiter`]],rulevalue:[{include:`@comments`},{include:`@strings`},{include:`@term`},[`!important`,`keyword`],[`;`,`delimiter`,`@pop`],[`(?=})`,{token:``,next:`@pop`}]],warndebug:[[`[@](warn|debug)`,{token:`keyword`,next:`@declarationbody`}]],import:[[`[@](import)`,{token:`keyword`,next:`@declarationbody`}]],urldeclaration:[{include:`@strings`},[`[^)\r
4
4
  ]+`,`string`],[`\\)`,{token:`delimiter.parenthesis`,next:`@pop`}]],parenthizedterm:[{include:`@term`},[`\\)`,{token:`delimiter.parenthesis`,next:`@pop`}]],declarationbody:[{include:`@term`},[`;`,`delimiter`,`@pop`],[`(?=})`,{token:``,next:`@pop`}]],comments:[[`\\/\\*`,`comment`,`@comment`],[`\\/\\/+.*`,`comment`]],comment:[[`\\*\\/`,`comment`,`@pop`],[/[^*/]+/,`comment`],[/./,`comment`]],name:[[`@identifier`,`attribute.value`]],numbers:[[`-?(\\d*\\.)?\\d+([eE][\\-+]?\\d+)?`,{token:`attribute.value.number`,next:`@units`}],[`#[0-9a-fA-F_]+(?!\\w)`,`attribute.value.hex`]],units:[[`(em|ex|ch|rem|fr|vmin|vmax|vw|vh|vm|cm|mm|in|px|pt|pc|deg|grad|rad|turn|s|ms|Hz|kHz|%)?`,`attribute.value.unit`,`@pop`]],keyframedeclaration:[[`@identifier`,`attribute.value`],[`{`,{token:`delimiter.bracket`,switchTo:`@keyframebody`}]],keyframebody:[{include:`@term`},[`{`,{token:`delimiter.bracket`,next:`@selectorbody`}],[`}`,{token:`delimiter.bracket`,next:`@pop`}]],functioninvocation:[[`@identifier\\(`,{token:`attribute.value`,next:`@functionarguments`}]],functionarguments:[[`\\$@identifier@ws:`,`attribute.name`],[`[,]`,`delimiter`],{include:`@term`},[`\\)`,{token:`attribute.value`,next:`@pop`}]],strings:[[`~?"`,{token:`string`,next:`@stringenddoublequote`}],[`~?'`,{token:`string`,next:`@stringendquote`}]],stringenddoublequote:[[`\\\\.`,`string`],[`"`,{token:`string`,next:`@pop`}],[/[^\\"]+/,`string`],[`.`,`string`]],stringendquote:[[`\\\\.`,`string`],[`'`,{token:`string`,next:`@pop`}],[/[^\\']+/,`string`],[`.`,`string`]]}},Oe=e({conf:()=>ke,language:()=>Ae}),ke={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:"`",close:"`"}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:"`",close:"`"}]},Ae={defaultToken:``,tokenPostfix:`.cypher`,ignoreCase:!0,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.bracket`},{open:`(`,close:`)`,token:`delimiter.parenthesis`}],keywords:`ALL.AND.AS.ASC.ASCENDING.BY.CALL.CASE.CONTAINS.CREATE.DELETE.DESC.DESCENDING.DETACH.DISTINCT.ELSE.END.ENDS.EXISTS.IN.IS.LIMIT.MANDATORY.MATCH.MERGE.NOT.ON.ON.OPTIONAL.OR.ORDER.REMOVE.RETURN.SET.SKIP.STARTS.THEN.UNION.UNWIND.WHEN.WHERE.WITH.XOR.YIELD`.split(`.`),builtinLiterals:[`true`,`TRUE`,`false`,`FALSE`,`null`,`NULL`],builtinFunctions:`abs.acos.asin.atan.atan2.avg.ceil.coalesce.collect.cos.cot.count.degrees.e.endNode.exists.exp.floor.head.id.keys.labels.last.left.length.log.log10.lTrim.max.min.nodes.percentileCont.percentileDisc.pi.properties.radians.rand.range.relationships.replace.reverse.right.round.rTrim.sign.sin.size.split.sqrt.startNode.stDev.stDevP.substring.sum.tail.tan.timestamp.toBoolean.toFloat.toInteger.toLower.toString.toUpper.trim.type`.split(`.`),operators:[`+`,`-`,`*`,`/`,`%`,`^`,`=`,`<>`,`<`,`>`,`<=`,`>=`,`->`,`<-`,`-->`,`<--`],escapes:/\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+/,octaldigits:/[0-7]+/,hexdigits:/[0-9a-fA-F]+/,tokenizer:{root:[[/[{}[\]()]/,`@brackets`],{include:`common`}],common:[{include:`@whitespace`},{include:`@numbers`},{include:`@strings`},[/:[a-zA-Z_][\w]*/,`type.identifier`],[/[a-zA-Z_][\w]*(?=\()/,{cases:{"@builtinFunctions":`predefined.function`}}],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":`keyword`,"@builtinLiterals":`predefined.literal`,"@default":`identifier`}}],[/`/,`identifier.escape`,`@identifierBacktick`],[/[;,.:|]/,`delimiter`],[/[<>=%+\-*/^]+/,{cases:{"@operators":`delimiter`,"@default":``}}]],numbers:[[/-?(@digits)[eE](-?(@digits))?/,`number.float`],[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/,`number.float`],[/-?0x(@hexdigits)/,`number.hex`],[/-?0(@octaldigits)/,`number.octal`],[/-?(@digits)/,`number`]],strings:[[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@stringDouble`],[/'/,`string`,`@stringSingle`]],whitespace:[[/[ \t\r\n]+/,`white`],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/\/\/.*/,`comment`],[/[^/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[/*]/,`comment`]],stringDouble:[[/[^\\"]+/,`string`],[/@escapes/,`string`],[/\\./,`string.invalid`],[/"/,`string`,`@pop`]],stringSingle:[[/[^\\']+/,`string`],[/@escapes/,`string`],[/\\./,`string.invalid`],[/'/,`string`,`@pop`]],identifierBacktick:[[/[^\\`]+/,`identifier.escape`],[/@escapes/,`identifier.escape`],[/\\./,`identifier.escape.invalid`],[/`/,`identifier.escape`,`@pop`]]}},je=e({conf:()=>Me,language:()=>Ne}),Me={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`]},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`/**`,close:` */`,notIn:[`string`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:"`",close:"`"}],folding:{markers:{start:/^\s*\s*#?region\b/,end:/^\s*\s*#?endregion\b/}}},Ne={defaultToken:`invalid`,tokenPostfix:`.dart`,keywords:`abstract.dynamic.implements.show.as.else.import.static.assert.enum.in.super.async.export.interface.switch.await.extends.is.sync.break.external.library.this.case.factory.mixin.throw.catch.false.new.true.class.final.null.try.const.finally.on.typedef.continue.for.operator.var.covariant.Function.part.void.default.get.rethrow.while.deferred.hide.return.with.do.if.set.yield`.split(`.`),typeKeywords:[`int`,`double`,`String`,`bool`],operators:`+.-.*./.~/.%.++.--.==.!=.>.<.>=.<=.=.-=./=.%=.>>=.^=.+=.*=.~/=.<<=.&=.!=.||.&&.&.|.^.~.<<.>>.!.>>>.??.?.:.|=`.split(`.`),symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,regexpctl:/[(){}\[\]\$\^|\-*+?\.]/,regexpesc:/\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,tokenizer:{root:[[/[{}]/,`delimiter.bracket`],{include:`common`}],common:[[/[a-z_$][\w$]*/,{cases:{"@typeKeywords":`type.identifier`,"@keywords":`keyword`,"@default":`identifier`}}],[/[A-Z_$][\w\$]*/,`type.identifier`],{include:`@whitespace`},[/\/(?=([^\\\/]|\\.)+\/([gimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,{token:`regexp`,bracket:`@open`,next:`@regexp`}],[/@[a-zA-Z]+/,`annotation`],[/[()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/!(?=([^=]|$))/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/(@digits)[eE]([\-+]?(@digits))?/,`number.float`],[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/,`number.float`],[/0[xX](@hexdigits)n?/,`number.hex`],[/0[oO]?(@octaldigits)n?/,`number.octal`],[/0[bB](@binarydigits)n?/,`number.binary`],[/(@digits)n?/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/'([^'\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string_double`],[/'/,`string`,`@string_single`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*\*(?!\/)/,`comment.doc`,`@jsdoc`],[/\/\*/,`comment`,`@comment`],[/\/\/\/.*$/,`comment.doc`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],jsdoc:[[/[^\/*]+/,`comment.doc`],[/\*\//,`comment.doc`,`@pop`],[/[\/*]/,`comment.doc`]],regexp:[[/(\{)(\d+(?:,\d*)?)(\})/,[`regexp.escape.control`,`regexp.escape.control`,`regexp.escape.control`]],[/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,[`regexp.escape.control`,{token:`regexp.escape.control`,next:`@regexrange`}]],[/(\()(\?:|\?=|\?!)/,[`regexp.escape.control`,`regexp.escape.control`]],[/[()]/,`regexp.escape.control`],[/@regexpctl/,`regexp.escape.control`],[/[^\\\/]/,`regexp`],[/@regexpesc/,`regexp.escape`],[/\\\./,`regexp.invalid`],[/(\/)([gimsuy]*)/,[{token:`regexp`,bracket:`@close`,next:`@pop`},`keyword.other`]]],regexrange:[[/-/,`regexp.escape.control`],[/\^/,`regexp.invalid`],[/@regexpesc/,`regexp.escape`],[/[^\]]/,`regexp`],[/\]/,{token:`regexp.escape.control`,next:`@pop`,bracket:`@close`}]],string_double:[[/[^\\"\$]+/,`string`],[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`],[/\$\w+/,`identifier`]],string_single:[[/[^\\'\$]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`],[/\$\w+/,`identifier`]]}},Pe=e({conf:()=>Fe,language:()=>Ie}),Fe={brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}]},Ie={defaultToken:``,tokenPostfix:`.dockerfile`,variable:/\${?[\w]+}?/,tokenizer:{root:[{include:`@whitespace`},{include:`@comment`},[/(ONBUILD)(\s+)/,[`keyword`,``]],[/(ENV)(\s+)([\w]+)/,[`keyword`,``,{token:`variable`,next:`@arguments`}]],[/(FROM|MAINTAINER|RUN|EXPOSE|ENV|ADD|ARG|VOLUME|LABEL|USER|WORKDIR|COPY|CMD|STOPSIGNAL|SHELL|HEALTHCHECK|ENTRYPOINT)/,{token:`keyword`,next:`@arguments`}]],arguments:[{include:`@whitespace`},{include:`@strings`},[/(@variable)/,{cases:{"@eos":{token:`variable`,next:`@popall`},"@default":`variable`}}],[/\\/,{cases:{"@eos":``,"@default":``}}],[/./,{cases:{"@eos":{token:``,next:`@popall`},"@default":``}}]],whitespace:[[/\s+/,{cases:{"@eos":{token:``,next:`@popall`},"@default":``}}]],comment:[[/(^#.*$)/,`comment`,`@popall`]],strings:[[/\\'$/,``,`@popall`],[/\\'/,``],[/'$/,`string`,`@popall`],[/'/,`string`,`@stringBody`],[/"$/,`string`,`@popall`],[/"/,`string`,`@dblStringBody`]],stringBody:[[/[^\\\$']/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}],[/\\./,`string.escape`],[/'$/,`string`,`@popall`],[/'/,`string`,`@pop`],[/(@variable)/,`variable`],[/\\$/,`string`],[/$/,`string`,`@popall`]],dblStringBody:[[/[^\\\$"]/,{cases:{"@eos":{token:`string`,next:`@popall`},"@default":`string`}}],[/\\./,`string.escape`],[/"$/,`string`,`@popall`],[/"/,`string`,`@pop`],[/(@variable)/,`variable`],[/\\$/,`string`],[/$/,`string`,`@popall`]]}},Le=e({conf:()=>Re,language:()=>ze}),Re={comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`string`,`comment`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`'`,close:`'`},{open:`"`,close:`"`}]},ze={defaultToken:``,tokenPostfix:`.ecl`,ignoreCase:!0,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],pounds:[`append`,`break`,`declare`,`demangle`,`end`,`for`,`getdatatype`,`if`,`inmodule`,`loop`,`mangle`,`onwarning`,`option`,`set`,`stored`,`uniquename`].join(`|`),keywords:`__compressed__.after.all.and.any.as.atmost.before.beginc.best.between.case.cluster.compressed.compression.const.counter.csv.default.descend.embed.encoding.encrypt.end.endc.endembed.endmacro.enum.escape.except.exclusive.expire.export.extend.fail.few.fileposition.first.flat.forward.from.full.function.functionmacro.group.grouped.heading.hole.ifblock.import.in.inner.interface.internal.joined.keep.keyed.last.left.limit.linkcounted.literal.little_endian.load.local.locale.lookup.lzw.macro.many.maxcount.maxlength.min skew.module.mofn.multiple.named.namespace.nocase.noroot.noscan.nosort.not.noxpath.of.onfail.only.opt.or.outer.overwrite.packed.partition.penalty.physicallength.pipe.prefetch.quote.record.repeat.retry.return.right.right1.right2.rows.rowset.scan.scope.self.separator.service.shared.skew.skip.smart.soapaction.sql.stable.store.terminator.thor.threshold.timelimit.timeout.token.transform.trim.type.unicodeorder.unordered.unsorted.unstable.update.use.validate.virtual.whole.width.wild.within.wnotrim.xml.xpath`.split(`.`),functions:`abs.acos.aggregate.allnodes.apply.ascii.asin.assert.asstring.atan.atan2.ave.build.buildindex.case.catch.choose.choosen.choosesets.clustersize.combine.correlation.cos.cosh.count.covariance.cron.dataset.dedup.define.denormalize.dictionary.distribute.distributed.distribution.ebcdic.enth.error.evaluate.event.eventextra.eventname.exists.exp.fail.failcode.failmessage.fetch.fromunicode.fromxml.getenv.getisvalid.global.graph.group.hash.hash32.hash64.hashcrc.hashmd5.having.httpcall.httpheader.if.iff.index.intformat.isvalid.iterate.join.keydiff.keypatch.keyunicode.length.library.limit.ln.loadxml.local.log.loop.map.matched.matchlength.matchposition.matchtext.matchunicode.max.merge.mergejoin.min.nofold.nolocal.nonempty.normalize.nothor.notify.output.parallel.parse.pipe.power.preload.process.project.pull.random.range.rank.ranked.realformat.recordof.regexfind.regexreplace.regroup.rejected.rollup.round.roundup.row.rowdiff.sample.sequential.set.sin.sinh.sizeof.soapcall.sort.sorted.sqrt.stepped.stored.sum.table.tan.tanh.thisnode.topn.tounicode.toxml.transfer.transform.trim.truncate.typeof.ungroup.unicodeorder.variance.wait.which.workunit.xmldecode.xmlencode.xmltext.xmlunicode`.split(`.`),typesint:[`integer`,`unsigned`].join(`|`),typesnum:[`data`,`qstring`,`string`,`unicode`,`utf8`,`varstring`,`varunicode`],typesone:[`ascii`,`big_endian`,`boolean`,`data`,`decimal`,`ebcdic`,`grouped`,`integer`,`linkcounted`,`pattern`,`qstring`,`real`,`record`,`rule`,`set of`,`streamed`,`string`,`token`,`udecimal`,`unicode`,`unsigned`,`utf8`,`varstring`,`varunicode`].join(`|`),operators:[`+`,`-`,`/`,`:=`,`<`,`<>`,`=`,`>`,`\\`,`and`,`in`,`not`,`or`],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/@typesint[4|8]/,`type`],[/#(@pounds)/,`type`],[/@typesone/,`type`],[/[a-zA-Z_$][\w-$]*/,{cases:{"@functions":`keyword.function`,"@keywords":`keyword`,"@operators":`operator`}}],{include:`@whitespace`},[/[{}()\[\]]/,`@brackets`],[/[<>](?!@symbols)/,`@brackets`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/[0-9_]*\.[0-9_]+([eE][\-+]?\d+)?/,`number.float`],[/0[xX][0-9a-fA-F_]+/,`number.hex`],[/0[bB][01]+/,`number.hex`],[/[0-9_]+/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string`],[/'[^\\']'/,`string`],[/(')(@escapes)(')/,[`string`,`string.escape`,`string`]],[/'/,`string.invalid`]],whitespace:[[/[ \t\v\f\r\n]+/,``],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],string:[[/[^\\']+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/'/,`string`,`@pop`]]}},Be=e({conf:()=>Ve,language:()=>He}),Ve={comments:{lineComment:`#`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`'`,close:`'`},{open:`"`,close:`"`}],autoClosingPairs:[{open:`'`,close:`'`,notIn:[`string`,`comment`]},{open:`"`,close:`"`,notIn:[`comment`]},{open:`"""`,close:`"""`},{open:"`",close:"`",notIn:[`string`,`comment`]},{open:`(`,close:`)`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`<<`,close:`>>`}],indentationRules:{increaseIndentPattern:/^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,decreaseIndentPattern:/^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/}},He={defaultToken:`source`,tokenPostfix:`.elixir`,brackets:[{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`{`,close:`}`,token:`delimiter.curly`},{open:`<<`,close:`>>`,token:`delimiter.angle.special`}],declarationKeywords:[`def`,`defp`,`defn`,`defnp`,`defguard`,`defguardp`,`defmacro`,`defmacrop`,`defdelegate`,`defcallback`,`defmacrocallback`,`defmodule`,`defprotocol`,`defexception`,`defimpl`,`defstruct`],operatorKeywords:[`and`,`in`,`not`,`or`,`when`],namespaceKeywords:[`alias`,`import`,`require`,`use`],otherKeywords:[`after`,`case`,`catch`,`cond`,`do`,`else`,`end`,`fn`,`for`,`if`,`quote`,`raise`,`receive`,`rescue`,`super`,`throw`,`try`,`unless`,`unquote_splicing`,`unquote`,`with`],constants:[`true`,`false`,`nil`],nameBuiltin:[`__MODULE__`,`__DIR__`,`__ENV__`,`__CALLER__`,`__STACKTRACE__`],operator:/-[->]?|!={0,2}|\*{1,2}|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,variableName:/[a-z_][a-zA-Z0-9_]*[?!]?/,atomName:/[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,specialAtomName:/\.\.\.|<<>>|%\{\}|%|\{\}/,aliasPart:/[A-Z][a-zA-Z0-9_]*/,moduleName:/@aliasPart(?:\.@aliasPart)*/,sigilSymmetricDelimiter:/"""|'''|"|'|\/|\|/,sigilStartDelimiter:/@sigilSymmetricDelimiter|<|\{|\[|\(/,sigilEndDelimiter:/@sigilSymmetricDelimiter|>|\}|\]|\)/,sigilModifiers:/[a-zA-Z0-9]*/,decimal:/\d(?:_?\d)*/,hex:/[0-9a-fA-F](_?[0-9a-fA-F])*/,octal:/[0-7](_?[0-7])*/,binary:/[01](_?[01])*/,escape:/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,tokenizer:{root:[{include:`@whitespace`},{include:`@comments`},{include:`@keywordsShorthand`},{include:`@numbers`},{include:`@identifiers`},{include:`@strings`},{include:`@atoms`},{include:`@sigils`},{include:`@attributes`},{include:`@symbols`}],whitespace:[[/\s+/,`white`]],comments:[[/(#)(.*)/,[`comment.punctuation`,`comment`]]],keywordsShorthand:[[/(@atomName)(:)(\s+)/,[`constant`,`constant.punctuation`,`white`]],[/"(?=([^"]|#\{.*?\}|\\")*":)/,{token:`constant.delimiter`,next:`@doubleQuotedStringKeyword`}],[/'(?=([^']|#\{.*?\}|\\')*':)/,{token:`constant.delimiter`,next:`@singleQuotedStringKeyword`}]],doubleQuotedStringKeyword:[[/":/,{token:`constant.delimiter`,next:`@pop`}],{include:`@stringConstantContentInterpol`}],singleQuotedStringKeyword:[[/':/,{token:`constant.delimiter`,next:`@pop`}],{include:`@stringConstantContentInterpol`}],numbers:[[/0b@binary/,`number.binary`],[/0o@octal/,`number.octal`],[/0x@hex/,`number.hex`],[/@decimal\.@decimal([eE]-?@decimal)?/,`number.float`],[/@decimal/,`number`]],identifiers:[[/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,[`keyword.declaration`,`white`,{cases:{unquote:`keyword`,"@default":`function`}}]],[/(@variableName)(?=\s*\.?\s*\()/,{cases:{"@declarationKeywords":`keyword.declaration`,"@namespaceKeywords":`keyword`,"@otherKeywords":`keyword`,"@default":`function.call`}}],[/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,[`type.identifier`,`white`,`operator`,`white`,`function.call`]],[/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,[`constant.punctuation`,`constant`,`white`,`operator`,`white`,`function.call`]],[/(\|>)(\s*)(@variableName)/,[`operator`,`white`,{cases:{"@otherKeywords":`keyword`,"@default":`function.call`}}]],[/(&)(\s*)(@variableName)/,[`operator`,`white`,`function.call`]],[/@variableName/,{cases:{"@declarationKeywords":`keyword.declaration`,"@operatorKeywords":`keyword.operator`,"@namespaceKeywords":`keyword`,"@otherKeywords":`keyword`,"@constants":`constant.language`,"@nameBuiltin":`variable.language`,"_.*":`comment.unused`,"@default":`identifier`}}],[/@moduleName/,`type.identifier`]],strings:[[/"""/,{token:`string.delimiter`,next:`@doubleQuotedHeredoc`}],[/'''/,{token:`string.delimiter`,next:`@singleQuotedHeredoc`}],[/"/,{token:`string.delimiter`,next:`@doubleQuotedString`}],[/'/,{token:`string.delimiter`,next:`@singleQuotedString`}]],doubleQuotedHeredoc:[[/"""/,{token:`string.delimiter`,next:`@pop`}],{include:`@stringContentInterpol`}],singleQuotedHeredoc:[[/'''/,{token:`string.delimiter`,next:`@pop`}],{include:`@stringContentInterpol`}],doubleQuotedString:[[/"/,{token:`string.delimiter`,next:`@pop`}],{include:`@stringContentInterpol`}],singleQuotedString:[[/'/,{token:`string.delimiter`,next:`@pop`}],{include:`@stringContentInterpol`}],atoms:[[/(:)(@atomName)/,[`constant.punctuation`,`constant`]],[/:"/,{token:`constant.delimiter`,next:`@doubleQuotedStringAtom`}],[/:'/,{token:`constant.delimiter`,next:`@singleQuotedStringAtom`}]],doubleQuotedStringAtom:[[/"/,{token:`constant.delimiter`,next:`@pop`}],{include:`@stringConstantContentInterpol`}],singleQuotedStringAtom:[[/'/,{token:`constant.delimiter`,next:`@pop`}],{include:`@stringConstantContentInterpol`}],sigils:[[/~[a-z]@sigilStartDelimiter/,{token:`@rematch`,next:`@sigil.interpol`}],[/~([A-Z]+)@sigilStartDelimiter/,{token:`@rematch`,next:`@sigil.noInterpol`}]],sigil:[[/~([a-z]|[A-Z]+)\{/,{token:`@rematch`,switchTo:`@sigilStart.$S2.$1.{.}`}],[/~([a-z]|[A-Z]+)\[/,{token:`@rematch`,switchTo:`@sigilStart.$S2.$1.[.]`}],[/~([a-z]|[A-Z]+)\(/,{token:`@rematch`,switchTo:`@sigilStart.$S2.$1.(.)`}],[/~([a-z]|[A-Z]+)\</,{token:`@rematch`,switchTo:`@sigilStart.$S2.$1.<.>`}],[/~([a-z]|[A-Z]+)(@sigilSymmetricDelimiter)/,{token:`@rematch`,switchTo:`@sigilStart.$S2.$1.$2.$2`}]],"sigilStart.interpol.s":[[/~s@sigilStartDelimiter/,{token:`string.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.interpol.s":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`string.delimiter`,next:`@pop`},"@default":`string`}}],{include:`@stringContentInterpol`}],"sigilStart.noInterpol.S":[[/~S@sigilStartDelimiter/,{token:`string.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.noInterpol.S":[[/(^|[^\\])\\@sigilEndDelimiter/,`string`],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`string.delimiter`,next:`@pop`},"@default":`string`}}],{include:`@stringContent`}],"sigilStart.interpol.r":[[/~r@sigilStartDelimiter/,{token:`regexp.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.interpol.r":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`regexp.delimiter`,next:`@pop`},"@default":`regexp`}}],{include:`@regexpContentInterpol`}],"sigilStart.noInterpol.R":[[/~R@sigilStartDelimiter/,{token:`regexp.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.noInterpol.R":[[/(^|[^\\])\\@sigilEndDelimiter/,`regexp`],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`regexp.delimiter`,next:`@pop`},"@default":`regexp`}}],{include:`@regexpContent`}],"sigilStart.interpol":[[/~([a-z]|[A-Z]+)@sigilStartDelimiter/,{token:`sigil.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.interpol":[[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`sigil.delimiter`,next:`@pop`},"@default":`sigil`}}],{include:`@sigilContentInterpol`}],"sigilStart.noInterpol":[[/~([a-z]|[A-Z]+)@sigilStartDelimiter/,{token:`sigil.delimiter`,switchTo:`@sigilContinue.$S2.$S3.$S4.$S5`}]],"sigilContinue.noInterpol":[[/(^|[^\\])\\@sigilEndDelimiter/,`sigil`],[/(@sigilEndDelimiter)@sigilModifiers/,{cases:{"$1==$S5":{token:`sigil.delimiter`,next:`@pop`},"@default":`sigil`}}],{include:`@sigilContent`}],attributes:[[/\@(module|type)?doc (~[sS])?"""/,{token:`comment.block.documentation`,next:`@doubleQuotedHeredocDocstring`}],[/\@(module|type)?doc (~[sS])?'''/,{token:`comment.block.documentation`,next:`@singleQuotedHeredocDocstring`}],[/\@(module|type)?doc (~[sS])?"/,{token:`comment.block.documentation`,next:`@doubleQuotedStringDocstring`}],[/\@(module|type)?doc (~[sS])?'/,{token:`comment.block.documentation`,next:`@singleQuotedStringDocstring`}],[/\@(module|type)?doc false/,`comment.block.documentation`],[/\@(@variableName)/,`variable`]],doubleQuotedHeredocDocstring:[[/"""/,{token:`comment.block.documentation`,next:`@pop`}],{include:`@docstringContent`}],singleQuotedHeredocDocstring:[[/'''/,{token:`comment.block.documentation`,next:`@pop`}],{include:`@docstringContent`}],doubleQuotedStringDocstring:[[/"/,{token:`comment.block.documentation`,next:`@pop`}],{include:`@docstringContent`}],singleQuotedStringDocstring:[[/'/,{token:`comment.block.documentation`,next:`@pop`}],{include:`@docstringContent`}],symbols:[[/\?(\\.|[^\\\s])/,`number.constant`],[/&\d+/,`operator`],[/<<<|>>>/,`operator`],[/[()\[\]\{\}]|<<|>>/,`@brackets`],[/\.\.\./,`identifier`],[/=>/,`punctuation`],[/@operator/,`operator`],[/[:;,.%]/,`punctuation`]],stringContentInterpol:[{include:`@interpolation`},{include:`@escapeChar`},{include:`@stringContent`}],stringContent:[[/./,`string`]],stringConstantContentInterpol:[{include:`@interpolation`},{include:`@escapeChar`},{include:`@stringConstantContent`}],stringConstantContent:[[/./,`constant`]],regexpContentInterpol:[{include:`@interpolation`},{include:`@escapeChar`},{include:`@regexpContent`}],regexpContent:[[/(\s)(#)(\s.*)$/,[`white`,`comment.punctuation`,`comment`]],[/./,`regexp`]],sigilContentInterpol:[{include:`@interpolation`},{include:`@escapeChar`},{include:`@sigilContent`}],sigilContent:[[/./,`sigil`]],docstringContent:[[/./,`comment.block.documentation`]],escapeChar:[[/@escape/,`constant.character.escape`]],interpolation:[[/#{/,{token:`delimiter.bracket.embed`,next:`@interpolationContinue`}]],interpolationContinue:[[/}/,{token:`delimiter.bracket.embed`,next:`@pop`}],{include:`@root`}]}},Ue=e({conf:()=>We,language:()=>Ge}),We={comments:{blockComment:[`/*`,`*/`],lineComment:`//`},brackets:[[`{`,`}`],[`[`,`]`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`]},{open:`[`,close:`]`,notIn:[`string`]},{open:`(`,close:`)`,notIn:[`string`]},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`<`,close:`>`}]},Ge={defaultToken:``,tokenPostfix:`.flow`,keywords:[`import`,`require`,`export`,`forbid`,`native`,`if`,`else`,`cast`,`unsafe`,`switch`,`default`],types:[`io`,`mutable`,`bool`,`int`,`double`,`string`,`flow`,`void`,`ref`,`true`,`false`,`with`],operators:[`=`,`>`,`<`,`<=`,`>=`,`==`,`!`,`!=`,`:=`,`::=`,`&&`,`||`,`+`,`-`,`*`,`/`,`@`,`&`,`%`,`:`,`->`,`\\`,`$`,`??`,`^`],symbols:/[@$=><!~?:&|+\-*\\\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":`keyword`,"@types":`type`,"@default":`identifier`}}],{include:`@whitespace`},[/[{}()\[\]]/,`delimiter`],[/[<>](?!@symbols)/,`delimiter`],[/@symbols/,{cases:{"@operators":`delimiter`,"@default":``}}],[/((0(x|X)[0-9a-fA-F]*)|(([0-9]+\.?[0-9]*)|(\.[0-9]+))((e|E)(\+|-)?[0-9]+)?)/,`number`],[/[;,.]/,`delimiter`],[/"([^"\\]|\\.)*$/,`string.invalid`],[/"/,`string`,`@string`]],whitespace:[[/[ \t\r\n]+/,``],[/\/\*/,`comment`,`@comment`],[/\/\/.*$/,`comment`]],comment:[[/[^\/*]+/,`comment`],[/\*\//,`comment`,`@pop`],[/[\/*]/,`comment`]],string:[[/[^\\"]+/,`string`],[/@escapes/,`string.escape`],[/\\./,`string.escape.invalid`],[/"/,`string`,`@pop`]]}};function Ke(){return globalThis._VSCODE_NLS_MESSAGES}function qe(){return globalThis._VSCODE_NLS_LANGUAGE}var Je=qe()===`pseudo`||typeof document<`u`&&document.location&&typeof document.location.hash==`string`&&document.location.hash.indexOf(`pseudo=true`)>=0;function Ye(e,t){let n;return n=t.length===0?e:e.replace(/\{(\d+)\}/g,(e,n)=>{let r=t[n[0]],i=e;return typeof r==`string`?i=r:(typeof r==`number`||typeof r==`boolean`||r==null)&&(i=String(r)),i}),Je&&(n=`[`+n.replace(/[aouei]/g,`$&$&`)+`]`),n}function C(e,t,...n){return Ye(typeof e==`number`?Xe(e,t):t,n)}function Xe(e,t){let n=Ke()?.[e];if(typeof n!=`string`){if(typeof t==`string`)return t;throw Error(`!!! NLS MISSING: ${e} !!!`)}return n}function w(e,t,...n){let r;r=typeof e==`number`?Xe(e,t):t;let i=Ye(r,n);return{value:i,original:t===r?i:Ye(t,n)}}function Ze(e,t){let n=e;typeof n.vscodeWindowId!=`number`&&Object.defineProperty(n,"vscodeWindowId",{get:()=>t})}var Qe=window,$e=class e{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new e}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}getWindowId(e){return e.vscodeWindowId}};function et(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}function tt(e){return $e.INSTANCE.getZoomFactor(e)}var nt=navigator.userAgent,rt=nt.indexOf(`Firefox`)>=0,it=nt.indexOf(`AppleWebKit`)>=0,at=nt.indexOf(`Chrome`)>=0,ot=!at&&nt.indexOf(`Safari`)>=0,st=!at&&!ot&&it;nt.indexOf(`Electron/`);var ct=nt.indexOf(`Android`)>=0,lt=!1;if(typeof Qe.matchMedia==`function`){let e=Qe.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=Qe.matchMedia(`(display-mode: fullscreen)`);lt=e.matches,et(Qe,e,({matches:e})=>{lt&&t.matches||(lt=e)})}function ut(){return globalThis.MonacoEnvironment}var dt=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?St.isErrorNoTelemetry(e)?new St(e.message+`
@@ -256,7 +256,7 @@ struct VSOutput {
256
256
  `?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof sd?e:new sd(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=this._validateEditOperation(e[n]);return t}pushEditOperations(e,t,n,r,i){try{return this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._pushEditOperations(e,this._validateEditOperations(t),n,r,i)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_pushEditOperations(e,t,n,r,i){if(this._options.trimAutoWhitespace&&this._trimAutoWhitespaceLines){let n=t.map(e=>({range:this.validateRange(e.range),text:e.text})),r=!0;if(e)for(let t=0,i=e.length;t<i;t++){let i=e[t],a=!1;for(let e=0,t=n.length;e<t;e++){let t=n[e].range,r=t.startLineNumber>i.endLineNumber,o=i.startLineNumber>t.endLineNumber;if(!r&&!o){a=!0;break}}if(!a){r=!1;break}}if(r)for(let e=0,r=this._trimAutoWhitespaceLines.length;e<r;e++){let r=this._trimAutoWhitespaceLines[e],i=this.getLineMaxColumn(r),a=!0;for(let e=0,t=n.length;e<t;e++){let t=n[e].range,o=n[e].text;if(!(r<t.startLineNumber||r>t.endLineNumber)&&!(r===t.startLineNumber&&t.startColumn===i&&t.isEmpty()&&o&&o.length>0&&o.charAt(0)===`
257
257
  `)&&!(r===t.startLineNumber&&t.startColumn===1&&t.isEmpty()&&o&&o.length>0&&o.charAt(o.length-1)===`
258
258
  `)){a=!1;break}}if(a){let e=new U(r,1,r,i);t.push(new sd(null,e,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,n,r,i)}_applyUndo(e,t,n,r){let i=e.map(e=>{let t=this.getPositionAt(e.newPosition),n=this.getPositionAt(e.newEnd);return{range:new U(t.lineNumber,t.column,n.lineNumber,n.column),text:e.oldText}});this._applyUndoRedoEdits(i,t,!0,!1,n,r)}_applyRedo(e,t,n,r){let i=e.map(e=>{let t=this.getPositionAt(e.oldPosition),n=this.getPositionAt(e.oldEnd);return{range:new U(t.lineNumber,t.column,n.lineNumber,n.column),text:e.newText}});this._applyUndoRedoEdits(i,t,!1,!0,n,r)}_applyUndoRedoEdits(e,t,n,r,i,a){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=n,this._isRedoing=r,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(i)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(a),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t,n){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();let r=this._validateEditOperations(e);return this._doApplyEdits(r,t??!1,n??FS.applyEdits())}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t,n){let r=this._buffer.getLineCount(),i=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),a=this._buffer.getLineCount(),o=i.changes;if(this._trimAutoWhitespaceLines=i.trimAutoWhitespaceLineNumbers,o.length!==0){for(let e=0,t=o.length;e<t;e++){let t=o[e];this._decorationsTree.acceptReplace(t.rangeOffset,t.rangeLength,t.text.length,t.forceMoveMarkers)}let e=[];this._increaseVersionId();let t=r;for(let n=0,r=o.length;n<r;n++){let r=o[n],[i]=Lx(r.text);this._onDidChangeDecorations.fire();let s=r.range.startLineNumber,c=r.range.endLineNumber,l=c-s,u=i,d=Math.min(l,u),f=u-l,p=a-t-f+s,m=p,h=p+u,g=this._decorationsTree.getInjectedTextInInterval(this,this.getOffsetAt(new F(m,1)),this.getOffsetAt(new F(h,this.getLineMaxColumn(h))),0),_=Tx.fromDecorations(g),v=new qa(_);for(let t=d;t>=0;t--){let n=s+t,r=p+t;v.takeFromEndWhile(e=>e.lineNumber>r);let i=v.takeFromEndWhile(e=>e.lineNumber===r);e.push(new Ex(n,this.getLineContent(r),i))}if(d<l){let t=s+d;e.push(new Dx(t+1,c))}if(d<u){let n=new qa(_),r=s+d,i=u-d,o=a-t-i+r+1,c=[],l=[];for(let e=0;e<i;e++){let t=o+e;l[e]=this.getLineContent(t),n.takeWhile(e=>e.lineNumber<t),c[e]=n.takeWhile(e=>e.lineNumber===t)}e.push(new Xue(r+1,s+u,l,c))}t+=f}this._emitContentChangedEvent(new Ox(e,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:o,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1,detailedReasons:[n],detailedReasonsChangeLengths:[o.length]})}return i.reverseEdits===null?void 0:i.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e,t,n){if(e&&e.size>0){let t=Array.from(e).map(e=>new Ex(e,this.getLineContent(e),this._getInjectedTextInLine(e)));this._onDidChangeInjectedText.fire(new kx(t))}if(t&&t.size>0){let e=Array.from(t).map(e=>new Jue(e.ownerId,e.decorationId,e.lineNumber,e.lineHeight));this._onDidChangeLineHeight.fire(new Ax(e))}if(n&&n.size>0){let e=Array.from(n).map(e=>new Yue(e.ownerId,e.lineNumber));this._onDidChangeFont.fire(new jx(e))}}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){let n={addDecoration:(t,n)=>this._deltaDecorationsImpl(e,[],[{range:t,options:n}])[0],changeDecoration:(t,n)=>{this._changeDecorationImpl(e,t,n)},changeDecorationOptions:(t,n)=>{this._changeDecorationOptionsImpl(e,t,Hw(n))},removeDecoration:t=>{this._deltaDecorationsImpl(e,[t],[])},deltaDecorations:(t,n)=>t.length===0&&n.length===0?[]:this._deltaDecorationsImpl(e,t,n)},r=null;try{r=t(n)}catch(e){pt(e)}return n.addDecoration=jw,n.changeDecoration=jw,n.changeDecorationOptions=jw,n.removeDecoration=jw,n.deltaDecorations=jw,r}deltaDecorations(e,t,n=0){if(this._assertNotDisposed(),e||=[],e.length===0&&t.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn(`Invoking deltaDecorations recursively could lead to leaking decorations.`),pt(Error(`Invoking deltaDecorations recursively could lead to leaking decorations.`))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(n,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,n){let r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:Vw[n]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;let i=this._validateRangeRelaxedNoAllocations(t),a=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),o=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),a,o,i),r.setOptions(Vw[n]),this._decorationsTree.insert(r),r.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;let t=this._decorationsTree.collectNodesFromOwner(e);for(let e=0,n=t.length;e<n;e++){let n=t[e];this._decorationsTree.delete(n),delete this._decorations[n.id]}}getDecorationOptions(e){let t=this._decorations[e];return t?t.options:null}getDecorationRange(e){let t=this._decorations[e];return t?this._decorationsTree.getNodeRange(this,t):null}getLineDecorations(e,t=0,n=!1,r=!1){return e<1||e>this.getLineCount()?[]:this.getLinesDecorations(e,e,t,n,r)}getLinesDecorations(e,t,n=0,r=!1,i=!1,a=!1){let o=this.getLineCount(),s=Math.min(o,Math.max(1,e)),c=Math.min(o,Math.max(1,t)),l=new U(s,1,c,this.getLineMaxColumn(c)),u=this._getDecorationsInRange(l,n,r,i,a);return Ra(u,this._decorationProvider.getDecorationsInRange(l,n,r)),u}getDecorationsInRange(e,t=0,n=!1,r=!1,i=!1,a=!1){let o=this.validateRange(e),s=this._getDecorationsInRange(o,t,n,r,a);return Ra(s,this._decorationProvider.getDecorationsInRange(o,t,n,i)),s}getOverviewRulerDecorations(e=0,t=!1,n=!1){return this._decorationsTree.getAll(this,e,t,n,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}getCustomLineHeightsDecorations(e=0){return this._decorationsTree.getAllCustomLineHeights(this,e)}_getInjectedTextInLine(e){let t=this._buffer.getOffsetAt(e,1),n=t+this._buffer.getLineLength(e),r=this._decorationsTree.getInjectedTextInInterval(this,t,n,0);return Tx.fromDecorations(r).filter(t=>t.lineNumber===e)}getFontDecorationsInRange(e,t=0){let n=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),r=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getFontDecorationsInInterval(this,n,r,t)}getAllDecorations(e=0,t=!1,n=!1){let r=this._decorationsTree.getAll(this,e,t,n,!1,!1);return r=r.concat(this._decorationProvider.getAllDecorations(e,t)),r}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!1,!0)}_getDecorationsInRange(e,t,n,r,i){let a=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),o=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,a,o,t,n,r,i)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t,n){let r=this._decorations[t];if(!r)return;if(r.options.after){let e=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(r.options.before){let e=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(r.options.lineHeight!==null){let n=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,n.startLineNumber,null)}if(r.options.affectsFont){let n=this.getDecorationRange(t);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,r.id,n.startLineNumber)}let i=this._validateRangeRelaxedNoAllocations(n),a=this._buffer.getOffsetAt(i.startLineNumber,i.startColumn),o=this._buffer.getOffsetAt(i.endLineNumber,i.endColumn);this._decorationsTree.delete(r),r.reset(this.getVersionId(),a,o,i),this._decorationsTree.insert(r),this._onDidChangeDecorations.checkAffectedAndFire(r.options),r.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.endLineNumber),r.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(i.startLineNumber),r.options.lineHeight!==null&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,i.startLineNumber,r.options.lineHeight),r.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(e,r.id,i.startLineNumber)}_changeDecorationOptionsImpl(e,t,n){let r=this._decorations[t];if(!r)return;let i=!!(r.options.overviewRuler&&r.options.overviewRuler.color),a=!!(n.overviewRuler&&n.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(r.options),this._onDidChangeDecorations.checkAffectedAndFire(n),r.options.after||n.after){let e=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(r.options.before||n.before){let e=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(r.options.lineHeight!==null||n.lineHeight!==null){let i=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,t,i.startLineNumber,n.lineHeight)}if(r.options.affectsFont||n.affectsFont){let n=this._decorationsTree.getNodeRange(this,r);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,t,n.startLineNumber)}let o=i!==a,s=Zfe(n)!==Fw(r);o||s?(this._decorationsTree.delete(r),r.setOptions(n),this._decorationsTree.insert(r)):r.setOptions(n)}_deltaDecorationsImpl(e,t,n,r=!1){let i=this.getVersionId(),a=t.length,o=0,s=n.length,c=0;this._onDidChangeDecorations.beginDeferredEmit();try{let l=Array(s);for(;o<a||c<s;){let u=null;if(o<a){let n;do n=t[o++],u=this._decorations[n];while(!u&&o<a);if(u){if(u.options.after){let e=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.endLineNumber)}if(u.options.before){let e=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByInjectedText(e.startLineNumber)}if(u.options.lineHeight!==null){let t=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,n,t.startLineNumber,null)}if(u.options.affectsFont){let t=this._decorationsTree.getNodeRange(this,u);this._onDidChangeDecorations.recordLineAffectedByFontChange(e,n,t.startLineNumber)}this._decorationsTree.delete(u),r||this._onDidChangeDecorations.checkAffectedAndFire(u.options)}}if(c<s){if(!u){let e=++this._lastDecorationId,t=`${this._instanceId};${e}`;u=new rC(t,0,0),this._decorations[t]=u}let t=n[c],a=this._validateRangeRelaxedNoAllocations(t.range),o=Hw(t.options),s=this._buffer.getOffsetAt(a.startLineNumber,a.startColumn),d=this._buffer.getOffsetAt(a.endLineNumber,a.endColumn);u.ownerId=e,u.reset(i,s,d,a),u.setOptions(o),u.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.endLineNumber),u.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(a.startLineNumber),u.options.lineHeight!==null&&this._onDidChangeDecorations.recordLineAffectedByLineHeightChange(e,u.id,a.startLineNumber,u.options.lineHeight),u.options.affectsFont&&this._onDidChangeDecorations.recordLineAffectedByFontChange(e,u.id,a.startLineNumber),r||this._onDidChangeDecorations.checkAffectedAndFire(o),this._decorationsTree.insert(u),l[c]=u.id,c++}else u&&delete this._decorations[u.id]}return l}finally{this._onDidChangeDecorations.endDeferredEmit()}}getLanguageId(){return this.tokenization.getLanguageId()}setLanguage(e,t){typeof e==`string`?(this._languageSelectionListener.clear(),this._setLanguage(e,t)):(this._languageSelectionListener.value=e.onDidChange(()=>this._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return Nw(this.getLineContent(e))+1}toString(){return`TextModel(${this.uri.toString()})`}};Mw=Ow=Wfe([Dw(4,xw),Dw(5,Ld),Dw(6,cf),Dw(7,vc)],Mw);function Nw(e){let t=0;for(let n of e)if(n===` `||n===` `)t++;else break;return t}function Pw(e){return!!(e.options.overviewRuler&&e.options.overviewRuler.color)}function Zfe(e){return!!e.after||!!e.before}function Fw(e){return!!e.options.after||!!e.options.before}var Iw=class{constructor(){this._decorationsTree0=new aC,this._decorationsTree1=new aC,this._injectedTextDecorationsTree=new aC}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(let n of t)n.range===null&&(n.range=e.getRangeAt(n.cachedAbsoluteStart,n.cachedAbsoluteEnd));return t}getAllInInterval(e,t,n,r,i,a,o){let s=e.getVersionId(),c=this._intervalSearch(t,n,r,i,a,s,o);return this._ensureNodesHaveRanges(e,c)}_intervalSearch(e,t,n,r,i,a,o){let s=this._decorationsTree0.intervalSearch(e,t,n,r,i,a,o),c=this._decorationsTree1.intervalSearch(e,t,n,r,i,a,o),l=this._injectedTextDecorationsTree.intervalSearch(e,t,n,r,i,a,o);return s.concat(c).concat(l)}getInjectedTextInInterval(e,t,n,r){let i=e.getVersionId(),a=this._injectedTextDecorationsTree.intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getFontDecorationsInInterval(e,t,n,r){let i=e.getVersionId(),a=this._decorationsTree0.intervalSearch(t,n,r,!1,!1,i,!1);return this._ensureNodesHaveRanges(e,a).filter(e=>e.options.affectsFont)}getAllInjectedText(e,t){let n=e.getVersionId(),r=this._injectedTextDecorationsTree.search(t,!1,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter(e=>e.options.showIfCollapsed||!e.range.isEmpty())}getAllCustomLineHeights(e,t){let n=e.getVersionId(),r=this._search(t,!1,!1,!1,n,!1);return this._ensureNodesHaveRanges(e,r).filter(e=>typeof e.options.lineHeight==`number`)}getAll(e,t,n,r,i,a){let o=e.getVersionId(),s=this._search(t,n,r,i,o,a);return this._ensureNodesHaveRanges(e,s)}_search(e,t,n,r,i,a){if(r)return this._decorationsTree1.search(e,t,n,i,a);{let r=this._decorationsTree0.search(e,t,n,i,a),o=this._decorationsTree1.search(e,t,n,i,a),s=this._injectedTextDecorationsTree.search(e,t,n,i,a);return r.concat(o).concat(s)}}collectNodesFromOwner(e){let t=this._decorationsTree0.collectNodesFromOwner(e),n=this._decorationsTree1.collectNodesFromOwner(e),r=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(n).concat(r)}collectNodesPostOrder(){let e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),n=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(n)}insert(e){Fw(e)?this._injectedTextDecorationsTree.insert(e):Pw(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){Fw(e)?this._injectedTextDecorationsTree.delete(e):Pw(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){let n=e.getVersionId();return t.cachedVersionId!==n&&this._resolveNode(t,n),t.range===null&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){Fw(e)?this._injectedTextDecorationsTree.resolveNode(e,t):Pw(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,n,r){this._decorationsTree0.acceptReplace(e,t,n,r),this._decorationsTree1.acceptReplace(e,t,n,r),this._injectedTextDecorationsTree.acceptReplace(e,t,n,r)}};function Lw(e){return e.replace(/[^a-z0-9\-_]/gi,` `)}var Rw=class{constructor(e){this.color=e.color||``,this.darkColor=e.darkColor||``}},Qfe=class extends Rw{constructor(e){super(e),this._resolvedColor=null,this.position=typeof e.position==`number`?e.position:td.Center}getColor(e){return this._resolvedColor||=Zg(e.type)&&this.darkColor?this._resolveColor(this.darkColor,e):this._resolveColor(this.color,e),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if(typeof e==`string`)return e;let n=e?t.getColor(e.id):null;return n?n.toString():``}},$fe=class{constructor(e){this.position=e?.position??nd.Center,this.persistLane=e?.persistLane}},epe=class extends Rw{constructor(e){super(e),this.position=e.position,this.sectionHeaderStyle=e.sectionHeaderStyle??null,this.sectionHeaderText=e.sectionHeaderText??null}getColor(e){return this._resolvedColor||=Zg(e.type)&&this.darkColor?this._resolveColor(this.darkColor,e):this._resolveColor(this.color,e),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return typeof e==`string`?J.fromHex(e):t.getColor(e.id)}},zw=class e{static from(t){return t instanceof e?t:new e(t)}constructor(e){this.content=e.content||``,this.tokens=e.tokens??null,this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}},Bw=class e{static register(t){return new e(t)}static createDynamic(t){return new e(t)}constructor(e){this.description=e.description,this.blockClassName=e.blockClassName?Lw(e.blockClassName):null,this.blockDoesNotCollapse=e.blockDoesNotCollapse??null,this.blockIsAfterEnd=e.blockIsAfterEnd??null,this.blockPadding=e.blockPadding??null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?Lw(e.className):null,this.shouldFillLineOnLineBreak=e.shouldFillLineOnLineBreak??null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.lineHeight=e.lineHeight?Math.min(e.lineHeight,Yfe):null,this.fontSize=e.fontSize||null,this.affectsFont=!!e.fontSize||!!e.fontFamily||!!e.fontWeight||!!e.fontStyle,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new Qfe(e.overviewRuler):null,this.minimap=e.minimap?new epe(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new $fe(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?Lw(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?Lw(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?Lw(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?Wee(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?Lw(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?Lw(e.marginClassName):null,this.inlineClassName=e.inlineClassName?Lw(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?Lw(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?Lw(e.afterContentClassName):null,this.after=e.after?zw.from(e.after):null,this.before=e.before?zw.from(e.before):null,this.hideInCommentTokens=e.hideInCommentTokens??!1,this.hideInStringTokens=e.hideInStringTokens??!1,this.textDirection=e.textDirection??null}};Bw.EMPTY=Bw.register({description:`empty`});var Vw=[Bw.register({description:`tracked-range-always-grows-when-typing-at-edges`,stickiness:0}),Bw.register({description:`tracked-range-never-grows-when-typing-at-edges`,stickiness:1}),Bw.register({description:`tracked-range-grows-only-when-typing-before`,stickiness:2}),Bw.register({description:`tracked-range-grows-only-when-typing-after`,stickiness:3})];function Hw(e){return e instanceof Bw?e:Bw.createDynamic(e)}var Uw=class{static toKey(e){return`${e.ownerId};${e.decorationId};${e.lineNumber}`}constructor(e,t,n,r){this.ownerId=e,this.decorationId=t,this.lineNumber=n,this.lineHeight=r}},Ww=class{static toKey(e){return`${e.ownerId};${e.decorationId};${e.lineNumber}`}constructor(e,t,n){this.ownerId=e,this.decorationId=t,this.lineNumber=n}},tpe=class extends D{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new k),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._affectedLineHeights=null,this._affectedFontLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),this._affectedInjectedTextLines?.clear(),this._affectedInjectedTextLines=null,this._affectedLineHeights?.clear(),this._affectedLineHeights=null,this._affectedFontLines?.clear(),this._affectedFontLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||=new Set,this._affectedInjectedTextLines.add(e)}recordLineAffectedByLineHeightChange(e,t,n,r){this._affectedLineHeights||=new Ew([],Uw.toKey),this._affectedLineHeights.add(new Uw(e,t,n,r))}recordLineAffectedByFontChange(e,t,n){this._affectedFontLines||=new Ew([],Ww.toKey),this._affectedFontLines.add(new Ww(e,t,n))}checkAffectedAndFire(e){this._affectsMinimap||=!!e.minimap?.position,this._affectsOverviewRuler||=!!e.overviewRuler?.color,this._affectsGlyphMargin||=!!e.glyphMarginClassName,this._affectsLineNumber||=!!e.lineNumberClassName,this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines,this._affectedLineHeights,this._affectedFontLines);let e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}},npe=class extends D{constructor(){super(),this._fastEmitter=this._register(new k),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new k),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;let t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){if(this._deferredCnt>0){this._deferredEvent=this._deferredEvent?this._deferredEvent.merge(e):e;return}this._fastEmitter.fire(e),this._slowEmitter.fire(e)}},Z=yc(`ILanguageFeaturesService`),rpe=class e{static create(t){return new e(t.get(151),t.get(150))}constructor(e,t){this.classifier=new ipe(e,t)}createLineBreaksComputer(e,t,n,r,i,a){let o=[],s=[],c=[];return{addRequest:(e,t,n)=>{o.push(e),s.push(t),c.push(n)},finalize:()=>{let l=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,u=[];for(let e=0,d=o.length;e<d;e++){let d=s[e],f=c[e],p=o[e],m=a&&p.includes(`"`)&&p.includes(`\\n`);f&&!f.injectionOptions&&!d&&!m?u[e]=ape(this.classifier,f,p,t,n,l,r,i):u[e]=ope(this.classifier,p,d,t,n,l,r,i,m)}return Gw.length=0,Kw.length=0,u}}}},ipe=class extends Hu{constructor(e,t){super(0);for(let t=0;t<e.length;t++)this.set(e.charCodeAt(t),1);for(let e=0;e<t.length;e++)this.set(t.charCodeAt(e),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}},Gw=[],Kw=[];function ape(e,t,n,r,i,a,o,s){if(i===-1)return null;let c=n.length;if(c<=1)return null;let l=s===`keepAll`,u=t.breakOffsets,d=t.breakOffsetsVisibleColumn,f=Xw(n,r,i,a,o),p=i-f,m=Gw,h=Kw,g=0,_=0,v=0,y=i,b=u.length,x=0;if(x>=0){let e=Math.abs(d[x]-y);for(;x+1<b;){let t=Math.abs(d[x+1]-y);if(t>=e)break;e=t,x++}}for(;x<b;){let t=x<0?0:u[x],i=x<0?0:d[x];_>t&&(t=_,i=v);let o=0,s=0,f=0,S=0;if(i<=y){let v=i,b=t===0?0:n.charCodeAt(t-1),x=t===0?0:e.get(b),ee=!0;for(let i=t;i<c;i++){let t=i,c=n.charCodeAt(i),u,d;if(Qr(c)?(i++,u=0,d=2):(u=e.get(c),d=qw(c,v,r,a)),t>_&&Yw(b,x,c,u,l)&&(o=t,s=v),v+=d,v>y){t>_?(f=t,S=v-d):(f=i+1,S=v),v-s>p&&(o=0),ee=!1;break}b=c,x=u}if(ee){g>0&&(m[g]=u[u.length-1],h[g]=d[u.length-1],g++);break}}if(o===0){let c=i,u=n.charCodeAt(t),d=e.get(u),m=!1;for(let r=t-1;r>=_;r--){let t=r+1,i=n.charCodeAt(r);if(i===9){m=!0;break}let h,g;if($r(i)?(r--,h=0,g=2):(h=e.get(i),g=di(i)?a:1),c<=y){if(f===0&&(f=t,S=c),c<=y-p)break;if(Yw(i,h,u,d,l)){o=t,s=c;break}}c-=g,u=i,d=h}if(o!==0){let e=p-(S-s);if(e<=r){let t=n.charCodeAt(f),i;i=Qr(t)?2:qw(t,S,r,a),e-i<0&&(o=0)}}if(m){x--;continue}}if(o===0&&(o=f,s=S),o<=_){let e=n.charCodeAt(_);Qr(e)?(o=_+2,s=v+2):(o=_+1,s=v+qw(e,v,r,a))}for(_=o,m[g]=o,v=s,h[g]=s,g++,y=s+p;x<0||x<b&&d[x]<s;)x++;let ee=Math.abs(d[x]-y);for(;x+1<b;){let e=Math.abs(d[x+1]-y);if(e>=ee)break;ee=e,x++}}return g===0?null:(m.length=g,h.length=g,Gw=t.breakOffsets,Kw=t.breakOffsetsVisibleColumn,t.breakOffsets=m,t.breakOffsetsVisibleColumn=h,t.wrappedTextIndentLength=f,t)}function ope(e,t,n,r,i,a,o,s,c){let l=Tx.applyInjectedText(t,n),u,d;if(n&&n.length>0?(u=n.map(e=>e.options),d=n.map(e=>e.column-1)):(u=null,d=null),i===-1)return u?new xx(d,u,[l.length],[],0):null;let f=l.length;if(f<=1)return u?new xx(d,u,[l.length],[],0):null;let p=s===`keepAll`,m=Xw(l,r,i,a,o),h=i-m,g=[],_=[],v=0,y=0,b=0,x=i,S=l.charCodeAt(0),ee=e.get(S),te=qw(S,0,r,a),ne=1;Qr(S)&&(te+=1,S=l.charCodeAt(1),ee=e.get(S),ne++);for(let t=ne;t<f;t++){let n=t,i=l.charCodeAt(t),o,s,u=!1;Qr(i)?(t++,o=0,s=2):(o=e.get(i),s=qw(i,te,r,a)),c&&spe(l,t)?(y=n,b=te,u=!0):Yw(S,ee,i,o,p)&&(y=n,b=te),te+=s,(te>x||u)&&((y===0||te-b>h)&&(y=n,b=te-s),g[v]=y,_[v]=b,v++,x=b+h,y=0),S=i,ee=o}return v===0&&(!n||n.length===0)?null:(g[v]=f,_[v]=te,new xx(d,u,g,_,m))}function qw(e,t,n,r){return e===9?n-t%n:di(e)||e<32?r:1}function Jw(e,t){return t-e%t}function spe(e,t){if(t>=2&&e.charAt(t-1)===`n`){let n=0;for(let r=t-2;r>=0;r--)if(e.charAt(r)===`\\`)n++;else return n%2==1}return!1}function Yw(e,t,n,r,i){return n!==32&&(t===2&&r!==2||t!==1&&r===1||!i&&t===3&&r!==2||!i&&r===3&&t!==1)}function Xw(e,t,n,r,i){let a=0;if(i!==0){let o=Lr(e);if(o!==-1){for(let n=0;n<o;n++){let r=e.charCodeAt(n)===9?Jw(a,t):1;a+=r}let s=i===3?2:+(i===2);for(let e=0;e<s;e++){let e=Jw(a,t);a+=e}a+r>n&&(a=0)}}return a}var Zw=class e{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new Tu(new U(1,1,1,1),0,0,new F(1,1),0),new Tu(new U(1,1,1,1),0,0,new F(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new wu(this.modelState,this.viewState)}readSelectionFromMarkers(e){let t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?W.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):W.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,n){this._setState(e,t,n)}static _validatePositionWithCache(e,t,n,r){return t.equals(n)?r:e.normalizePosition(t,2)}static _validateViewState(e,t){let n=t.position,r=t.selectionStart.getStartPosition(),i=t.selectionStart.getEndPosition(),a=e.normalizePosition(n,2),o=this._validatePositionWithCache(e,r,n,a),s=this._validatePositionWithCache(e,i,r,o);return n.equals(a)&&r.equals(o)&&i.equals(s)?t:new Tu(U.fromPositions(o,s),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+r.column-o.column,a,t.leftoverVisibleColumns+n.column-a.column)}_setState(t,n,r){if(r&&=e._validateViewState(t.viewModel,r),n){let e=t.model.validateRange(n.selectionStart),r=n.selectionStart.equalsRange(e)?n.selectionStartLeftoverVisibleColumns:0,i=t.model.validatePosition(n.position),a=n.position.equals(i)?n.leftoverVisibleColumns:0;n=new Tu(e,n.selectionStartKind,r,i,a)}else{if(!r)return;let e=t.model.validateRange(t.coordinatesConverter.convertViewRangeToModelRange(r.selectionStart)),i=t.model.validatePosition(t.coordinatesConverter.convertViewPositionToModelPosition(r.position));n=new Tu(e,r.selectionStartKind,r.selectionStartLeftoverVisibleColumns,i,r.leftoverVisibleColumns)}if(r){let e=t.coordinatesConverter.validateViewRange(r.selectionStart,n.selectionStart),i=t.coordinatesConverter.validateViewPosition(r.position,n.position);r=new Tu(e,n.selectionStartKind,n.selectionStartLeftoverVisibleColumns,i,n.leftoverVisibleColumns)}else{let e=t.coordinatesConverter.convertModelPositionToViewPosition(new F(n.selectionStart.startLineNumber,n.selectionStart.startColumn)),i=t.coordinatesConverter.convertModelPositionToViewPosition(new F(n.selectionStart.endLineNumber,n.selectionStart.endColumn)),a=new U(e.lineNumber,e.column,i.lineNumber,i.column),o=t.coordinatesConverter.convertModelPositionToViewPosition(n.position);r=new Tu(a,n.selectionStartKind,n.selectionStartLeftoverVisibleColumns,o,n.leftoverVisibleColumns)}this.modelState=n,this.viewState=r,this._updateTrackedRange(t)}},Qw=class{constructor(e){this.context=e,this.cursors=[new Zw(e)],this.lastAddedCursorIndex=0}dispose(){for(let e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(let e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(let e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(let e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return $v(this.cursors,Ua(e=>e.viewState.position,F.compare)).viewState.position}getBottomMostViewPosition(){return Qv(this.cursors,Ua(e=>e.viewState.position,F.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(wu.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){e!==null&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){let t=this.cursors.length-1,n=e.length;if(t<n){let e=n-t;for(let t=0;t<e;t++)this._addSecondaryCursor()}else if(t>n){let e=t-n;for(let t=0;t<e;t++)this._removeSecondaryCursor(this.cursors.length-2)}for(let t=0;t<n;t++)this.cursors[t+1].setState(this.context,e[t].modelState,e[t].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new Zw(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return this.cursors.length===1||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;let e=this.cursors.slice(0),t=[];for(let n=0,r=e.length;n<r;n++)t.push({index:n,selection:e[n].modelState.selection});t.sort(Ua(e=>e.selection,U.compareRangesUsingStarts));for(let n=0;n<t.length-1;n++){let r=t[n],i=t[n+1],a=r.selection,o=i.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let s;if(s=o.isEmpty()||a.isEmpty()?o.getStartPosition().isBeforeOrEqual(a.getEndPosition()):o.getStartPosition().isBefore(a.getEndPosition()),s){let a=r.index<i.index?n:n+1,o=r.index<i.index?n+1:n,s=t[o].index,c=t[a].index,l=t[o].selection,u=t[a].selection;if(!l.equalsSelection(u)){let n=l.plusRange(u),r=l.selectionStartLineNumber===l.startLineNumber&&l.selectionStartColumn===l.startColumn,i=u.selectionStartLineNumber===u.startLineNumber&&u.selectionStartColumn===u.startColumn,o;s===this.lastAddedCursorIndex?(o=r,this.lastAddedCursorIndex=c):o=i;let d;d=o?new W(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new W(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn),t[a].selection=d;let f=wu.fromModelSelection(d);e[c].setState(this.context,f.modelState,f.viewState)}for(let e of t)e.index>s&&e.index--;e.splice(s,1),t.splice(o,1),this._removeSecondaryCursor(s-1),n--}}}},$w=class{constructor(e,t,n,r){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=n,this.cursorConfig=r}},cpe=class{constructor(){this.type=0}},lpe=class{constructor(){this.type=1}},upe=class{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}},dpe=class{constructor(e,t,n){this.selections=e,this.modelSelections=t,this.reason=n,this.type=3}},eT=class{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}},tT=class{constructor(){this.type=5}},fpe=class{constructor(e){this.type=6,this.isFocused=e}},ppe=class{constructor(){this.type=7}},nT=class{constructor(){this.type=8}},rT=class{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}},iT=class{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}},aT=class{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}},oT=class{constructor(e,t,n,r,i,a,o){this.source=e,this.minimalReveal=t,this.range=n,this.selections=r,this.verticalType=i,this.revealHorizontal=a,this.scrollType=o,this.type=12}},mpe=class{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}},hpe=class{constructor(e){this.theme=e,this.type=14}},gpe=class{constructor(e){this.type=15,this.ranges=e}},_pe=class{constructor(){this.type=16}},vpe=class{constructor(){this.type=17}},ype=class extends D{constructor(){super(),this._onEvent=this._register(new k),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,n=this._outgoingEvents.length;t<n;t++){let n=this._outgoingEvents[t].kind===e.kind?this._outgoingEvents[t].attemptToMerge(e):null;if(n){this._outgoingEvents[t]=n;return}}this._outgoingEvents.push(e)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;let e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,n=this._eventHandlers.length;t<n;t++)this._eventHandlers[t]===e&&console.warn(`Detected duplicate listener in ViewEventDispatcher`,e);this._eventHandlers.push(e)}removeViewEventHandler(e){for(let t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new bpe),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){let e=this._collector.outgoingEvents,t=this._collector.viewEvents;this._collector=null;for(let t of e)this._addOutgoingEvent(t);t.length>0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue=this._viewEventQueue?this._viewEventQueue.concat(e):e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){let e=this._viewEventQueue;this._viewEventQueue=null;let t=this._eventHandlers.slice(0);for(let n of t)n.handleEvents(e)}}},bpe=class{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}},xpe=class e{constructor(e,t,n,r){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=n,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldContentWidth,this._oldContentHeight,t.contentWidth,t.contentHeight):null}},sT=class e{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind===this.kind?new e(this.oldHasFocus,t.hasFocus):null}},Spe=class{constructor(e,t){this.kind=2,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind===this.kind?new sT(this.oldHasFocus,e.hasFocus):null}},Cpe=class e{constructor(e,t,n,r,i,a,o,s){this.kind=3,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=n,this._oldScrollTop=r,this.scrollWidth=i,this.scrollLeft=a,this.scrollHeight=o,this.scrollTop=s,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop):null}},wpe=class{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},Tpe=class{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},Epe=class e{constructor(e,t,n,r,i,a,o){this.kind=7,this.oldSelections=e,this.selections=t,this.oldModelVersionId=n,this.modelVersionId=r,this.source=i,this.reason=a,this.reachedMaxCursorCount=o}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(!e[r].equalsSelection(t[r]))return!1;return!0}isNoOp(){return e._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(t){return t.kind===this.kind?new e(this.oldSelections,t.selections,this.oldModelVersionId,t.modelVersionId,t.source,t.reason,this.reachedMaxCursorCount||t.reachedMaxCursorCount):null}},Dpe=class{constructor(){this.kind=6}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},Ope=class{constructor(e){this.event=e,this.kind=8}isNoOp(){return!1}attemptToMerge(e){return null}},kpe=class{constructor(e){this.event=e,this.kind=9}isNoOp(){return!1}attemptToMerge(e){return null}},Ape=class{constructor(e){this.event=e,this.kind=10}isNoOp(){return!1}attemptToMerge(e){return null}},jpe=class{constructor(e){this.event=e,this.kind=11}isNoOp(){return!1}attemptToMerge(e){return null}},Mpe=class{constructor(e){this.event=e,this.kind=12}isNoOp(){return!1}attemptToMerge(e){return null}},Npe=class{constructor(e){this.event=e,this.kind=13}isNoOp(){return!1}attemptToMerge(e){return null}},Ppe=class{constructor(e){this.event=e,this.kind=14}isNoOp(){return!1}attemptToMerge(e){return null}},Fpe=class{constructor(e){this.event=e,this.kind=15}isNoOp(){return!1}attemptToMerge(e){return null}},Ipe=class extends D{constructor(e,t,n,r){super(),this._model=e,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=t,this._coordinatesConverter=n,this.context=new $w(this._model,this._viewModel,this._coordinatesConverter,r),this._cursors=new Qw(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=Ln(this._autoClosedActions),super.dispose()}updateConfiguration(e){this.context=new $w(this._model,this._viewModel,this._coordinatesConverter,e),this._cursors.updateContext(this.context)}onLineMappingChanged(e){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(e,`viewModel`,0,this.getCursorStates())}setHasFocus(e){this._hasFocus=e}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let e=this._cursors.getSelections();for(let t=0;t<this._autoClosedActions.length;t++){let n=this._autoClosedActions[t];n.isValid(e)||(n.dispose(),this._autoClosedActions.splice(t,1),t--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(e,t,n,r){let i=!1,a=this.context.cursorConfig.multiCursorLimit;r!==null&&r.length>a&&(r=r.slice(0,a),i=!0);let o=cT.from(this._model,this);return this._cursors.setStates(r),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,n,o,i)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,n,r,i,a){let o=this._cursors.getViewPositions(),s=null,c=null;o.length>1?c=this._cursors.getViewSelections():s=U.fromPositions(o[0],o[0]),e.emitViewEvent(new oT(t,n,s,c,r,i,a))}revealPrimary(e,t,n,r,i,a){let o=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new oT(t,n,null,o,r,i,a))}saveState(){let e=[],t=this._cursors.getSelections();for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push({inSelectionMode:!r.isEmpty(),selectionStart:{lineNumber:r.selectionStartLineNumber,column:r.selectionStartColumn},position:{lineNumber:r.positionLineNumber,column:r.positionColumn}})}return e}restoreState(e,t){let n=[];for(let e=0,r=t.length;e<r;e++){let r=t[e],i=1,a=1;r.position&&r.position.lineNumber&&(i=r.position.lineNumber),r.position&&r.position.column&&(a=r.position.column);let o=i,s=a;r.selectionStart&&r.selectionStart.lineNumber&&(o=r.selectionStart.lineNumber),r.selectionStart&&r.selectionStart.column&&(s=r.selectionStart.column),n.push({selectionStartLineNumber:o,selectionStartColumn:s,positionLineNumber:i,positionColumn:a})}this.setStates(e,`restoreState`,0,wu.fromModelSelections(n)),this.revealAll(e,`restoreState`,!1,0,!0,1)}onModelContentChanged(e,t){if(t instanceof kx){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(e,`modelChange`,0,this.getCursorStates())}finally{this._isHandling=!1}}else{let n=t.rawContentChangedEvent;if(this._knownModelVersionId=n.versionId,this._isHandling)return;let r=n.containsEvent(1);if(this._prevEditOperationType=0,r)this._cursors.dispose(),this._cursors=new Qw(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,`model`,1,null,!1);else if(this._hasFocus&&n.resultingSelection&&n.resultingSelection.length>0){let t=wu.fromModelSelections(n.resultingSelection);this.setStates(e,`modelChange`,n.isUndoing?5:n.isRedoing?6:2,t)&&this.revealAll(e,`modelChange`,!1,0,!0,0)}else{let t=this._cursors.readSelectionFromMarkers();this.setStates(e,`modelChange`,2,wu.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;let e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),n=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:n.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,n)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,n,r){this.setStates(e,t,r,wu.fromModelSelections(n))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){let n=[],r=[];for(let i=0,a=e.length;i<a;i++)n.push({range:e[i],options:{description:`auto-closed-character`,inlineClassName:`auto-closed-character`,stickiness:1}}),r.push({range:t[i],options:{description:`auto-closed-enclosing`,stickiness:1}});let i=this._model.deltaDecorations([],n),a=this._model.deltaDecorations([],r);this._autoClosedActions.push(new lT(this._model,i,a))}_executeEditOperation(e,t){if(!e)return;e.shouldPushStackElementBefore&&this._model.pushStackElement();let n=Lpe.executeCommands(this._model,this._cursors.getSelections(),e.commands,t);if(n){this._interpretCommandResult(n);let t=[],r=[];for(let n=0;n<e.commands.length;n++){let i=e.commands[n];i instanceof Lf&&i.enclosingRange&&i.closeCharacterRange&&(t.push(i.closeCharacterRange),r.push(i.enclosingRange))}t.length>0&&this._pushAutoClosedAction(t,r),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,n,r,i){let a=cT.from(this._model,this);if(a.equals(r))return!1;let o=this._cursors.getSelections(),s=this._cursors.getViewSelections();if(e.emitViewEvent(new dpe(s,o,n)),!r||r.cursorState.length!==a.cursorState.length||a.cursorState.some((e,t)=>!e.modelState.equals(r.cursorState[t].modelState))){let s=r?r.cursorState.map(e=>e.modelState.selection):null,c=r?r.modelVersionId:0;e.emitOutgoingEvent(new Epe(s,o,c,a.modelVersionId,t||`keyboard`,n,i))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r.text||r.text.indexOf(`
259
- `)>=0)return null;let i=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!i)return null;let a=i[1],o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!o||o.length!==1)return null;let s=o[0].open,c=r.text.length-i[2].length-1,l=r.text.lastIndexOf(s,c-1);if(l===-1)return null;t.push([l,c])}return t}executeEdits(e,t,n,r,i){let a=null;t===`snippet`&&(a=this._findAutoClosingPairs(n)),a&&(n[0]._isTracked=!0);let o=[],s=[],c=this._model.pushEditOperations(this.getSelections(),n,e=>{if(a)for(let t=0,n=a.length;t<n;t++){let[n,r]=a[t],i=e[t],c=i.range.startLineNumber,l=i.range.startColumn-1+n,u=i.range.startColumn-1+r;o.push(new U(c,u+1,c,u+2)),s.push(new U(c,l+1,c,u+2))}let t=r(e);return t&&(this._isHandling=!0),t},void 0,i);c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),o.length>0&&this._pushAutoClosedAction(o,s)}_executeEdit(e,t,n,r=0){if(this.context.cursorConfig.readOnly)return;let i=cT.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){pt(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,i,!1)&&this.revealAll(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return lT.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new zpe(this._model,this.getSelections())}endComposition(e,t){let n=FS.cursor({kind:`compositionEnd`,detailedSource:t}),r=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t===`keyboard`&&this._executeEditOperation(qf.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,r,this.getSelections(),this.getAutoClosedCharacters()),n)},e,t)}type(e,t,n){let r=FS.cursor({kind:`type`,detailedSource:n});this._executeEdit(()=>{if(n===`keyboard`){let e=t.length,n=0;for(;n<e;){let e=ii(t,n),i=t.substr(n,e);this._executeEditOperation(qf.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),i),r),n+=e}}else this._executeEditOperation(qf.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t),r)},e,n)}compositionType(e,t,n,r,i,a){let o=FS.cursor({kind:`compositionType`,detailedSource:a});if(t.length===0&&n===0&&r===0){if(i!==0){let t=this.getSelections().map(e=>{let t=e.getPosition();return new W(t.lineNumber,t.column+i,t.lineNumber,t.column+i)});this.setSelections(e,a,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(qf.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,r,i),o)},e,a)}paste(e,t,n,r,i){let a=FS.cursor({kind:`paste`,detailedSource:i});this._executeEdit(()=>{this._executeEditOperation(qf.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,r||[]),a)},e,i,4)}cut(e,t){let n=FS.cursor({kind:`cut`,detailedSource:t});this._executeEdit(()=>{this._executeEditOperation(Ru.cut(this.context.cursorConfig,this._model,this.getSelections()),n)},e,t)}executeCommand(e,t,n){let r=FS.cursor({kind:`executeCommand`,detailedSource:n});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Eu(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}executeCommands(e,t,n){let r=FS.cursor({kind:`executeCommands`,detailedSource:n});this._executeEdit(()=>{this._executeEditOperation(new Eu(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}},cT=class e{static from(t,n){return new e(t.getVersionId(),n.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}},lT=class{static getAllAutoClosedCharacters(e){let t=[];for(let n of e)t=t.concat(n.getAutoClosedCharactersRanges());return t}constructor(e,t,n){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=n}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let n=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);n&&e.push(n)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))return!1}t.sort(U.compareRangesUsingStarts),e.sort(U.compareRangesUsingStarts);for(let n=0;n<e.length;n++)if(n>=t.length||!t[n].strictContainsRange(e[n]))return!1;return!0}},Lpe=class{static executeCommands(e,t,n,r=FS.unknown({name:`executeCommands`})){let i={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},a=this._innerExecuteCommands(i,n,r);for(let e=0,t=i.trackedRanges.length;e<t;e++)i.model._setTrackedRange(i.trackedRanges[e],null,0);return a}static _innerExecuteCommands(e,t,n){if(this._arrayIsEmpty(t))return null;let r=this._getEditOperations(e,t);if(r.operations.length===0)return null;let i=r.operations,a=this._getLoserCursorMap(i);if(a.hasOwnProperty(`0`))return console.warn(`Ignoring commands`),null;let o=[];for(let e=0,t=i.length;e<t;e++)a.hasOwnProperty(i[e].identifier.major.toString())||o.push(i[e]);r.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,o,n=>{let r=[];for(let t=0;t<e.selectionsBefore.length;t++)r[t]=[];for(let e of n)e.identifier&&r[e.identifier.major].push(e);let i=(e,t)=>e.identifier.minor-t.identifier.minor,a=[];for(let n=0;n<e.selectionsBefore.length;n++)r[n].length>0?(r[n].sort(i),a[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>r[n],getTrackedSelection:t=>{let n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===0?new W(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new W(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):a[n]=e.selectionsBefore[n];return a},void 0,n);s||=e.selectionsBefore;let c=[];for(let e in a)a.hasOwnProperty(e)&&c.push(parseInt(e,10));c.sort((e,t)=>t-e);for(let e of c)s.splice(e,1);return s}static _arrayIsEmpty(e){for(let t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let n=[],r=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a){let t=this._getEditOperationsFromCommand(e,i,a);n=n.concat(t.operations),r||=t.hadTrackedEditOperation}}return{operations:n,hadTrackedEditOperation:r}}static _getEditOperationsFromCommand(e,t,n){let r=[],i=0,a=(e,a,o=!1)=>{U.isEmpty(e)&&a===``||r.push({identifier:{major:t,minor:i++},range:e,text:a,forceMoveMarkers:o,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},o=!1,s={addEditOperation:a,addTrackedEditOperation:(e,t,n)=>{o=!0,a(e,t,n)},trackSelection:(t,n)=>{let r=W.liftSelection(t),i;if(r.isEmpty()){if(typeof n==`boolean`)i=n?2:3;else{let t=e.model.getLineMaxColumn(r.startLineNumber);i=r.startColumn===t?2:3}}else i=1;let a=e.trackedRanges.length,o=e.model._setTrackedRange(null,r,i);return e.trackedRanges[a]=o,e.trackedRangesDirection[a]=r.getDirection(),a.toString()}};try{n.getEditOperations(e.model,s)}catch(e){return pt(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:o}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((e,t)=>-U.compareRangesUsingEnds(e.range,t.range));let t={};for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];if(U.getStartPosition(r.range).isBefore(U.getEndPosition(i.range))){let a;a=r.identifier.major>i.identifier.major?r.identifier.major:i.identifier.major,t[a.toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===a&&(e.splice(t,1),t<n&&n--,t--);n>0&&n--}}return t}},Rpe=class{constructor(e,t,n,r){this.text=e,this.lineNumber=t,this.startSelectionOffset=n,this.endSelectionOffset=r}},zpe=class e{static _capture(e,t){let n=[];for(let r of t){if(r.startLineNumber!==r.endLineNumber)return null;let t=r.startLineNumber;n.push(new Rpe(e.getLineContent(t),t,r.startColumn-1,r.endColumn-1))}return n}constructor(t,n){this._original=e._capture(t,n)}deduceOutcome(t,n){if(!this._original)return null;let r=e._capture(t,n);if(!r||this._original.length!==r.length)return null;let i=[];for(let t=0,n=this._original.length;t<n;t++)i.push(e._deduceOutcome(this._original[t],r[t]));return i}static _deduceOutcome(e,t){let n=Math.min(e.startSelectionOffset,t.startSelectionOffset,Xr(e.text,t.text)),r=Math.min(e.text.length-e.endSelectionOffset,t.text.length-t.endSelectionOffset,Zr(e.text,t.text)),i=e.text.substring(n,e.text.length-r),a=n,o=t.text.length-r,s=t.text.substring(a,o),c=new U(t.lineNumber,a+1,t.lineNumber,o+1);return new Die(i,e.startSelectionOffset-n,e.endSelectionOffset-n,s,t.startSelectionOffset-n,t.endSelectionOffset-n,c)}},uT={getInitialState:()=>ZC,tokenizeEncoded:(e,t,n)=>$C(0,n)};async function Bpe(e,t,n){if(!n)return dT(t,e.languageIdCodec,uT);let r=await My.getOrCreate(n);return dT(t,e.languageIdCodec,r||uT)}function Vpe(e,t,n,r,i,a,o){let s=`<div>`,c=0,l=0,u=!0;for(let d=0,f=t.getCount();d<f;d++){let f=t.getEndOffset(d),p=``;for(;c<f&&c<i;c++){let t=e.charCodeAt(c),n=t===9;if(l+=di(t)?2:+!n,c<r){if(n){let e=l%a;l+=e===0?a:a-e}continue}switch(t){case 9:{let e=l%a,t=e===0?a:a-e;l+=t;let n=t;for(;n>0;)o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0),n--;break}case 60:p+=`&lt;`,u=!1;break;case 62:p+=`&gt;`,u=!1;break;case 38:p+=`&amp;`,u=!1;break;case 0:p+=`&#00;`,u=!1;break;case 65279:case 8232:case 8233:case 133:p+=`�`,u=!1;break;case 13:p+=`&#8203`,u=!1;break;case 32:o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0);break;default:p+=String.fromCharCode(t),u=!1}}if(!(f<=r)&&(s+=`<span style="${t.getInlineStyle(d,n)}">${p}</span>`,f>i||c>=i||r>=i))break}return s+=`</div>`,s}function dT(e,t,n){let r=`<div class="monaco-tokenized-source">`,i=Ir(e),a=n.getInitialState();for(let e=0,o=i.length;e<o;e++){let o=i[e];e>0&&(r+=`<br/>`);let s=n.tokenizeEncoded(o,!0,a);yf.convertToEndOffset(s.tokens,o.length);let c=new yf(s.tokens,o,t).inflate(),l=0;for(let e=0,t=c.getCount();e<t;e++){let t=c.getClassName(e),n=c.getEndOffset(e);r+=`<span class="${t}">${Ar(o.substring(l,n))}</span>`,l=n}a=s.endState}return r+=`</div>`,r}var Hpe=class{constructor(e,t,n,r,i){this.decorationId=e,this.index=t,this.lineNumber=n,this.specialHeight=r,this.prefixSum=i,this.maximumSpecialHeight=r,this.deleted=!1}},fT=class{constructor(e,t){if(this._decorationIDToCustomLine=new pT,this._orderedCustomLines=[],this._pendingSpecialLinesToInsert=[],this._invalidIndex=0,this._hasPending=!1,this._defaultLineHeight=e,t.length>0){for(let e of t)this.insertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight);this.commit()}}set defaultLineHeight(e){this._defaultLineHeight=e}get defaultLineHeight(){return this._defaultLineHeight}removeCustomLineHeight(e){let t=this._decorationIDToCustomLine.get(e);if(t){this._decorationIDToCustomLine.delete(e);for(let e of t)e.deleted=!0,this._invalidIndex=Math.min(this._invalidIndex,e.index);this._hasPending=!0}}insertOrChangeCustomLineHeight(e,t,n,r){this.removeCustomLineHeight(e);for(let i=t;i<=n;i++){let t=new Hpe(e,-1,i,r,0);this._pendingSpecialLinesToInsert.push(t)}this._hasPending=!0}heightForLineNumber(e){let t=this._binarySearchOverOrderedCustomLinesArray(e);return t>=0?this._orderedCustomLines[t].maximumSpecialHeight:this._defaultLineHeight}getAccumulatedLineHeightsIncludingLineNumber(e){let t=this._binarySearchOverOrderedCustomLinesArray(e);if(t>=0)return this._orderedCustomLines[t].prefixSum+this._orderedCustomLines[t].maximumSpecialHeight;if(t===-1)return this._defaultLineHeight*e;let n=-(t+1),r=this._orderedCustomLines[n-1];return r.prefixSum+r.maximumSpecialHeight+this._defaultLineHeight*(e-r.lineNumber)}onLinesDeleted(e,t){let n=t-e+1,r=this._orderedCustomLines.length,i=this._binarySearchOverOrderedCustomLinesArray(e),a;if(i>=0){a=i;for(let t=i-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)a--}else a=i===-(r+1)&&i!==-1?r-1:-(i+1);let o=this._binarySearchOverOrderedCustomLinesArray(t),s;if(o>=0){s=o;for(let e=o+1;e<r&&this._orderedCustomLines[e].lineNumber===t;e++)s++}else s=o===-(r+1)&&o!==-1?r-1:-(o+1);let c=s>a,l=s===a&&this._orderedCustomLines[a]&&this._orderedCustomLines[a].lineNumber>=e&&this._orderedCustomLines[a].lineNumber<=t;if(c||l){let r=0;for(let e=a;e<=s;e++)r=Math.max(r,this._orderedCustomLines[e].maximumSpecialHeight);let i=0;if(a>0){let t=this._orderedCustomLines[a-1];i=t.prefixSum+t.maximumSpecialHeight+this._defaultLineHeight*(e-t.lineNumber-1)}else i=e>0?(e-1)*this._defaultLineHeight:0;let o=this._orderedCustomLines[a],c=this._orderedCustomLines[s],l=this._orderedCustomLines[s+1],u=l&&l.lineNumber===t+1?l.maximumSpecialHeight:this._defaultLineHeight,d=c.prefixSum+c.maximumSpecialHeight-o.prefixSum+this._defaultLineHeight*(t-c.lineNumber)+this._defaultLineHeight*(o.lineNumber-e)+u-r,f=new Set,p=[],m=new pT,h=0;for(let t=0;t<this._orderedCustomLines.length;t++){let o=this._orderedCustomLines[t];if(t<a)p.push(o),m.add(o.decorationId,o);else if(t>=a&&t<=s){let t=o.decorationId;f.has(t)?h++:(o.index-=h,o.lineNumber=e,o.prefixSum=i,o.maximumSpecialHeight=r,p.push(o),m.add(o.decorationId,o))}else t>s&&(o.index-=h,o.lineNumber-=n,o.prefixSum-=d,p.push(o),m.add(o.decorationId,o));f.add(o.decorationId)}this._orderedCustomLines=p,this._decorationIDToCustomLine=m}else{let e=n*this._defaultLineHeight;for(let r=s;r<this._orderedCustomLines.length;r++){let i=this._orderedCustomLines[r];i.lineNumber>t&&(i.lineNumber-=n,i.prefixSum-=e)}}}onLinesInserted(e,t){let n=t-e+1,r=this._binarySearchOverOrderedCustomLinesArray(e),i;if(r>=0){i=r;for(let t=r-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)i--}else i=-(r+1);let a=[],o=new Set;for(let t=i;t<this._orderedCustomLines.length;t++)this._orderedCustomLines[t].lineNumber===e&&o.add(this._orderedCustomLines[t].decorationId);let s=new Set;for(let t=i-1;t>=0;t--)this._orderedCustomLines[t].lineNumber===e-1&&s.add(this._orderedCustomLines[t].decorationId);let c=Tw(s,o);for(let e=i;e<this._orderedCustomLines.length;e++)this._orderedCustomLines[e].lineNumber+=n,this._orderedCustomLines[e].prefixSum+=this._defaultLineHeight*n;if(c.size>0){for(let t of c){let n=this._decorationIDToCustomLine.get(t);if(n){let r=n.reduce((e,t)=>Math.min(e,t.lineNumber),e),i=n.reduce((e,t)=>Math.max(e,t.lineNumber),e),o=n.reduce((e,t)=>Math.max(e,t.specialHeight),0);a.push({decorationId:t,startLineNumber:r,endLineNumber:i,lineHeight:o})}}for(let e of a)this.insertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight);this.commit()}}commit(){if(!this._hasPending)return;for(let e of this._pendingSpecialLinesToInsert){let t=this._binarySearchOverOrderedCustomLinesArray(e.lineNumber),n=t>=0?t:-(t+1);this._orderedCustomLines.splice(n,0,e),this._invalidIndex=Math.min(this._invalidIndex,n)}this._pendingSpecialLinesToInsert=[];let e=new pT,t=[];for(let n=0;n<this._invalidIndex;n++){let r=this._orderedCustomLines[n];t.push(r),e.add(r.decorationId,r)}let n=0,r=this._invalidIndex>0?t[this._invalidIndex-1]:void 0;for(let i=this._invalidIndex;i<this._orderedCustomLines.length;i++){let a=this._orderedCustomLines[i];if(a.deleted){n++;continue}if(a.index=i-n,r&&r.lineNumber===a.lineNumber)a.maximumSpecialHeight=r.maximumSpecialHeight,a.prefixSum=r.prefixSum;else{let e=a.specialHeight;for(let t=i;t<this._orderedCustomLines.length;t++){let n=this._orderedCustomLines[t];if(!n.deleted){if(n.lineNumber!==a.lineNumber)break;e=Math.max(e,n.specialHeight)}}a.maximumSpecialHeight=e;let t;t=r?r.prefixSum+r.maximumSpecialHeight+this._defaultLineHeight*(a.lineNumber-r.lineNumber-1):this._defaultLineHeight*(a.lineNumber-1),a.prefixSum=t}r=a,t.push(a),e.add(a.decorationId,a)}this._orderedCustomLines=t,this._decorationIDToCustomLine=e,this._invalidIndex=1/0,this._hasPending=!1}_binarySearchOverOrderedCustomLinesArray(e){return wa(this._orderedCustomLines.length,t=>{let n=this._orderedCustomLines[t];return n.lineNumber===e?0:n.lineNumber<e?-1:1})}},pT=class{constructor(){this._map=new Map}add(e,t){let n=this._map.get(e);n?n.push(t):this._map.set(e,[t])}get(e){return this._map.get(e)}delete(e){this._map.delete(e)}},Upe=class{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}commit(e){if(!this._hasPending)return;let t=this._inserts,n=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,r)}},Wpe=class{constructor(e,t,n,r,i){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=r,this.minWidth=i,this.prefixSum=0}},Gpe=class e{static{this.INSTANCE_COUNT=0}constructor(t,n,r,i,a){this._instanceId=mi(++e.INSTANCE_COUNT),this._pendingChanges=new Upe,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._paddingTop=r,this._paddingBottom=i,this._lineHeightsManager=new fT(n,a)}static findInsertionIndex(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;t===e[a].afterLineNumber?n<e[a].ordinal?i=a:r=a+1:t<e[a].afterLineNumber?i=a:r=a+1}return r}setDefaultLineHeight(e){this._lineHeightsManager.defaultLineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e,t){this._lineCount=e,this._lineHeightsManager=new fT(this._lineHeightsManager.defaultLineHeight,t)}changeLineHeights(e){let t=!1;try{e({insertOrChangeCustomLineHeight:(e,n,r,i)=>{t=!0,this._lineHeightsManager.insertOrChangeCustomLineHeight(e,n,r,i)},removeCustomLineHeight:e=>{t=!0,this._lineHeightsManager.removeCustomLineHeight(e)}})}finally{this._lineHeightsManager.commit()}return t}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,n,r,i)=>{t=!0,e|=0,n|=0,r|=0,i|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new Wpe(a,e,n,r,i)),a},changeOneWhitespace:(e,n,r)=>{t=!0,n|=0,r|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:r})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of n){let t=this._findWhitespaceIndex(e.id);t!==-1&&this._removeWhitespace(t)}return}let r=new Set;for(let e of n)r.add(e.id);let i=new Map;for(let e of t)i.set(e.id,e);let a=e=>{let t=[];for(let n of e)if(!r.has(n.id)){if(i.has(n.id)){let e=i.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},o=a(this._arr).concat(a(e));o.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=o,this._prefixSumValidIndex=-1}_insertWhitespace(t){let n=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(n,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){let t=this._arr;for(let n=0,r=t.length;n<r;n++)if(t[n].id===e)return n;return-1}_changeOneWhitespace(e,t,n){let r=this._findWhitespaceIndex(e);if(r!==-1&&(this._arr[r].height!==n&&(this._arr[r].height=n,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1)),this._arr[r].afterLineNumber!==t)){let e=this._arr[r];this._removeWhitespace(r),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){e|=0,t|=0,this._lineCount-=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&r<=t?this._arr[n].afterLineNumber=e-1:r>t&&(this._arr[n].afterLineNumber-=t-e+1)}this._lineHeightsManager.onLinesDeleted(e,t)}onLinesInserted(e,t){e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&(this._arr[n].afterLineNumber+=t-e+1)}this._lineHeightsManager.onLinesInserted(e,t)}getWhitespacesTotalHeight(){return this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);t===0&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let n=t;n<=e;n++)this._arr[n].prefixSum=this._arr[n-1].prefixSum+this._arr[n].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(this._lineCount)+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return t===-1?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,n=0,r=t.length-1;for(;n<=r;){let i=(r-n|0)/2|0,a=n+i|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;n=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){e|=0;let n;n=e>1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e-1):0;let r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-+!!t);return n+r+this._paddingTop}getLineHeightForLineNumber(e){return this._lineHeightsManager.heightForLineNumber(e)}getVerticalOffsetAfterLineNumber(e,t=!1){return e|=0,this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+ +!!t)+this._paddingTop}getWhitespaceMinWidth(){if(this._minWidth===-1){let e=0;for(let t=0,n=this._arr.length;t<n;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return e>this.getLinesTotalHeight()}isInTopPadding(e){return this._paddingTop!==0&&e<this._paddingTop}isInBottomPadding(e){return this._paddingBottom!==0&&e>=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(e|=0,e<0)return 1;let t=this._lineCount|0,n=1,r=t;for(;n<r;){let t=(n+r)/2|0,i=this.getLineHeightForLineNumber(t),a=this.getVerticalOffsetForLineNumber(t)|0;if(e>=a+i)n=t+1;else if(e>=a)return t;else r=t}return n>t?t:n}getLinesViewportData(e,t){e|=0,t|=0;let n=this.getLineNumberAtOrAfterVerticalOffset(e)|0,r=this.getVerticalOffsetForLineNumber(n)|0,i=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(n)|0,o=this.getWhitespacesCount()|0,s,c;a===-1?(a=o,c=i+1,s=0):(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);let l=r,u=l,d=5e5,f=0;r>=d&&(f=Math.floor(r/d)*d,f=Math.floor(f/this._lineHeightsManager.defaultLineHeight)*this._lineHeightsManager.defaultLineHeight,u-=f);let p=[],m=e+(t-e)/2,h=-1;for(let e=n;e<=i;e++){let r=this.getLineHeightForLineNumber(e);if(h===-1){let t=l,n=l+r;(t<=m&&m<n||t>m)&&(h=e)}for(l+=r,p[e-n]=u,u+=r;c===e;)u+=s,l+=s,a++,a>=o?c=i+1:(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);if(l>=t){i=e;break}}h===-1&&(h=i);let g=this.getVerticalOffsetForLineNumber(i)|0,_=n,v=i;return _<v&&r<e&&_++,_<v&&g+this.getLineHeightForLineNumber(i)>t&&v--,{bigNumbersDelta:f,startLineNumber:n,endLineNumber:i,relativeVerticalOffset:p,centeredLineNumber:h,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:v,lineHeight:this._lineHeightsManager.defaultLineHeight}}getVerticalOffsetForWhitespaceIndex(e){e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e),n;n=t>=1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(t):0;let r;return r=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;let r=this.getVerticalOffsetForWhitespaceIndex(n),i=this.getHeightForWhitespaceIndex(n);if(e>=r+i)return-1;for(;t<n;){let r=Math.floor((t+n)/2),i=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(e>=i+a)t=r+1;else if(e>=i)return r;else n=r}return t}getWhitespaceAtVerticalOffset(e){e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;let r=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}}getWhitespaceViewportData(e,t){e|=0,t|=0;let n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(n<0)return[];let i=[];for(let e=n;e<=r;e++){let n=this.getVerticalOffsetForWhitespaceIndex(e),r=this.getHeightForWhitespaceIndex(e);if(n>=t)break;i.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:r})}return i}getWhitespaces(){return this._arr.slice(0)}getWhitespacesCount(){return this._arr.length}getIdForWhitespaceIndex(e){return e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return e|=0,this._arr[e].height}},Kpe=125,mT=class{constructor(e,t,n,r){e|=0,t|=0,n|=0,r|=0,e<0&&(e=0),t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=r,this.scrollHeight=Math.max(n,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},qpe=class extends D{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new k),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new mT(0,0,0,0),this._scrollable=this._register(new y_({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let n=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(n||r)&&this._onDidContentSizeChange.fire(new xpe(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}},Jpe=class extends D{constructor(e,t,n,r){super(),this._configuration=e;let i=this._configuration.options,a=i.get(165),o=i.get(96);this._linesLayout=new Gpe(t,i.get(75),o.top,o.bottom,n),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new qpe(0,r)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new mT(a.contentWidth,0,a.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(130)?Kpe:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(75)&&this._linesLayout.setDefaultLineHeight(t.get(75)),e.hasChanged(96)){let e=t.get(96);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(165)){let e=t.get(165),n=e.contentWidth,r=e.height,i=this._scrollable.getScrollDimensions(),a=i.contentWidth;this._scrollable.setScrollDimensions(new mT(n,i.contentWidth,r,this._getContentHeight(n,r,a)))}else this._updateHeight();e.hasChanged(130)&&this._configureSmoothScrollDuration()}onFlushed(e,t){this._linesLayout.onFlushed(e,t)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let n=this._configuration.options.get(117);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){let r=this._configuration.options,i=this._linesLayout.getLinesTotalHeight();return r.get(119)?i+=Math.max(0,t-r.get(75)-r.get(96).bottom):r.get(117).ignoreHorizontalScrollbarInContentHeight||(i+=this._getHorizontalScrollbarHeight(e,n)),i}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new mT(t,e.contentWidth,n,this._getContentHeight(t,n,r)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new Jy(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new Jy(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){let e=this._configuration.options,t=this._maxLineWidth,n=e.get(166),r=e.get(59),i=e.get(165);if(n.isViewportWrapping){let n=e.get(81);return t>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side===`right`?t+i.verticalScrollbarWidth:t}{let n=e.get(118)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+n+i.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){let e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new mT(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}changeSpecialLineHeights(e){let t=this._linesLayout.changeLineHeights(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._linesLayout.getLineHeightForLineNumber(e)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){let n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}},hT=class{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}},Ype=class{constructor(e,t,n,r){this.startOffset=e,this.endOffset=t,this.inlineClassName=n,this.inlineClassNameAffectsLetterSpacing=r}toInlineDecoration(e){return new hT(new U(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}},Xpe=class{constructor(e,t,n,r,i){this.editorId=e,this.model=t,this.configuration=n,this._linesCollection=r,this._coordinatesConverter=i,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){let t=e.id,n=this._decorationsCache[t];if(!n){let r=e.range,i=e.options,a;if(i.isWholeLine){let e=this._coordinatesConverter.convertModelPositionToViewPosition(new F(r.startLineNumber,1),0,!1,!0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new F(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);a=new U(e.lineNumber,e.column,t.lineNumber,t.column)}else a=this._coordinatesConverter.convertModelRangeToViewRange(r,1);n=new Ry(a,i),this._decorationsCache[t]=n}return n}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t&&=e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getDecorationsOnLine(e,t=!1,n=!1){let r=new U(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(r,t,n)}_getDecorationsInRange(e,t,n){let r=this._linesCollection.getDecorationsInRange(e,this.editorId,em(this.configuration.options),tm(this.configuration.options),t,n),i=e.startLineNumber,a=e.endLineNumber,o=[],s=0,c=[];for(let e=i;e<=a;e++)c[e-i]=[];let l=!1;for(let e=0,t=r.length;e<t;e++){let t=r[e],n=t.options;if(!zy(this.model,t))continue;let u=this._getOrCreateViewModelDecoration(t),d=u.range;if(o[s++]=u,n.inlineClassName){let e=new hT(d,n.inlineClassName,n.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(i,d.startLineNumber),r=Math.min(a,d.endLineNumber);for(let n=t;n<=r;n++)c[n-i].push(e)}if(n.beforeContentClassName&&i<=d.startLineNumber&&d.startLineNumber<=a){let e=new hT(new U(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn),n.beforeContentClassName,1);c[d.startLineNumber-i].push(e)}if(n.afterContentClassName&&i<=d.endLineNumber&&d.endLineNumber<=a){let e=new hT(new U(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn),n.afterContentClassName,2);c[d.endLineNumber-i].push(e)}n.affectsFont&&(l=!0)}return{decorations:o,inlineDecorations:c,hasVariableFonts:l}}};function gT(e,t){return e===null?t?_T.INSTANCE:vT.INSTANCE:new Zpe(e,t)}var Zpe=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();let r=n>0?this._projectionData.breakOffsets[n-1]:0,i=this._projectionData.breakOffsets[n],a;if(this._projectionData.injectionOffsets!==null){let n=this._projectionData.injectionOffsets.map((e,t)=>new Tx(0,0,e+1,this._projectionData.injectionOptions[t],0));a=Tx.applyInjectedText(e.getLineContent(t),n).substring(r,i)}else a=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:i+1});return n>0&&(a=bT(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n){let r=[];return this.getViewLinesData(e,t,n,1,0,[!0],r),r[0]}getViewLinesData(e,t,n,r,i,a,o){this._assertVisible();let s=this._projectionData,c=s.injectionOffsets,l=s.injectionOptions,u=null;if(c){u=[];let e=0,t=0;for(let n=0;n<s.getOutputLineCount();n++){let r=[];u[n]=r;let i=n>0?s.breakOffsets[n-1]:0,a=s.breakOffsets[n];for(;t<c.length;){let o=l[t].content.length,u=c[t]+e,d=u+o;if(u>a)break;if(i<d){let e=l[t];if(e.inlineClassName){let t=n>0?s.wrappedTextIndentLength:0,o=t+Math.max(u-i,0),c=t+Math.min(d-i,a-i);o!==c&&r.push(new Ype(o,c,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(d<=a)e+=o,t++;else break}}}let d;if(c){let n=[];for(let e=0;e<c.length;e++){let t=c[e],r=l[e].tokens;r?r.forEach((r,i)=>{n.push({offset:t,text:r.substring(l[e].content),tokenMetadata:i.metadata})}):n.push({offset:t,text:l[e].content,tokenMetadata:yf.defaultTokenMetadata})}d=e.tokenization.getLineTokens(t).withInserted(n)}else d=e.tokenization.getLineTokens(t);for(let e=n;e<n+r;e++){let t=i+e-n;if(!a[t]){o[t]=null;continue}o[t]=this._getViewLineData(d,u?u[e]:null,e)}}_getViewLineData(e,t,n){this._assertVisible();let r=this._projectionData,i=n>0?r.wrappedTextIndentLength:0,a=n>0?r.breakOffsets[n-1]:0,o=r.breakOffsets[n],s=e.sliceAndInflate(a,o,i),c=s.getLineContent();n>0&&(c=bT(r.wrappedTextIndentLength)+c);let l=this._projectionData.getMinOutputOffset(n)+1,u=c.length+1,d=n+1<this.getViewLineCount(),f=n===0?0:r.breakOffsetsVisibleColumn[n-1];return new Yy(c,d,l,u,f,s,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,n=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,n).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,n){let r=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,n).toPosition(r)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error(`Not supported`)}},_T=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!0}setVisible(e){return e?this:vT.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,n){return e.getLineContent(t)}getViewLineLength(e,t,n){return e.getLineLength(t)}getViewLineMinColumn(e,t,n){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,n){return e.getLineMaxColumn(t)}getViewLineData(e,t,n){let r=e.tokenization.getLineTokens(t),i=r.getLineContent();return new Yy(i,!1,1,i.length+1,0,r.inflate(),null)}getViewLinesData(e,t,n,r,i,a,o){if(!a[i]){o[i]=null;return}o[i]=this.getViewLineData(e,t,0)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new F(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,n){return t}getInjectedTextAt(e,t){return null}},vT=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!1}setVisible(e){return e?_T.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,n){throw Error(`Not supported`)}getViewLineLength(e,t,n){throw Error(`Not supported`)}getViewLineMinColumn(e,t,n){throw Error(`Not supported`)}getViewLineMaxColumn(e,t,n){throw Error(`Not supported`)}getViewLineData(e,t,n){throw Error(`Not supported`)}getViewLinesData(e,t,n,r,i,a,o){throw Error(`Not supported`)}getModelColumnOfViewPosition(e,t){throw Error(`Not supported`)}getViewPositionOfModelPosition(e,t){throw Error(`Not supported`)}getViewLineNumberOfModelPosition(e,t){throw Error(`Not supported`)}normalizePosition(e,t,n){throw Error(`Not supported`)}getInjectedTextAt(e,t){throw Error(`Not supported`)}},yT=[``];function bT(e){if(e>=yT.length)for(let t=1;t<=e;t++)yT[t]=Qpe(t);return yT[e]}function Qpe(e){return Array(e+1).join(` `)}var $pe=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Vu(e);let n=this.values,r=this.prefixSum,i=t.length;return i!==0&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Vu(e),t=Vu(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=Vu(e),t=Vu(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let i=n.length-e;return t>=i&&(t=i),t!==0&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Vu(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new xT(r,e-a)}},eme=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];return new xT(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=Fa(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._prefixSum[this._prefixSum.length-1],this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},xT=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},tme=class{constructor(e){this._model=e}_validPosition(e){return this._model.validatePosition(e)}_validRange(e){return this._model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}},nme=class{constructor(e,t,n,r,i,a,o,s,c,l,u){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=n,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=i,this.tabSize=a,this.wrappingStrategy=o,this.wrappingColumn=s,this.wrappingIndent=c,this.wordBreak=l,this.wrapOnEscapedLineFeeds=u,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new ime(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let n=this.model.getLinesContent(),r=this.model.getInjectedTextDecorations(this._editorId),i=n.length,a=this.createLineBreaksComputer(),o=new qa(Tx.fromDecorations(r));for(let e=0;e<i;e++){let r=o.takeWhile(t=>t.lineNumber===e+1);a.addRequest(n[e],r,t?t[e]:null)}let s=a.finalize(),c=[],l=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(U.compareRangesUsingStarts),u=1,d=0,f=-1,p=f+1<l.length?d+1:i+2;for(let e=0;e<i;e++){let t=e+1;t===p&&(f++,u=l[f].startLineNumber,d=l[f].endLineNumber,p=f+1<l.length?d+1:i+2);let n=t>=u&&t<=d,r=gT(s[e],!n);c[e]=r.getViewLineCount(),this.modelLineProjections[e]=r}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new eme(c)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=rme(e.map(e=>this.model.validateRange(e))),n=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(U.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let r=0;r<t.length;r++)if(!t[r].equalsRange(n[r])){e=!0;break}if(!e)return!1}let r=t.map(e=>({range:e,options:Bw.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,r);let i=t,a=1,o=0,s=-1,c=s+1<i.length?o+1:this.modelLineProjections.length+2,l=!1;for(let e=0;e<this.modelLineProjections.length;e++){let t=e+1;t===c&&(s++,a=i[s].startLineNumber,o=i[s].endLineNumber,c=s+1<i.length?o+1:this.modelLineProjections.length+2);let n=!1;if(t>=a&&t<=o?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(l=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return l||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,r,i){let a=this.fontInfo.equals(e),o=this.wrappingStrategy===t,s=this.wrappingColumn===n,c=this.wrappingIndent===r,l=this.wordBreak===i;if(a&&o&&s&&c&&l)return!1;let u=a&&o&&!s&&c&&l;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=r,this.wordBreak=i;let d=null;if(u){d=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)d[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,d),!0}createLineBreaksComputer(){return(this.wrappingStrategy===`advanced`?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak,this.wrapOnEscapedLineFeeds)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,n){if(!e||e<=this._validModelVersionId)return null;let r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,i=this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections.splice(t-1,n-t+1),this.projectedModelLineLineCounts.removeValues(t-1,n-t+1),new iT(r,i)}onModelLinesInserted(e,t,n,r){if(!e||e<=this._validModelVersionId)return null;let i=t>2&&!this.modelLineProjections[t-2].isVisible(),a=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=0,s=[],c=[];for(let e=0,t=r.length;e<t;e++){let t=gT(r[e],!i);s.push(t);let n=t.getViewLineCount();o+=n,c[e]=n}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(s).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,c),new aT(a,a+o-1)}onModelLineChanged(e,t,n){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let r=t-1,i=this.modelLineProjections[r].getViewLineCount(),a=gT(n,this.modelLineProjections[r].isVisible());this.modelLineProjections[r]=a;let o=this.modelLineProjections[r].getViewLineCount(),s=!1,c=0,l=-1,u=0,d=-1,f=0,p=-1;i>o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1,f=l+1,p=f+(i-o)-1,s=!0):i<o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+i-1,u=l+1,d=u+(o-i)-1,s=!0):(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1),this.projectedModelLineLineCounts.setValue(r,o);let m=c<=l?new rT(c,l-c+1):null,h=u<=d?new aT(u,d):null,g=f<=p?new iT(f,p):null;return[s,m,h,g]}acceptVersionId(e){this._validModelVersionId=e,this.modelLineProjections.length===1&&!this.modelLineProjections[0].isVisible()&&this.setHiddenAreas([])}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:e|0}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);let r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),o=this.model.guides.getActiveIndentGuide(r.lineNumber,i.lineNumber,a.lineNumber),s=this.convertModelPositionToViewPosition(o.startLineNumber,1),c=this.convertModelPositionToViewPosition(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber));return{startLineNumber:s.lineNumber,endLineNumber:c.lineNumber,indent:o.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,r=t.remainder;return new ST(n+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new F(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new F(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){let n=this.getViewLineInfo(e),r=this.getViewLineInfo(t),i=[],a=this.getModelStartPositionOfViewLine(n),o=[];for(let e=n.modelLineNumber;e<=r.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let i=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,a=e===r.modelLineNumber?r.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=i;t<a;t++)o.push(new ST(e,t))}if(!t.isVisible()&&a){let t=new F(e-1,this.model.getLineMaxColumn(e-1)+1),n=U.fromPositions(a,t);i.push(new CT(n,o)),o=[],a=null}else t.isVisible()&&!a&&(a=new F(e,1))}if(a){let e=U.fromPositions(a,this.getModelEndPositionOfViewLine(r));i.push(new CT(e,o))}return i}getViewLinesBracketGuides(e,t,n,r){let i=n?this.convertViewPositionToModelPosition(n.lineNumber,n.column):null,a=[];for(let n of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=n.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,n.modelRange.endLineNumber,i,r);for(let r of n.viewLines){let n=t[r.modelLineNumber-e].map(e=>{if(e.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=r.modelLineWrappedLineIdx||e.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<r.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(e.column!==-1){let n=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===r.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<r.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(r);else if(n.lineNumber>r.modelLineWrappedLineIdx)return}let n=this.convertModelPositionToViewPosition(r.modelLineNumber,e.horizontalLine.endColumn),i=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return i.lineNumber===r.modelLineWrappedLineIdx?new ry(e.visibleColumn,t,e.className,new iy(e.horizontalLine.top,n.column),-1,-1):i.lineNumber<r.modelLineWrappedLineIdx?void 0:e.visibleColumn===-1?new ry(e.visibleColumn,t,e.className,new iy(e.horizontalLine.top,this.getMaxColumnOfViewLine(r)),-1,-1):void 0});a.push(n.filter(e=>!!e))}}return a}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],a=[],o=[],s=n.lineNumber-1,c=r.lineNumber-1,l=null;for(let e=s;e<=c;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let r=t.getViewLineNumberOfModelPosition(0,e===s?n.column:1),i=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),c=i-r+1,u=0;c>1&&t.getViewLineMinColumn(this.model,e+1,i)===1&&(u=r===0?1:2),a.push(c),o.push(u),l===null&&(l=new F(e+1,0))}else l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,e)),l=null)}l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,r.lineNumber)),l=null);let u=t-e+1,d=Array(u),f=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=Math.min(u-f,a[e]),r=o[e],s;s=r===2?0:r===1?1:n;for(let e=0;e<n;e++)e===s&&(t=0),d[f++]=t}return d}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLinesData(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=e,a=r.index,o=r.remainder,s=[];for(let r=a,c=this.model.getLineCount();r<c;r++){let c=this.modelLineProjections[r];if(!c.isVisible())continue;let l=r===a?o:0,u=c.getViewLineCount()-l,d=!1;if(i+u>t&&(d=!0,u=t-i+1),c.getViewLinesData(this.model,r+1,l,u,i-e,n,s),i+=u,d)break}return s}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=r.index,a=r.remainder,o=this.modelLineProjections[i],s=o.getViewLineMinColumn(this.model,i+1,a),c=o.getViewLineMaxColumn(this.model,i+1,a);t<s&&(t=s),t>c&&(t=c);let l=o.getModelColumnOfViewPosition(a,t);return this.model.validatePosition(new F(i+1,l)).equals(n)?new F(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){let n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new U(n.lineNumber,n.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){let n=this.getViewLineInfo(e),r=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new F(n.modelLineNumber,r))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new U(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2,r=!1,i=!1){let a=this.model.validatePosition(new F(e,t)),o=a.lineNumber,s=a.column,c=o-1,l=!1;if(i)for(;c<this.modelLineProjections.length&&!this.modelLineProjections[c].isVisible();)c++,l=!0;else for(;c>0&&!this.modelLineProjections[c].isVisible();)c--,l=!0;if(c===0&&!this.modelLineProjections[c].isVisible())return new F(+!r,1);let u=1+this.projectedModelLineLineCounts.getPrefixSum(c),d;return d=l?i?this.modelLineProjections[c].getViewPositionOfModelPosition(u,1,n):this.modelLineProjections[c].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(c+1),n):this.modelLineProjections[o-1].getViewPositionOfModelPosition(u,s,n),d}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return U.fromPositions(n)}{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new U(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(n===0&&!this.modelLineProjections[n].isVisible())return 1;let r=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n,r,i,a){let o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(s.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new U(o.lineNumber,1,s.lineNumber,s.column),t,n,r,i,a);let c=[],l=o.lineNumber-1,u=s.lineNumber-1,d=null;for(let e=l;e<=u;e++)if(this.modelLineProjections[e].isVisible())d===null&&(d=new F(e+1,e===l?o.column:1));else if(d!==null){let a=this.model.getLineMaxColumn(e);c=c.concat(this.model.getDecorationsInRange(new U(d.lineNumber,d.column,e,a),t,n,r,i)),d=null}d!==null&&(c=c.concat(this.model.getDecorationsInRange(new U(d.lineNumber,d.column,s.lineNumber,s.column),t,n,r,i)),d=null),c.sort((e,t)=>{let n=U.compareRangesUsingStarts(e.range,t.range);return n===0?e.id<t.id?-1:+(e.id>t.id):n});let f=[],p=0,m=null;for(let e of c){let t=e.id;m!==t&&(m=t,f[p++]=e)}return f}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function rme(e){if(e.length===0)return[];let t=e.slice();t.sort(U.compareRangesUsingStarts);let n=[],r=t[0].startLineNumber,i=t[0].endLineNumber;for(let e=1,a=t.length;e<a;e++){let a=t[e];a.startLineNumber>i+1?(n.push(new U(r,1,i,1)),r=a.startLineNumber,i=a.endLineNumber):a.endLineNumber>i&&(i=a.endLineNumber)}return n.push(new U(r,1,i,1)),n}var ST=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},CT=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},ime=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,n,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,n,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},ame=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new tme(this.model)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,r){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,n,r)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new iT(t,n)}onModelLinesInserted(e,t,n,r){return new aT(t,n)}onModelLineChanged(e,t,n){return[!1,new rT(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let n=t-e+1,r=Array(n);for(let e=0;e<n;e++)r[e]=0;return r}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),n=t.getLineContent();return new Yy(n,!1,1,n.length+1,0,t.inflate(),null)}getViewLinesData(e,t,n){let r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);let i=[];for(let r=e;r<=t;r++){let t=r-e;i[t]=n[t]?this.getViewLineData(r):null}return i}getDecorationsInRange(e,t,n,r,i,a){return this.model.getDecorationsInRange(e,t,n,r,i,a)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}},wT=nd.Right,ome=class{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*wT/8))}reset(e){let t=Math.ceil((e+1)*wT/8);this.lanes.length<t?this.lanes=new Uint8Array(t):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(e,t,n){n&&(this.persist|=1<<e-1);for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let t=wT*n+(e-1);this.lanes[t>>>3]|=1<<t%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(n))}}getLanesAtLine(e){let t=[],n=wT*e;for(let e=0;e<wT;e++)(this.persist&1<<e||this.lanes[n>>>3]&1<<n%8)&&t.push(e+1),n++;return t.length?t:[nd.Center]}countAtLine(e){let t=wT*e,n=0;for(let e=0;e<wT;e++)(this.persist&1<<e||this.lanes[t>>>3]&1<<t%8)&&n++,t++;return n}},sme=class extends D{constructor(e,t,n,r,i,a,o,s,c,l){if(super(),this.languageConfigurationService=o,this._themeService=s,this._attachedView=c,this._transactionalTarget=l,this.hiddenAreasModel=new ume,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=n,this._eventDispatcher=new ype,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new Cu(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new hr(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=cme.create(this.model),this.glyphLanes=new ome(0),this.model.isTooLargeForTokenization())this._lines=new ame(this.model);else{let e=this._configuration.options,t=e.get(59),n=e.get(156),a=e.get(166),o=e.get(155),s=e.get(146),c=e.get(160);this._lines=new nme(this._editorId,this.model,r,i,t,this.model.getOptions().tabSize,n,a.wrappingColumn,o,s,c)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Ipe(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new Jpe(this._configuration,this.getLineCount(),this._getCustomLineHeights(),a)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new mpe(e)),this._eventDispatcher.emitOutgoingEvent(new Cpe(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new Xpe(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(Ny.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new _pe)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new hpe(e))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_getCustomLineHeights(){return this._configuration.options.get(5)?this.model.getCustomLineHeightsDecorations(this._editorId).map(e=>{let t=e.range.startLineNumber,n=this.coordinatesConverter.convertModelRangeToViewRange(new U(t,1,t,this.model.getLineMaxColumn(t)));return{decorationId:e.id,startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,lineHeight:e.options.lineHeight||0}}):[]}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let e=this.viewLayout.getLinesViewportData(),t=new U(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new fpe(e)),this._eventDispatcher.emitOutgoingEvent(new sT(!e,e))}setHasWidgetFocus(e){this._eventDispatcher.emitOutgoingEvent(new Spe(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new cpe)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new lpe)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let e=new F(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));return new ET(this.coordinatesConverter.convertViewPositionToModelPosition(e),this._viewportStart.startLineDelta)}return new ET(null,0)}_onConfigurationChanged(e,t){let n=this._captureStableViewport(),r=this._configuration.options,i=r.get(59),a=r.get(156),o=r.get(166),s=r.get(155),c=r.get(146);this._lines.setWrappingSettings(i,a,o.wrappingColumn,s,c)&&(e.emitViewEvent(new tT),e.emitViewEvent(new nT),e.emitViewEvent(new eT(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(104)&&(this._decorations.reset(),e.emitViewEvent(new eT(null))),t.hasChanged(112)&&(this._decorations.reset(),e.emitViewEvent(new eT(null))),e.emitViewEvent(new upe(t)),this.viewLayout.onConfigurationChanged(t),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout),Cu.shouldRecreate(t)&&(this.cursorConfig=new Cu(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents(),n=!1,r=!1,i=e instanceof Mx?e.rawContentChangedEvent.changes:e.changes,a=e instanceof Mx?e.rawContentChangedEvent.versionId:null,o=this._lines.createLineBreaksComputer();for(let e of i)switch(e.changeType){case 4:for(let t=0;t<e.detail.length;t++){let n=e.detail[t],r=e.injectedTexts[t];r&&=r.filter(e=>!e.ownerId||e.ownerId===this._editorId),o.addRequest(n,r,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter(e=>!e.ownerId||e.ownerId===this._editorId)),o.addRequest(e.detail,t,null);break}}let s=new qa(o.finalize());for(let e of i)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new tT),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),n=!0;break;case 3:{let r=this._lines.onModelLinesDeleted(a,e.fromLineNumber,e.toLineNumber);r!==null&&(t.emitViewEvent(r),this.viewLayout.onLinesDeleted(r.fromLineNumber,r.toLineNumber)),n=!0;break}case 4:{let r=s.takeCount(e.detail.length),i=this._lines.onModelLinesInserted(a,e.fromLineNumber,e.toLineNumber,r);i!==null&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber)),n=!0;break}case 2:{let n=s.dequeue(),[i,o,c,l]=this._lines.onModelLineChanged(a,e.lineNumber,n);r=i,o&&t.emitViewEvent(o),c&&(t.emitViewEvent(c),this.viewLayout.onLinesInserted(c.fromLineNumber,c.toLineNumber)),l&&(t.emitViewEvent(l),this.viewLayout.onLinesDeleted(l.fromLineNumber,l.toLineNumber));break}}a!==null&&this._lines.acceptVersionId(a),this.viewLayout.onHeightMaybeChanged(),!n&&r&&(t.emitViewEvent(new nT),t.emitViewEvent(new eT(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}try{let t=this._eventDispatcher.beginEmitViewEvents();e instanceof Mx&&t.emitOutgoingEvent(new jpe(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._configuration.options.get(5)&&this._register(this.model.onDidChangeLineHeight(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(this.viewLayout.changeSpecialLineHeights(e=>{for(let n of t){let{decorationId:t,lineNumber:r,lineHeight:i}=n,a=this.coordinatesConverter.convertModelRangeToViewRange(new U(r,1,r,this.model.getLineMaxColumn(r)));i===null?e.removeCustomLineHeight(t):e.insertOrChangeCustomLineHeight(t,a.startLineNumber,a.endLineNumber,i)}}),t.length>0){let e=new Ax(t);this._eventDispatcher.emitOutgoingEvent(new Ppe(e))}})),this._configuration.options.get(172)&&this._register(this.model.onDidChangeFont(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(t.length>0){let e=new jx(t);this._eventDispatcher.emitOutgoingEvent(new Fpe(e))}})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let n=0,r=e.ranges.length;n<r;n++){let r=e.ranges[n],i=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.fromLineNumber,1)).lineNumber,a=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.toLineNumber,this.model.getLineMaxColumn(r.toLineNumber))).lineNumber;t[n]={fromLineNumber:i,toLineNumber:a}}this._eventDispatcher.emitSingleViewEvent(new gpe(t)),this._eventDispatcher.emitOutgoingEvent(new Npe(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new ppe),this.cursorConfig=new Cu(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Ape(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new Cu(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new kpe(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new tT),e.emitViewEvent(new nT),e.emitViewEvent(new eT(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new Cu(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Mpe(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new eT(e)),this._eventDispatcher.emitOutgoingEvent(new Ope(e))}))}getFontSizeAtPosition(e){if(!this._configuration.options.get(172))return null;let t=this.model.getFontDecorationsInRange(U.fromPositions(e),this._editorId),n=this._configuration.options.get(59).fontSize+`px`;for(let e of t)if(e.options.fontSize){n=e.options.fontSize;break}return n}setHiddenAreas(e,t,n){this.hiddenAreasModel.setHiddenAreas(t,e);let r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas&&!n)return;this.previousHiddenAreas=r;let i=this._captureStableViewport(),a=!1;try{let e=this._eventDispatcher.beginEmitViewEvents();a=this._lines.setHiddenAreas(r),a&&(e.emitViewEvent(new tT),e.emitViewEvent(new nT),e.emitViewEvent(new eT(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this.viewLayout.onHeightMaybeChanged());let t=i.viewportStartModelPosition?.lineNumber;t&&r.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber)||i.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),a&&this._eventDispatcher.emitOutgoingEvent(new Tpe)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(165),t=this._configuration.options.get(75),n=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),i=Math.max(1,r.completelyVisibleStartLineNumber-n),a=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new U(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(n.length===0)return[t];let r=[],i=0,a=t.startLineNumber,o=t.startColumn,s=t.endLineNumber,c=t.endColumn;for(let e=0,t=n.length;e<t;e++){let t=n[e].startLineNumber,c=n[e].endLineNumber;c<a||t>s||(a<t&&(r[i++]=new U(a,o,t-1,this.model.getLineMaxColumn(t-1))),a=c+1,o=1)}return(a<s||a===s&&o<c)&&(r[i++]=new U(a,o,s,c)),r}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new U(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new U(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new F(n,this.getLineMinColumn(n))),i=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:i}}reduceRestoreState(e){if(e.firstPosition===void 0)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,n){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,n){return this._lines.getActiveIndentGuide(e,t,n)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,n,r){return this._lines.getViewLinesBracketGuides(e,t,n,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=Lr(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){let t=zr(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}_getTextDirection(e,t){let n=0;for(let r of t){let t=r.range;if(t.startLineNumber>e||t.endLineNumber<e)continue;let i=r.options.textDirection;i===rd.RTL?n++:i===rd.LTR&&n--}return n>0?rd.RTL:rd.LTR}getTextDirection(e){let t=this._decorations.getDecorationsOnLine(e);return this._getTextDirection(e,t.decorations)}getViewportViewLineRenderingData(e,t){let n=this._decorations.getDecorationsViewportData(e),r=n.inlineDecorations[t-e.startLineNumber];return this._getViewLineRenderingData(t,r,n.hasVariableFonts,n.decorations)}getViewLineRenderingData(e){let t=this._decorations.getDecorationsOnLine(e);return this._getViewLineRenderingData(e,t.inlineDecorations[0],t.hasVariableFonts,t.decorations)}_getViewLineRenderingData(e,t,n,r){let i=this.model.mightContainRTL(),a=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(e);return s.inlineDecorations&&(t=[...t,...s.inlineDecorations.map(t=>t.toInlineDecoration(e))]),new Xy(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,a,s.tokens,t,o,s.startVisibleColumn,this._getTextDirection(e,r),n)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){let r=this._lines.getViewLinesData(e,t,n);return new wle(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,em(this._configuration.options),tm(this._configuration.options)),n=new lme;for(let r of t){let t=r.options,i=t.overviewRuler;if(!i)continue;let a=i.position;if(a===0)continue;let o=i.getColor(e.value),s=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);n.accept(o,t.zIndex,s,c,a)}return n.asArray}_invalidateDecorationsColorCache(){let e=this.model.getOverviewRulerDecorations();for(let t of e)t.options.overviewRuler?.invalidateCachedColor(),t.options.minimap?.invalidateCachedColor()}getValueInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}getValueLengthInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(n,t)}modifyPosition(e,t){let n=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(n,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,n){let r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=n:t+=n);let i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)}getPlainTextToCopy(e,t,n){let r=n?`\r
259
+ `)>=0)return null;let i=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!i)return null;let a=i[1],o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!o||o.length!==1)return null;let s=o[0].open,c=r.text.length-i[2].length-1,l=r.text.lastIndexOf(s,c-1);if(l===-1)return null;t.push([l,c])}return t}executeEdits(e,t,n,r,i){let a=null;t===`snippet`&&(a=this._findAutoClosingPairs(n)),a&&(n[0]._isTracked=!0);let o=[],s=[],c=this._model.pushEditOperations(this.getSelections(),n,e=>{if(a)for(let t=0,n=a.length;t<n;t++){let[n,r]=a[t],i=e[t],c=i.range.startLineNumber,l=i.range.startColumn-1+n,u=i.range.startColumn-1+r;o.push(new U(c,u+1,c,u+2)),s.push(new U(c,l+1,c,u+2))}let t=r(e);return t&&(this._isHandling=!0),t},void 0,i);c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),o.length>0&&this._pushAutoClosedAction(o,s)}_executeEdit(e,t,n,r=0){if(this.context.cursorConfig.readOnly)return;let i=cT.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){pt(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,i,!1)&&this.revealAll(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return lT.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new zpe(this._model,this.getSelections())}endComposition(e,t){let n=FS.cursor({kind:`compositionEnd`,detailedSource:t}),r=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t===`keyboard`&&this._executeEditOperation(qf.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,r,this.getSelections(),this.getAutoClosedCharacters()),n)},e,t)}type(e,t,n){let r=FS.cursor({kind:`type`,detailedSource:n});this._executeEdit(()=>{if(n===`keyboard`){let e=t.length,n=0;for(;n<e;){let e=ii(t,n),i=t.substr(n,e);this._executeEditOperation(qf.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),i),r),n+=e}}else this._executeEditOperation(qf.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t),r)},e,n)}compositionType(e,t,n,r,i,a){let o=FS.cursor({kind:`compositionType`,detailedSource:a});if(t.length===0&&n===0&&r===0){if(i!==0){let t=this.getSelections().map(e=>{let t=e.getPosition();return new W(t.lineNumber,t.column+i,t.lineNumber,t.column+i)});this.setSelections(e,a,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(qf.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,r,i),o)},e,a)}paste(e,t,n,r,i){let a=FS.cursor({kind:`paste`,detailedSource:i});this._executeEdit(()=>{this._executeEditOperation(qf.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,r||[]),a)},e,i,4)}cut(e,t){let n=FS.cursor({kind:`cut`,detailedSource:t});this._executeEdit(()=>{this._executeEditOperation(Ru.cut(this.context.cursorConfig,this._model,this.getSelections()),n)},e,t)}executeCommand(e,t,n){let r=FS.cursor({kind:`executeCommand`,detailedSource:n});this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new Eu(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}executeCommands(e,t,n){let r=FS.cursor({kind:`executeCommands`,detailedSource:n});this._executeEdit(()=>{this._executeEditOperation(new Eu(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}),r)},e,n)}},cT=class e{static from(t,n){return new e(t.getVersionId(),n.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}},lT=class{static getAllAutoClosedCharacters(e){let t=[];for(let n of e)t=t.concat(n.getAutoClosedCharactersRanges());return t}constructor(e,t,n){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=n}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let n=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);n&&e.push(n)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))return!1}t.sort(U.compareRangesUsingStarts),e.sort(U.compareRangesUsingStarts);for(let n=0;n<e.length;n++)if(n>=t.length||!t[n].strictContainsRange(e[n]))return!1;return!0}},Lpe=class{static executeCommands(e,t,n,r=FS.unknown({name:`executeCommands`})){let i={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},a=this._innerExecuteCommands(i,n,r);for(let e=0,t=i.trackedRanges.length;e<t;e++)i.model._setTrackedRange(i.trackedRanges[e],null,0);return a}static _innerExecuteCommands(e,t,n){if(this._arrayIsEmpty(t))return null;let r=this._getEditOperations(e,t);if(r.operations.length===0)return null;let i=r.operations,a=this._getLoserCursorMap(i);if(a.hasOwnProperty(`0`))return console.warn(`Ignoring commands`),null;let o=[];for(let e=0,t=i.length;e<t;e++)a.hasOwnProperty(i[e].identifier.major.toString())||o.push(i[e]);r.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,o,n=>{let r=[];for(let t=0;t<e.selectionsBefore.length;t++)r[t]=[];for(let e of n)e.identifier&&r[e.identifier.major].push(e);let i=(e,t)=>e.identifier.minor-t.identifier.minor,a=[];for(let n=0;n<e.selectionsBefore.length;n++)r[n].length>0?(r[n].sort(i),a[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>r[n],getTrackedSelection:t=>{let n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===0?new W(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new W(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):a[n]=e.selectionsBefore[n];return a},void 0,n);s||=e.selectionsBefore;let c=[];for(let e in a)a.hasOwnProperty(e)&&c.push(parseInt(e,10));c.sort((e,t)=>t-e);for(let e of c)s.splice(e,1);return s}static _arrayIsEmpty(e){for(let t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let n=[],r=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a){let t=this._getEditOperationsFromCommand(e,i,a);n=n.concat(t.operations),r||=t.hadTrackedEditOperation}}return{operations:n,hadTrackedEditOperation:r}}static _getEditOperationsFromCommand(e,t,n){let r=[],i=0,a=(e,a,o=!1)=>{U.isEmpty(e)&&a===``||r.push({identifier:{major:t,minor:i++},range:e,text:a,forceMoveMarkers:o,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},o=!1,s={addEditOperation:a,addTrackedEditOperation:(e,t,n)=>{o=!0,a(e,t,n)},trackSelection:(t,n)=>{let r=W.liftSelection(t),i;if(r.isEmpty()){if(typeof n==`boolean`)i=n?2:3;else{let t=e.model.getLineMaxColumn(r.startLineNumber);i=r.startColumn===t?2:3}}else i=1;let a=e.trackedRanges.length,o=e.model._setTrackedRange(null,r,i);return e.trackedRanges[a]=o,e.trackedRangesDirection[a]=r.getDirection(),a.toString()}};try{n.getEditOperations(e.model,s)}catch(e){return pt(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:o}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((e,t)=>-U.compareRangesUsingEnds(e.range,t.range));let t={};for(let n=1;n<e.length;n++){let r=e[n-1],i=e[n];if(U.getStartPosition(r.range).isBefore(U.getEndPosition(i.range))){let a;a=r.identifier.major>i.identifier.major?r.identifier.major:i.identifier.major,t[a.toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===a&&(e.splice(t,1),t<n&&n--,t--);n>0&&n--}}return t}},Rpe=class{constructor(e,t,n,r){this.text=e,this.lineNumber=t,this.startSelectionOffset=n,this.endSelectionOffset=r}},zpe=class e{static _capture(e,t){let n=[];for(let r of t){if(r.startLineNumber!==r.endLineNumber)return null;let t=r.startLineNumber;n.push(new Rpe(e.getLineContent(t),t,r.startColumn-1,r.endColumn-1))}return n}constructor(t,n){this._original=e._capture(t,n)}deduceOutcome(t,n){if(!this._original)return null;let r=e._capture(t,n);if(!r||this._original.length!==r.length)return null;let i=[];for(let t=0,n=this._original.length;t<n;t++)i.push(e._deduceOutcome(this._original[t],r[t]));return i}static _deduceOutcome(e,t){let n=Math.min(e.startSelectionOffset,t.startSelectionOffset,Xr(e.text,t.text)),r=Math.min(e.text.length-e.endSelectionOffset,t.text.length-t.endSelectionOffset,Zr(e.text,t.text)),i=e.text.substring(n,e.text.length-r),a=n,o=t.text.length-r,s=t.text.substring(a,o),c=new U(t.lineNumber,a+1,t.lineNumber,o+1);return new Die(i,e.startSelectionOffset-n,e.endSelectionOffset-n,s,t.startSelectionOffset-n,t.endSelectionOffset-n,c)}},uT={getInitialState:()=>ZC,tokenizeEncoded:(e,t,n)=>$C(0,n)};async function Bpe(e,t,n){if(!n)return dT(t,e.languageIdCodec,uT);let r=await My.getOrCreate(n);return dT(t,e.languageIdCodec,r||uT)}function Vpe(e,t,n,r,i,a,o){let s=`<div>`,c=0,l=0,u=!0;for(let d=0,f=t.getCount();d<f;d++){let f=t.getEndOffset(d),p=``;for(;c<f&&c<i;c++){let t=e.charCodeAt(c),n=t===9;if(l+=di(t)?2:+!n,c<r){if(n){let e=l%a;l+=e===0?a:a-e}continue}switch(t){case 9:{let e=l%a,t=e===0?a:a-e;l+=t;let n=t;for(;n>0;)o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0),n--;break}case 60:p+=`&lt;`,u=!1;break;case 62:p+=`&gt;`,u=!1;break;case 38:p+=`&amp;`,u=!1;break;case 0:p+=`&#00;`,u=!1;break;case 65279:case 8232:case 8233:case 133:p+=`�`,u=!1;break;case 13:p+=`&#8203`,u=!1;break;case 32:o&&u?(p+=`&#160;`,u=!1):(p+=` `,u=!0);break;default:p+=String.fromCharCode(t),u=!1}}if(!(f<=r)&&(s+=`<span style="${t.getInlineStyle(d,n)}">${p}</span>`,f>i||c>=i||r>=i))break}return s+=`</div>`,s}function dT(e,t,n){let r=`<div class="monaco-tokenized-source">`,i=Ir(e),a=n.getInitialState();for(let e=0,o=i.length;e<o;e++){let o=i[e];e>0&&(r+=`<br/>`);let s=n.tokenizeEncoded(o,!0,a);yf.convertToEndOffset(s.tokens,o.length);let c=new yf(s.tokens,o,t).inflate(),l=0;for(let e=0,t=c.getCount();e<t;e++){let t=c.getClassName(e),n=c.getEndOffset(e);r+=`<span class="${t}">${Ar(o.substring(l,n))}</span>`,l=n}a=s.endState}return r+=`</div>`,r}var Hpe=class{constructor(e,t,n,r,i){this.decorationId=e,this.index=t,this.lineNumber=n,this.specialHeight=r,this.prefixSum=i,this.maximumSpecialHeight=r,this.deleted=!1}},fT=class{constructor(e,t){if(this._decorationIDToCustomLine=new pT,this._orderedCustomLines=[],this._pendingSpecialLinesToInsert=[],this._invalidIndex=0,this._hasPending=!1,this._defaultLineHeight=e,t.length>0){for(let e of t)this.insertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight);this.commit()}}set defaultLineHeight(e){this._defaultLineHeight=e}get defaultLineHeight(){return this._defaultLineHeight}removeCustomLineHeight(e){let t=this._decorationIDToCustomLine.get(e);if(t){this._decorationIDToCustomLine.delete(e);for(let e of t)e.deleted=!0,this._invalidIndex=Math.min(this._invalidIndex,e.index);this._hasPending=!0}}insertOrChangeCustomLineHeight(e,t,n,r){this.removeCustomLineHeight(e);for(let i=t;i<=n;i++){let t=new Hpe(e,-1,i,r,0);this._pendingSpecialLinesToInsert.push(t)}this._hasPending=!0}heightForLineNumber(e){let t=this._binarySearchOverOrderedCustomLinesArray(e);return t>=0?this._orderedCustomLines[t].maximumSpecialHeight:this._defaultLineHeight}getAccumulatedLineHeightsIncludingLineNumber(e){let t=this._binarySearchOverOrderedCustomLinesArray(e);if(t>=0)return this._orderedCustomLines[t].prefixSum+this._orderedCustomLines[t].maximumSpecialHeight;if(t===-1)return this._defaultLineHeight*e;let n=-(t+1),r=this._orderedCustomLines[n-1];return r.prefixSum+r.maximumSpecialHeight+this._defaultLineHeight*(e-r.lineNumber)}onLinesDeleted(e,t){let n=t-e+1,r=this._orderedCustomLines.length,i=this._binarySearchOverOrderedCustomLinesArray(e),a;if(i>=0){a=i;for(let t=i-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)a--}else a=i===-(r+1)&&i!==-1?r-1:-(i+1);let o=this._binarySearchOverOrderedCustomLinesArray(t),s;if(o>=0){s=o;for(let e=o+1;e<r&&this._orderedCustomLines[e].lineNumber===t;e++)s++}else s=o===-(r+1)&&o!==-1?r-1:-(o+1);let c=s>a,l=s===a&&this._orderedCustomLines[a]&&this._orderedCustomLines[a].lineNumber>=e&&this._orderedCustomLines[a].lineNumber<=t;if(c||l){let r=0;for(let e=a;e<=s;e++)r=Math.max(r,this._orderedCustomLines[e].maximumSpecialHeight);let i=0;if(a>0){let t=this._orderedCustomLines[a-1];i=t.prefixSum+t.maximumSpecialHeight+this._defaultLineHeight*(e-t.lineNumber-1)}else i=e>0?(e-1)*this._defaultLineHeight:0;let o=this._orderedCustomLines[a],c=this._orderedCustomLines[s],l=this._orderedCustomLines[s+1],u=l&&l.lineNumber===t+1?l.maximumSpecialHeight:this._defaultLineHeight,d=c.prefixSum+c.maximumSpecialHeight-o.prefixSum+this._defaultLineHeight*(t-c.lineNumber)+this._defaultLineHeight*(o.lineNumber-e)+u-r,f=new Set,p=[],m=new pT,h=0;for(let t=0;t<this._orderedCustomLines.length;t++){let o=this._orderedCustomLines[t];if(t<a)p.push(o),m.add(o.decorationId,o);else if(t>=a&&t<=s){let t=o.decorationId;f.has(t)?h++:(o.index-=h,o.lineNumber=e,o.prefixSum=i,o.maximumSpecialHeight=r,p.push(o),m.add(o.decorationId,o))}else t>s&&(o.index-=h,o.lineNumber-=n,o.prefixSum-=d,p.push(o),m.add(o.decorationId,o));f.add(o.decorationId)}this._orderedCustomLines=p,this._decorationIDToCustomLine=m}else{let e=n*this._defaultLineHeight;for(let r=s;r<this._orderedCustomLines.length;r++){let i=this._orderedCustomLines[r];i.lineNumber>t&&(i.lineNumber-=n,i.prefixSum-=e)}}}onLinesInserted(e,t){let n=t-e+1,r=this._binarySearchOverOrderedCustomLinesArray(e),i;if(r>=0){i=r;for(let t=r-1;t>=0&&this._orderedCustomLines[t].lineNumber===e;t--)i--}else i=-(r+1);let a=[],o=new Set;for(let t=i;t<this._orderedCustomLines.length;t++)this._orderedCustomLines[t].lineNumber===e&&o.add(this._orderedCustomLines[t].decorationId);let s=new Set;for(let t=i-1;t>=0;t--)this._orderedCustomLines[t].lineNumber===e-1&&s.add(this._orderedCustomLines[t].decorationId);let c=Tw(s,o);for(let e=i;e<this._orderedCustomLines.length;e++)this._orderedCustomLines[e].lineNumber+=n,this._orderedCustomLines[e].prefixSum+=this._defaultLineHeight*n;if(c.size>0){for(let t of c){let n=this._decorationIDToCustomLine.get(t);if(n){let r=n.reduce((e,t)=>Math.min(e,t.lineNumber),e),i=n.reduce((e,t)=>Math.max(e,t.lineNumber),e),o=n.reduce((e,t)=>Math.max(e,t.specialHeight),0);a.push({decorationId:t,startLineNumber:r,endLineNumber:i,lineHeight:o})}}for(let e of a)this.insertOrChangeCustomLineHeight(e.decorationId,e.startLineNumber,e.endLineNumber,e.lineHeight);this.commit()}}commit(){if(!this._hasPending)return;for(let e of this._pendingSpecialLinesToInsert){let t=this._binarySearchOverOrderedCustomLinesArray(e.lineNumber),n=t>=0?t:-(t+1);this._orderedCustomLines.splice(n,0,e),this._invalidIndex=Math.min(this._invalidIndex,n)}this._pendingSpecialLinesToInsert=[];let e=new pT,t=[];for(let n=0;n<this._invalidIndex;n++){let r=this._orderedCustomLines[n];t.push(r),e.add(r.decorationId,r)}let n=0,r=this._invalidIndex>0?t[this._invalidIndex-1]:void 0;for(let i=this._invalidIndex;i<this._orderedCustomLines.length;i++){let a=this._orderedCustomLines[i];if(a.deleted){n++;continue}if(a.index=i-n,r&&r.lineNumber===a.lineNumber)a.maximumSpecialHeight=r.maximumSpecialHeight,a.prefixSum=r.prefixSum;else{let e=a.specialHeight;for(let t=i;t<this._orderedCustomLines.length;t++){let n=this._orderedCustomLines[t];if(!n.deleted){if(n.lineNumber!==a.lineNumber)break;e=Math.max(e,n.specialHeight)}}a.maximumSpecialHeight=e;let t;t=r?r.prefixSum+r.maximumSpecialHeight+this._defaultLineHeight*(a.lineNumber-r.lineNumber-1):this._defaultLineHeight*(a.lineNumber-1),a.prefixSum=t}r=a,t.push(a),e.add(a.decorationId,a)}this._orderedCustomLines=t,this._decorationIDToCustomLine=e,this._invalidIndex=1/0,this._hasPending=!1}_binarySearchOverOrderedCustomLinesArray(e){return wa(this._orderedCustomLines.length,t=>{let n=this._orderedCustomLines[t];return n.lineNumber===e?0:n.lineNumber<e?-1:1})}},pT=class{constructor(){this._map=new Map}add(e,t){let n=this._map.get(e);n?n.push(t):this._map.set(e,[t])}get(e){return this._map.get(e)}delete(e){this._map.delete(e)}},Upe=class{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}commit(e){if(!this._hasPending)return;let t=this._inserts,n=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,r)}},Wpe=class{constructor(e,t,n,r,i){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=r,this.minWidth=i,this.prefixSum=0}},Gpe=class e{static{this.INSTANCE_COUNT=0}constructor(t,n,r,i,a){this._instanceId=mi(++e.INSTANCE_COUNT),this._pendingChanges=new Upe,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._paddingTop=r,this._paddingBottom=i,this._lineHeightsManager=new fT(n,a)}static findInsertionIndex(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;t===e[a].afterLineNumber?n<e[a].ordinal?i=a:r=a+1:t<e[a].afterLineNumber?i=a:r=a+1}return r}setDefaultLineHeight(e){this._lineHeightsManager.defaultLineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e,t){this._lineCount=e,this._lineHeightsManager=new fT(this._lineHeightsManager.defaultLineHeight,t)}changeLineHeights(e){let t=!1;try{e({insertOrChangeCustomLineHeight:(e,n,r,i)=>{t=!0,this._lineHeightsManager.insertOrChangeCustomLineHeight(e,n,r,i)},removeCustomLineHeight:e=>{t=!0,this._lineHeightsManager.removeCustomLineHeight(e)}})}finally{this._lineHeightsManager.commit()}return t}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,n,r,i)=>{t=!0,e|=0,n|=0,r|=0,i|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new Wpe(a,e,n,r,i)),a},changeOneWhitespace:(e,n,r)=>{t=!0,n|=0,r|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:r})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of n){let t=this._findWhitespaceIndex(e.id);t!==-1&&this._removeWhitespace(t)}return}let r=new Set;for(let e of n)r.add(e.id);let i=new Map;for(let e of t)i.set(e.id,e);let a=e=>{let t=[];for(let n of e)if(!r.has(n.id)){if(i.has(n.id)){let e=i.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},o=a(this._arr).concat(a(e));o.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=o,this._prefixSumValidIndex=-1}_insertWhitespace(t){let n=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(n,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){let t=this._arr;for(let n=0,r=t.length;n<r;n++)if(t[n].id===e)return n;return-1}_changeOneWhitespace(e,t,n){let r=this._findWhitespaceIndex(e);if(r!==-1&&(this._arr[r].height!==n&&(this._arr[r].height=n,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1)),this._arr[r].afterLineNumber!==t)){let e=this._arr[r];this._removeWhitespace(r),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){e|=0,t|=0,this._lineCount-=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&r<=t?this._arr[n].afterLineNumber=e-1:r>t&&(this._arr[n].afterLineNumber-=t-e+1)}this._lineHeightsManager.onLinesDeleted(e,t)}onLinesInserted(e,t){e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&(this._arr[n].afterLineNumber+=t-e+1)}this._lineHeightsManager.onLinesInserted(e,t)}getWhitespacesTotalHeight(){return this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);t===0&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let n=t;n<=e;n++)this._arr[n].prefixSum=this._arr[n-1].prefixSum+this._arr[n].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(this._lineCount)+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return t===-1?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,n=0,r=t.length-1;for(;n<=r;){let i=(r-n|0)/2|0,a=n+i|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;n=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){e|=0;let n;n=e>1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e-1):0;let r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-+!!t);return n+r+this._paddingTop}getLineHeightForLineNumber(e){return this._lineHeightsManager.heightForLineNumber(e)}getVerticalOffsetAfterLineNumber(e,t=!1){return e|=0,this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(e)+this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+ +!!t)+this._paddingTop}getWhitespaceMinWidth(){if(this._minWidth===-1){let e=0;for(let t=0,n=this._arr.length;t<n;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return e>this.getLinesTotalHeight()}isInTopPadding(e){return this._paddingTop!==0&&e<this._paddingTop}isInBottomPadding(e){return this._paddingBottom!==0&&e>=this.getLinesTotalHeight()-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(e|=0,e<0)return 1;let t=this._lineCount|0,n=1,r=t;for(;n<r;){let t=(n+r)/2|0,i=this.getLineHeightForLineNumber(t),a=this.getVerticalOffsetForLineNumber(t)|0;if(e>=a+i)n=t+1;else if(e>=a)return t;else r=t}return n>t?t:n}getLinesViewportData(e,t){e|=0,t|=0;let n=this.getLineNumberAtOrAfterVerticalOffset(e)|0,r=this.getVerticalOffsetForLineNumber(n)|0,i=this._lineCount|0,a=this.getFirstWhitespaceIndexAfterLineNumber(n)|0,o=this.getWhitespacesCount()|0,s,c;a===-1?(a=o,c=i+1,s=0):(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);let l=r,u=l,d=5e5,f=0;r>=d&&(f=Math.floor(r/d)*d,f=Math.floor(f/this._lineHeightsManager.defaultLineHeight)*this._lineHeightsManager.defaultLineHeight,u-=f);let p=[],m=e+(t-e)/2,h=-1;for(let e=n;e<=i;e++){let r=this.getLineHeightForLineNumber(e);if(h===-1){let t=l,n=l+r;(t<=m&&m<n||t>m)&&(h=e)}for(l+=r,p[e-n]=u,u+=r;c===e;)u+=s,l+=s,a++,a>=o?c=i+1:(c=this.getAfterLineNumberForWhitespaceIndex(a)|0,s=this.getHeightForWhitespaceIndex(a)|0);if(l>=t){i=e;break}}h===-1&&(h=i);let g=this.getVerticalOffsetForLineNumber(i)|0,_=n,v=i;return _<v&&r<e&&_++,_<v&&g+this.getLineHeightForLineNumber(i)>t&&v--,{bigNumbersDelta:f,startLineNumber:n,endLineNumber:i,relativeVerticalOffset:p,centeredLineNumber:h,completelyVisibleStartLineNumber:_,completelyVisibleEndLineNumber:v,lineHeight:this._lineHeightsManager.defaultLineHeight}}getVerticalOffsetForWhitespaceIndex(e){e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e),n;n=t>=1?this._lineHeightsManager.getAccumulatedLineHeightsIncludingLineNumber(t):0;let r;return r=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;let r=this.getVerticalOffsetForWhitespaceIndex(n),i=this.getHeightForWhitespaceIndex(n);if(e>=r+i)return-1;for(;t<n;){let r=Math.floor((t+n)/2),i=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(e>=i+a)t=r+1;else if(e>=i)return r;else n=r}return t}getWhitespaceAtVerticalOffset(e){e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;let r=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}}getWhitespaceViewportData(e,t){e|=0,t|=0;let n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(n<0)return[];let i=[];for(let e=n;e<=r;e++){let n=this.getVerticalOffsetForWhitespaceIndex(e),r=this.getHeightForWhitespaceIndex(e);if(n>=t)break;i.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:r})}return i}getWhitespaces(){return this._arr.slice(0)}getWhitespacesCount(){return this._arr.length}getIdForWhitespaceIndex(e){return e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return e|=0,this._arr[e].height}},Kpe=125,mT=class{constructor(e,t,n,r){e|=0,t|=0,n|=0,r|=0,e<0&&(e=0),t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=r,this.scrollHeight=Math.max(n,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},qpe=class extends D{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new k),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new mT(0,0,0,0),this._scrollable=this._register(new y_({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let n=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(n||r)&&this._onDidContentSizeChange.fire(new xpe(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}},Jpe=class extends D{constructor(e,t,n,r){super(),this._configuration=e;let i=this._configuration.options,a=i.get(165),o=i.get(96);this._linesLayout=new Gpe(t,i.get(75),o.top,o.bottom,n),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new qpe(0,r)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new mT(a.contentWidth,0,a.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(130)?Kpe:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(75)&&this._linesLayout.setDefaultLineHeight(t.get(75)),e.hasChanged(96)){let e=t.get(96);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(165)){let e=t.get(165),n=e.contentWidth,r=e.height,i=this._scrollable.getScrollDimensions(),a=i.contentWidth;this._scrollable.setScrollDimensions(new mT(n,i.contentWidth,r,this._getContentHeight(n,r,a)))}else this._updateHeight();e.hasChanged(130)&&this._configureSmoothScrollDuration()}onFlushed(e,t){this._linesLayout.onFlushed(e,t)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let n=this._configuration.options.get(117);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){let r=this._configuration.options,i=this._linesLayout.getLinesTotalHeight();return r.get(119)?i+=Math.max(0,t-r.get(75)-r.get(96).bottom):r.get(117).ignoreHorizontalScrollbarInContentHeight||(i+=this._getHorizontalScrollbarHeight(e,n)),i}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new mT(t,e.contentWidth,n,this._getContentHeight(t,n,r)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new Jy(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new Jy(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){let e=this._configuration.options,t=this._maxLineWidth,n=e.get(166),r=e.get(59),i=e.get(165);if(n.isViewportWrapping){let n=e.get(81);return t>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side===`right`?t+i.verticalScrollbarWidth:t}{let n=e.get(118)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+n+i.verticalScrollbarWidth,a,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){let e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new mT(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}changeSpecialLineHeights(e){let t=this._linesLayout.changeLineHeights(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}getLineHeightForLineNumber(e){return this._linesLayout.getLineHeightForLineNumber(e)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){let n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}},hT=class{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}},Ype=class{constructor(e,t,n,r){this.startOffset=e,this.endOffset=t,this.inlineClassName=n,this.inlineClassNameAffectsLetterSpacing=r}toInlineDecoration(e){return new hT(new U(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}},Xpe=class{constructor(e,t,n,r,i){this.editorId=e,this.model=t,this.configuration=n,this._linesCollection=r,this._coordinatesConverter=i,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){let t=e.id,n=this._decorationsCache[t];if(!n){let r=e.range,i=e.options,a;if(i.isWholeLine){let e=this._coordinatesConverter.convertModelPositionToViewPosition(new F(r.startLineNumber,1),0,!1,!0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new F(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);a=new U(e.lineNumber,e.column,t.lineNumber,t.column)}else a=this._coordinatesConverter.convertModelRangeToViewRange(r,1);n=new Ry(a,i),this._decorationsCache[t]=n}return n}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t&&=e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getDecorationsOnLine(e,t=!1,n=!1){let r=new U(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(r,t,n)}_getDecorationsInRange(e,t,n){let r=this._linesCollection.getDecorationsInRange(e,this.editorId,em(this.configuration.options),tm(this.configuration.options),t,n),i=e.startLineNumber,a=e.endLineNumber,o=[],s=0,c=[];for(let e=i;e<=a;e++)c[e-i]=[];let l=!1;for(let e=0,t=r.length;e<t;e++){let t=r[e],n=t.options;if(!zy(this.model,t))continue;let u=this._getOrCreateViewModelDecoration(t),d=u.range;if(o[s++]=u,n.inlineClassName){let e=new hT(d,n.inlineClassName,n.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(i,d.startLineNumber),r=Math.min(a,d.endLineNumber);for(let n=t;n<=r;n++)c[n-i].push(e)}if(n.beforeContentClassName&&i<=d.startLineNumber&&d.startLineNumber<=a){let e=new hT(new U(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn),n.beforeContentClassName,1);c[d.startLineNumber-i].push(e)}if(n.afterContentClassName&&i<=d.endLineNumber&&d.endLineNumber<=a){let e=new hT(new U(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn),n.afterContentClassName,2);c[d.endLineNumber-i].push(e)}n.affectsFont&&(l=!0)}return{decorations:o,inlineDecorations:c,hasVariableFonts:l}}};function gT(e,t){return e===null?t?_T.INSTANCE:vT.INSTANCE:new Zpe(e,t)}var Zpe=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();let r=n>0?this._projectionData.breakOffsets[n-1]:0,i=this._projectionData.breakOffsets[n],a;if(this._projectionData.injectionOffsets!==null){let n=this._projectionData.injectionOffsets.map((e,t)=>new Tx(0,0,e+1,this._projectionData.injectionOptions[t],0));a=Tx.applyInjectedText(e.getLineContent(t),n).substring(r,i)}else a=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:i+1});return n>0&&(a=bT(this._projectionData.wrappedTextIndentLength)+a),a}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n){let r=[];return this.getViewLinesData(e,t,n,1,0,[!0],r),r[0]}getViewLinesData(e,t,n,r,i,a,o){this._assertVisible();let s=this._projectionData,c=s.injectionOffsets,l=s.injectionOptions,u=null;if(c){u=[];let e=0,t=0;for(let n=0;n<s.getOutputLineCount();n++){let r=[];u[n]=r;let i=n>0?s.breakOffsets[n-1]:0,a=s.breakOffsets[n];for(;t<c.length;){let o=l[t].content.length,u=c[t]+e,d=u+o;if(u>a)break;if(i<d){let e=l[t];if(e.inlineClassName){let t=n>0?s.wrappedTextIndentLength:0,o=t+Math.max(u-i,0),c=t+Math.min(d-i,a-i);o!==c&&r.push(new Ype(o,c,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(d<=a)e+=o,t++;else break}}}let d;if(c){let n=[];for(let e=0;e<c.length;e++){let t=c[e],r=l[e].tokens;r?r.forEach((r,i)=>{n.push({offset:t,text:r.substring(l[e].content),tokenMetadata:i.metadata})}):n.push({offset:t,text:l[e].content,tokenMetadata:yf.defaultTokenMetadata})}d=e.tokenization.getLineTokens(t).withInserted(n)}else d=e.tokenization.getLineTokens(t);for(let e=n;e<n+r;e++){let t=i+e-n;if(!a[t]){o[t]=null;continue}o[t]=this._getViewLineData(d,u?u[e]:null,e)}}_getViewLineData(e,t,n){this._assertVisible();let r=this._projectionData,i=n>0?r.wrappedTextIndentLength:0,a=n>0?r.breakOffsets[n-1]:0,o=r.breakOffsets[n],s=e.sliceAndInflate(a,o,i),c=s.getLineContent();n>0&&(c=bT(r.wrappedTextIndentLength)+c);let l=this._projectionData.getMinOutputOffset(n)+1,u=c.length+1,d=n+1<this.getViewLineCount(),f=n===0?0:r.breakOffsetsVisibleColumn[n-1];return new Yy(c,d,l,u,f,s,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,n=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,n).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,n){let r=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,n).toPosition(r)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error(`Not supported`)}},_T=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!0}setVisible(e){return e?this:vT.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,n){return e.getLineContent(t)}getViewLineLength(e,t,n){return e.getLineLength(t)}getViewLineMinColumn(e,t,n){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,n){return e.getLineMaxColumn(t)}getViewLineData(e,t,n){let r=e.tokenization.getLineTokens(t),i=r.getLineContent();return new Yy(i,!1,1,i.length+1,0,r.inflate(),null)}getViewLinesData(e,t,n,r,i,a,o){if(!a[i]){o[i]=null;return}o[i]=this.getViewLineData(e,t,0)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new F(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,n){return t}getInjectedTextAt(e,t){return null}},vT=class e{static{this.INSTANCE=new e}constructor(){}isVisible(){return!1}setVisible(e){return e?_T.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,n){throw Error(`Not supported`)}getViewLineLength(e,t,n){throw Error(`Not supported`)}getViewLineMinColumn(e,t,n){throw Error(`Not supported`)}getViewLineMaxColumn(e,t,n){throw Error(`Not supported`)}getViewLineData(e,t,n){throw Error(`Not supported`)}getViewLinesData(e,t,n,r,i,a,o){throw Error(`Not supported`)}getModelColumnOfViewPosition(e,t){throw Error(`Not supported`)}getViewPositionOfModelPosition(e,t){throw Error(`Not supported`)}getViewLineNumberOfModelPosition(e,t){throw Error(`Not supported`)}normalizePosition(e,t,n){throw Error(`Not supported`)}getInjectedTextAt(e,t){throw Error(`Not supported`)}},yT=[``];function bT(e){if(e>=yT.length)for(let t=1;t<=e;t++)yT[t]=Qpe(t);return yT[e]}function Qpe(e){return Array(e+1).join(` `)}var $pe=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=Vu(e);let n=this.values,r=this.prefixSum,i=t.length;return i!==0&&(this.values=new Uint32Array(n.length+i),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+i),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=Vu(e),t=Vu(t),this.values[e]!==t&&(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=Vu(e),t=Vu(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let i=n.length-e;return t>=i&&(t=i),t!==0&&(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=Vu(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new xT(r,e-a)}},eme=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];return new xT(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=Fa(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._prefixSum[this._prefixSum.length-1],this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},xT=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},tme=class{constructor(e){this._model=e}_validPosition(e){return this._model.validatePosition(e)}_validRange(e){return this._model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}},nme=class{constructor(e,t,n,r,i,a,o,s,c,l,u){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=n,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=i,this.tabSize=a,this.wrappingStrategy=o,this.wrappingColumn=s,this.wrappingIndent=c,this.wordBreak=l,this.wrapOnEscapedLineFeeds=u,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new ime(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let n=this.model.getLinesContent(),r=this.model.getInjectedTextDecorations(this._editorId),i=n.length,a=this.createLineBreaksComputer(),o=new qa(Tx.fromDecorations(r));for(let e=0;e<i;e++){let r=o.takeWhile(t=>t.lineNumber===e+1);a.addRequest(n[e],r,t?t[e]:null)}let s=a.finalize(),c=[],l=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(U.compareRangesUsingStarts),u=1,d=0,f=-1,p=f+1<l.length?d+1:i+2;for(let e=0;e<i;e++){let t=e+1;t===p&&(f++,u=l[f].startLineNumber,d=l[f].endLineNumber,p=f+1<l.length?d+1:i+2);let n=t>=u&&t<=d,r=gT(s[e],!n);c[e]=r.getViewLineCount(),this.modelLineProjections[e]=r}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new eme(c)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=rme(e.map(e=>this.model.validateRange(e))),n=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(U.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let r=0;r<t.length;r++)if(!t[r].equalsRange(n[r])){e=!0;break}if(!e)return!1}let r=t.map(e=>({range:e,options:Bw.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,r);let i=t,a=1,o=0,s=-1,c=s+1<i.length?o+1:this.modelLineProjections.length+2,l=!1;for(let e=0;e<this.modelLineProjections.length;e++){let t=e+1;t===c&&(s++,a=i[s].startLineNumber,o=i[s].endLineNumber,c=s+1<i.length?o+1:this.modelLineProjections.length+2);let n=!1;if(t>=a&&t<=o?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(l=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return l||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize!==e&&(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,r,i){let a=this.fontInfo.equals(e),o=this.wrappingStrategy===t,s=this.wrappingColumn===n,c=this.wrappingIndent===r,l=this.wordBreak===i;if(a&&o&&s&&c&&l)return!1;let u=a&&o&&!s&&c&&l;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=r,this.wordBreak=i;let d=null;if(u){d=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)d[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,d),!0}createLineBreaksComputer(){return(this.wrappingStrategy===`advanced`?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent,this.wordBreak,this.wrapOnEscapedLineFeeds)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,n){if(!e||e<=this._validModelVersionId)return null;let r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,i=this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections.splice(t-1,n-t+1),this.projectedModelLineLineCounts.removeValues(t-1,n-t+1),new iT(r,i)}onModelLinesInserted(e,t,n,r){if(!e||e<=this._validModelVersionId)return null;let i=t>2&&!this.modelLineProjections[t-2].isVisible(),a=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=0,s=[],c=[];for(let e=0,t=r.length;e<t;e++){let t=gT(r[e],!i);s.push(t);let n=t.getViewLineCount();o+=n,c[e]=n}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(s).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,c),new aT(a,a+o-1)}onModelLineChanged(e,t,n){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let r=t-1,i=this.modelLineProjections[r].getViewLineCount(),a=gT(n,this.modelLineProjections[r].isVisible());this.modelLineProjections[r]=a;let o=this.modelLineProjections[r].getViewLineCount(),s=!1,c=0,l=-1,u=0,d=-1,f=0,p=-1;i>o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1,f=l+1,p=f+(i-o)-1,s=!0):i<o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+i-1,u=l+1,d=u+(o-i)-1,s=!0):(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1),this.projectedModelLineLineCounts.setValue(r,o);let m=c<=l?new rT(c,l-c+1):null,h=u<=d?new aT(u,d):null,g=f<=p?new iT(f,p):null;return[s,m,h,g]}acceptVersionId(e){this._validModelVersionId=e,this.modelLineProjections.length===1&&!this.modelLineProjections[0].isVisible()&&this.setHiddenAreas([])}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:e|0}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);let r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),o=this.model.guides.getActiveIndentGuide(r.lineNumber,i.lineNumber,a.lineNumber),s=this.convertModelPositionToViewPosition(o.startLineNumber,1),c=this.convertModelPositionToViewPosition(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber));return{startLineNumber:s.lineNumber,endLineNumber:c.lineNumber,indent:o.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,r=t.remainder;return new ST(n+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new F(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new F(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){let n=this.getViewLineInfo(e),r=this.getViewLineInfo(t),i=[],a=this.getModelStartPositionOfViewLine(n),o=[];for(let e=n.modelLineNumber;e<=r.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let i=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,a=e===r.modelLineNumber?r.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=i;t<a;t++)o.push(new ST(e,t))}if(!t.isVisible()&&a){let t=new F(e-1,this.model.getLineMaxColumn(e-1)+1),n=U.fromPositions(a,t);i.push(new CT(n,o)),o=[],a=null}else t.isVisible()&&!a&&(a=new F(e,1))}if(a){let e=U.fromPositions(a,this.getModelEndPositionOfViewLine(r));i.push(new CT(e,o))}return i}getViewLinesBracketGuides(e,t,n,r){let i=n?this.convertViewPositionToModelPosition(n.lineNumber,n.column):null,a=[];for(let n of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=n.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,n.modelRange.endLineNumber,i,r);for(let r of n.viewLines){let n=t[r.modelLineNumber-e].map(e=>{if(e.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=r.modelLineWrappedLineIdx||e.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<r.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(e.column!==-1){let n=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===r.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<r.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(r);else if(n.lineNumber>r.modelLineWrappedLineIdx)return}let n=this.convertModelPositionToViewPosition(r.modelLineNumber,e.horizontalLine.endColumn),i=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);if(i.lineNumber===r.modelLineWrappedLineIdx)return new ry(e.visibleColumn,t,e.className,new iy(e.horizontalLine.top,n.column),-1,-1);if(!(i.lineNumber<r.modelLineWrappedLineIdx))return e.visibleColumn===-1?new ry(e.visibleColumn,t,e.className,new iy(e.horizontalLine.top,this.getMaxColumnOfViewLine(r)),-1,-1):void 0});a.push(n.filter(e=>!!e))}}return a}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),i=[],a=[],o=[],s=n.lineNumber-1,c=r.lineNumber-1,l=null;for(let e=s;e<=c;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let r=t.getViewLineNumberOfModelPosition(0,e===s?n.column:1),i=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),c=i-r+1,u=0;c>1&&t.getViewLineMinColumn(this.model,e+1,i)===1&&(u=r===0?1:2),a.push(c),o.push(u),l===null&&(l=new F(e+1,0))}else l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,e)),l=null)}l!==null&&(i=i.concat(this.model.guides.getLinesIndentGuides(l.lineNumber,r.lineNumber)),l=null);let u=t-e+1,d=Array(u),f=0;for(let e=0,t=i.length;e<t;e++){let t=i[e],n=Math.min(u-f,a[e]),r=o[e],s;s=r===2?0:r===1?1:n;for(let e=0;e<n;e++)e===s&&(t=0),d[f++]=t}return d}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLinesData(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=e,a=r.index,o=r.remainder,s=[];for(let r=a,c=this.model.getLineCount();r<c;r++){let c=this.modelLineProjections[r];if(!c.isVisible())continue;let l=r===a?o:0,u=c.getViewLineCount()-l,d=!1;if(i+u>t&&(d=!0,u=t-i+1),c.getViewLinesData(this.model,r+1,l,u,i-e,n,s),i+=u,d)break}return s}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=r.index,a=r.remainder,o=this.modelLineProjections[i],s=o.getViewLineMinColumn(this.model,i+1,a),c=o.getViewLineMaxColumn(this.model,i+1,a);t<s&&(t=s),t>c&&(t=c);let l=o.getModelColumnOfViewPosition(a,t);return this.model.validatePosition(new F(i+1,l)).equals(n)?new F(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){let n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new U(n.lineNumber,n.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){let n=this.getViewLineInfo(e),r=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new F(n.modelLineNumber,r))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new U(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2,r=!1,i=!1){let a=this.model.validatePosition(new F(e,t)),o=a.lineNumber,s=a.column,c=o-1,l=!1;if(i)for(;c<this.modelLineProjections.length&&!this.modelLineProjections[c].isVisible();)c++,l=!0;else for(;c>0&&!this.modelLineProjections[c].isVisible();)c--,l=!0;if(c===0&&!this.modelLineProjections[c].isVisible())return new F(+!r,1);let u=1+this.projectedModelLineLineCounts.getPrefixSum(c),d;return d=l?i?this.modelLineProjections[c].getViewPositionOfModelPosition(u,1,n):this.modelLineProjections[c].getViewPositionOfModelPosition(u,this.model.getLineMaxColumn(c+1),n):this.modelLineProjections[o-1].getViewPositionOfModelPosition(u,s,n),d}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return U.fromPositions(n)}{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new U(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(n===0&&!this.modelLineProjections[n].isVisible())return 1;let r=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n,r,i,a){let o=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),s=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(s.lineNumber-o.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new U(o.lineNumber,1,s.lineNumber,s.column),t,n,r,i,a);let c=[],l=o.lineNumber-1,u=s.lineNumber-1,d=null;for(let e=l;e<=u;e++)if(this.modelLineProjections[e].isVisible())d===null&&(d=new F(e+1,e===l?o.column:1));else if(d!==null){let a=this.model.getLineMaxColumn(e);c=c.concat(this.model.getDecorationsInRange(new U(d.lineNumber,d.column,e,a),t,n,r,i)),d=null}d!==null&&(c=c.concat(this.model.getDecorationsInRange(new U(d.lineNumber,d.column,s.lineNumber,s.column),t,n,r,i)),d=null),c.sort((e,t)=>{let n=U.compareRangesUsingStarts(e.range,t.range);return n===0?e.id<t.id?-1:+(e.id>t.id):n});let f=[],p=0,m=null;for(let e of c){let t=e.id;m!==t&&(m=t,f[p++]=e)}return f}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function rme(e){if(e.length===0)return[];let t=e.slice();t.sort(U.compareRangesUsingStarts);let n=[],r=t[0].startLineNumber,i=t[0].endLineNumber;for(let e=1,a=t.length;e<a;e++){let a=t[e];a.startLineNumber>i+1?(n.push(new U(r,1,i,1)),r=a.startLineNumber,i=a.endLineNumber):a.endLineNumber>i&&(i=a.endLineNumber)}return n.push(new U(r,1,i,1)),n}var ST=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},CT=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},ime=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,n,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,n,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},ame=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new tme(this.model)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,r){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,n,r)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new iT(t,n)}onModelLinesInserted(e,t,n,r){return new aT(t,n)}onModelLineChanged(e,t,n){return[!1,new rT(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let n=t-e+1,r=Array(n);for(let e=0;e<n;e++)r[e]=0;return r}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),n=t.getLineContent();return new Yy(n,!1,1,n.length+1,0,t.inflate(),null)}getViewLinesData(e,t,n){let r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);let i=[];for(let r=e;r<=t;r++){let t=r-e;i[t]=n[t]?this.getViewLineData(r):null}return i}getDecorationsInRange(e,t,n,r,i,a){return this.model.getDecorationsInRange(e,t,n,r,i,a)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}},wT=nd.Right,ome=class{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*wT/8))}reset(e){let t=Math.ceil((e+1)*wT/8);this.lanes.length<t?this.lanes=new Uint8Array(t):this.lanes.fill(0),this._requiredLanes=1}get requiredLanes(){return this._requiredLanes}push(e,t,n){n&&(this.persist|=1<<e-1);for(let n=t.startLineNumber;n<=t.endLineNumber;n++){let t=wT*n+(e-1);this.lanes[t>>>3]|=1<<t%8,this._requiredLanes=Math.max(this._requiredLanes,this.countAtLine(n))}}getLanesAtLine(e){let t=[],n=wT*e;for(let e=0;e<wT;e++)(this.persist&1<<e||this.lanes[n>>>3]&1<<n%8)&&t.push(e+1),n++;return t.length?t:[nd.Center]}countAtLine(e){let t=wT*e,n=0;for(let e=0;e<wT;e++)(this.persist&1<<e||this.lanes[t>>>3]&1<<t%8)&&n++,t++;return n}},sme=class extends D{constructor(e,t,n,r,i,a,o,s,c,l){if(super(),this.languageConfigurationService=o,this._themeService=s,this._attachedView=c,this._transactionalTarget=l,this.hiddenAreasModel=new ume,this.previousHiddenAreas=[],this._editorId=e,this._configuration=t,this.model=n,this._eventDispatcher=new ype,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new Cu(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._updateConfigurationViewLineCount=this._register(new hr(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=cme.create(this.model),this.glyphLanes=new ome(0),this.model.isTooLargeForTokenization())this._lines=new ame(this.model);else{let e=this._configuration.options,t=e.get(59),n=e.get(156),a=e.get(166),o=e.get(155),s=e.get(146),c=e.get(160);this._lines=new nme(this._editorId,this.model,r,i,t,this.model.getOptions().tabSize,n,a.wrappingColumn,o,s,c)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Ipe(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new Jpe(this._configuration,this.getLineCount(),this._getCustomLineHeights(),a)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._handleVisibleLinesChanged(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new mpe(e)),this._eventDispatcher.emitOutgoingEvent(new Cpe(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new Xpe(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(Ny.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new _pe)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new hpe(e))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_getCustomLineHeights(){return this._configuration.options.get(5)?this.model.getCustomLineHeightsDecorations(this._editorId).map(e=>{let t=e.range.startLineNumber,n=this.coordinatesConverter.convertModelRangeToViewRange(new U(t,1,t,this.model.getLineMaxColumn(t)));return{decorationId:e.id,startLineNumber:n.startLineNumber,endLineNumber:n.endLineNumber,lineHeight:e.options.lineHeight||0}}):[]}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){let e=this.viewLayout.getLinesViewportData(),t=new U(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){let e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new fpe(e)),this._eventDispatcher.emitOutgoingEvent(new sT(!e,e))}setHasWidgetFocus(e){this._eventDispatcher.emitOutgoingEvent(new Spe(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new cpe)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new lpe)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){let e=new F(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));return new ET(this.coordinatesConverter.convertViewPositionToModelPosition(e),this._viewportStart.startLineDelta)}return new ET(null,0)}_onConfigurationChanged(e,t){let n=this._captureStableViewport(),r=this._configuration.options,i=r.get(59),a=r.get(156),o=r.get(166),s=r.get(155),c=r.get(146);this._lines.setWrappingSettings(i,a,o.wrappingColumn,s,c)&&(e.emitViewEvent(new tT),e.emitViewEvent(new nT),e.emitViewEvent(new eT(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(104)&&(this._decorations.reset(),e.emitViewEvent(new eT(null))),t.hasChanged(112)&&(this._decorations.reset(),e.emitViewEvent(new eT(null))),e.emitViewEvent(new upe(t)),this.viewLayout.onConfigurationChanged(t),n.recoverViewportStart(this.coordinatesConverter,this.viewLayout),Cu.shouldRecreate(t)&&(this.cursorConfig=new Cu(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents(),n=!1,r=!1,i=e instanceof Mx?e.rawContentChangedEvent.changes:e.changes,a=e instanceof Mx?e.rawContentChangedEvent.versionId:null,o=this._lines.createLineBreaksComputer();for(let e of i)switch(e.changeType){case 4:for(let t=0;t<e.detail.length;t++){let n=e.detail[t],r=e.injectedTexts[t];r&&=r.filter(e=>!e.ownerId||e.ownerId===this._editorId),o.addRequest(n,r,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter(e=>!e.ownerId||e.ownerId===this._editorId)),o.addRequest(e.detail,t,null);break}}let s=new qa(o.finalize());for(let e of i)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new tT),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),n=!0;break;case 3:{let r=this._lines.onModelLinesDeleted(a,e.fromLineNumber,e.toLineNumber);r!==null&&(t.emitViewEvent(r),this.viewLayout.onLinesDeleted(r.fromLineNumber,r.toLineNumber)),n=!0;break}case 4:{let r=s.takeCount(e.detail.length),i=this._lines.onModelLinesInserted(a,e.fromLineNumber,e.toLineNumber,r);i!==null&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber)),n=!0;break}case 2:{let n=s.dequeue(),[i,o,c,l]=this._lines.onModelLineChanged(a,e.lineNumber,n);r=i,o&&t.emitViewEvent(o),c&&(t.emitViewEvent(c),this.viewLayout.onLinesInserted(c.fromLineNumber,c.toLineNumber)),l&&(t.emitViewEvent(l),this.viewLayout.onLinesDeleted(l.fromLineNumber,l.toLineNumber));break}}a!==null&&this._lines.acceptVersionId(a),this.viewLayout.onHeightMaybeChanged(),!n&&r&&(t.emitViewEvent(new nT),t.emitViewEvent(new eT(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}try{let t=this._eventDispatcher.beginEmitViewEvents();e instanceof Mx&&t.emitOutgoingEvent(new jpe(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._configuration.options.get(5)&&this._register(this.model.onDidChangeLineHeight(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(this.viewLayout.changeSpecialLineHeights(e=>{for(let n of t){let{decorationId:t,lineNumber:r,lineHeight:i}=n,a=this.coordinatesConverter.convertModelRangeToViewRange(new U(r,1,r,this.model.getLineMaxColumn(r)));i===null?e.removeCustomLineHeight(t):e.insertOrChangeCustomLineHeight(t,a.startLineNumber,a.endLineNumber,i)}}),t.length>0){let e=new Ax(t);this._eventDispatcher.emitOutgoingEvent(new Ppe(e))}})),this._configuration.options.get(172)&&this._register(this.model.onDidChangeFont(e=>{let t=e.changes.filter(e=>e.ownerId===this._editorId||e.ownerId===0);if(t.length>0){let e=new jx(t);this._eventDispatcher.emitOutgoingEvent(new Fpe(e))}})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let n=0,r=e.ranges.length;n<r;n++){let r=e.ranges[n],i=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.fromLineNumber,1)).lineNumber,a=this.coordinatesConverter.convertModelPositionToViewPosition(new F(r.toLineNumber,this.model.getLineMaxColumn(r.toLineNumber))).lineNumber;t[n]={fromLineNumber:i,toLineNumber:a}}this._eventDispatcher.emitSingleViewEvent(new gpe(t)),this._eventDispatcher.emitOutgoingEvent(new Npe(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new ppe),this.cursorConfig=new Cu(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Ape(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new Cu(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new kpe(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new tT),e.emitViewEvent(new nT),e.emitViewEvent(new eT(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new Cu(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new Mpe(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new eT(e)),this._eventDispatcher.emitOutgoingEvent(new Ope(e))}))}getFontSizeAtPosition(e){if(!this._configuration.options.get(172))return null;let t=this.model.getFontDecorationsInRange(U.fromPositions(e),this._editorId),n=this._configuration.options.get(59).fontSize+`px`;for(let e of t)if(e.options.fontSize){n=e.options.fontSize;break}return n}setHiddenAreas(e,t,n){this.hiddenAreasModel.setHiddenAreas(t,e);let r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas&&!n)return;this.previousHiddenAreas=r;let i=this._captureStableViewport(),a=!1;try{let e=this._eventDispatcher.beginEmitViewEvents();a=this._lines.setHiddenAreas(r),a&&(e.emitViewEvent(new tT),e.emitViewEvent(new nT),e.emitViewEvent(new eT(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount(),this._getCustomLineHeights()),this.viewLayout.onHeightMaybeChanged());let t=i.viewportStartModelPosition?.lineNumber;t&&r.some(e=>e.startLineNumber<=t&&t<=e.endLineNumber)||i.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),a&&this._eventDispatcher.emitOutgoingEvent(new Tpe)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(165),t=this._configuration.options.get(75),n=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),i=Math.max(1,r.completelyVisibleStartLineNumber-n),a=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new U(i,this.getLineMinColumn(i),a,this.getLineMaxColumn(a)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(n.length===0)return[t];let r=[],i=0,a=t.startLineNumber,o=t.startColumn,s=t.endLineNumber,c=t.endColumn;for(let e=0,t=n.length;e<t;e++){let t=n[e].startLineNumber,c=n[e].endLineNumber;c<a||t>s||(a<t&&(r[i++]=new U(a,o,t-1,this.model.getLineMaxColumn(t-1))),a=c+1,o=1)}return(a<s||a===s&&o<c)&&(r[i++]=new U(a,o,s,c)),r}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new U(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new U(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new F(n,this.getLineMinColumn(n))),i=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:i}}reduceRestoreState(e){if(e.firstPosition===void 0)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,n){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,n){return this._lines.getActiveIndentGuide(e,t,n)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,n,r){return this._lines.getViewLinesBracketGuides(e,t,n,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=Lr(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){let t=zr(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}_getTextDirection(e,t){let n=0;for(let r of t){let t=r.range;if(t.startLineNumber>e||t.endLineNumber<e)continue;let i=r.options.textDirection;i===rd.RTL?n++:i===rd.LTR&&n--}return n>0?rd.RTL:rd.LTR}getTextDirection(e){let t=this._decorations.getDecorationsOnLine(e);return this._getTextDirection(e,t.decorations)}getViewportViewLineRenderingData(e,t){let n=this._decorations.getDecorationsViewportData(e),r=n.inlineDecorations[t-e.startLineNumber];return this._getViewLineRenderingData(t,r,n.hasVariableFonts,n.decorations)}getViewLineRenderingData(e){let t=this._decorations.getDecorationsOnLine(e);return this._getViewLineRenderingData(e,t.inlineDecorations[0],t.hasVariableFonts,t.decorations)}_getViewLineRenderingData(e,t,n,r){let i=this.model.mightContainRTL(),a=this.model.mightContainNonBasicASCII(),o=this.getTabSize(),s=this._lines.getViewLineData(e);return s.inlineDecorations&&(t=[...t,...s.inlineDecorations.map(t=>t.toInlineDecoration(e))]),new Xy(s.minColumn,s.maxColumn,s.content,s.continuesWithWrappedLine,i,a,s.tokens,t,o,s.startVisibleColumn,this._getTextDirection(e,r),n)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){let r=this._lines.getViewLinesData(e,t,n);return new wle(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,em(this._configuration.options),tm(this._configuration.options)),n=new lme;for(let r of t){let t=r.options,i=t.overviewRuler;if(!i)continue;let a=i.position;if(a===0)continue;let o=i.getColor(e.value),s=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);n.accept(o,t.zIndex,s,c,a)}return n.asArray}_invalidateDecorationsColorCache(){let e=this.model.getOverviewRulerDecorations();for(let t of e)t.options.overviewRuler?.invalidateCachedColor(),t.options.minimap?.invalidateCachedColor()}getValueInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}getValueLengthInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(n,t)}modifyPosition(e,t){let n=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(n,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,n){let r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=n:t+=n);let i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)}getPlainTextToCopy(e,t,n){let r=n?`\r
260
260
  `:this.model.getEOL();e=e.slice(0),e.sort(U.compareRangesUsingStarts);let i=!1,a=!1;for(let t of e)t.isEmpty()?i=!0:a=!0;if(!a){if(!t)return``;let n=e.map(e=>e.startLineNumber),i=``;for(let e=0;e<n.length;e++)e>0&&n[e-1]===n[e]||(i+=this.model.getLineContent(n[e])+r);return i}if(i&&t){let t=[],r=0;for(let i of e){let e=i.startLineNumber;i.isEmpty()?e!==r&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(i,n?2:0)),r=e}return t.length===1?t[0]:t}let o=[];for(let t of e)t.isEmpty()||o.push(this.model.getValueInRange(t,n?2:0));return o.length===1?o[0]:o}getRichTextToCopy(e,t){let n=this.model.getLanguageId();if(n===`plaintext`||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;let e=r.startLineNumber;r=new U(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}let i=this._configuration.options.get(59),a=this._getColorMap(),o=/[:;\\\/<>]/.test(i.fontFamily)||i.fontFamily===bp.fontFamily,s;return o?s=bp.fontFamily:(s=i.fontFamily,s=s.replace(/"/g,`'`),/[,']/.test(s)||/[+ ]/.test(s)&&(s=`'${s}'`),s=`${s}, ${bp.fontFamily}`),{mode:n,html:`<div style="color: ${a[1]};background-color: ${a[2]};font-family: ${s};font-weight: ${i.fontWeight};font-size: ${i.fontSize}px;line-height: ${i.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(r,a)+`</div>`}}_getHTMLToCopy(e,t){let n=e.startLineNumber,r=e.startColumn,i=e.endLineNumber,a=e.endColumn,o=this.getTabSize(),s=``;for(let e=n;e<=i;e++){let c=this.model.tokenization.getLineTokens(e),l=c.getLineContent(),u=e===n?r-1:0,d=e===i?a-1:l.length;s+=l===``?`<br>`:Vpe(l,c.inflate(),t,u,d,o,$t)}return s}_getColorMap(){let e=My.getColorMap(),t=[`#000000`];if(e)for(let n=1,r=e.length;n<r;n++)t[n]=J.Format.CSS.formatHex(e[n]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,n){return this._withViewEventsCollector(r=>this._cursor.setStates(r,e,t,n))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,n=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,n))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new Dpe);return}this._withViewEventsCollector(e)}executeEdits(e,t,n,r){this._executeCursorEdit(i=>this._cursor.executeEdits(i,e,t,n,r))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(n=>this._cursor.type(n,e,t))}compositionType(e,t,n,r,i){this._executeCursorEdit(a=>this._cursor.compositionType(a,e,t,n,r,i))}paste(e,t,n,r){this._executeCursorEdit(i=>this._cursor.paste(i,e,t,n,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(n=>this._cursor.executeCommand(n,e,t))}executeCommands(e,t){this._executeCursorEdit(n=>this._cursor.executeCommands(n,e,t))}revealAllCursors(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealAll(r,e,n,0,t,0))}revealPrimaryCursor(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,n,0,t,0))}revealTopMostCursor(e){let t=this._cursor.getTopMostViewPosition(),n=new U(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new oT(e,!1,n,null,0,!0,0)))}revealBottomMostCursor(e){let t=this._cursor.getBottomMostViewPosition(),n=new U(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new oT(e,!1,n,null,0,!0,0)))}revealRange(e,t,n,r,i){this._withViewEventsCollector(a=>a.emitViewEvent(new oT(e,!1,n,null,r,t,i)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new vpe),this._eventDispatcher.emitOutgoingEvent(new wpe))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>{try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}})}batchEvents(e){this._withViewEventsCollector(()=>{e()})}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}},cme=class e{static create(t){let n=t._setTrackedRange(null,new U(1,1,1,1),1);return new e(t,1,!1,n,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,n,r,i){this._model=e,this._viewLineNumber=t,this._isValid=n,this._modelTrackedRange=r,this._startLineDelta=i}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){let n=e.coordinatesConverter.convertViewPositionToModelPosition(new F(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new U(n.lineNumber,n.column,n.lineNumber,n.column),1),i=e.viewLayout.getVerticalOffsetForLineNumber(t),a=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=a-i}invalidate(){this._isValid=!1}},lme=class{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,n,r,i){let a=this._asMap[e];if(a){let e=a.data,t=e[e.length-3],o=e[e.length-1];if(t===i&&o+1>=n){r>o&&(e[e.length-1]=r);return}e.push(i,n,r)}else{let a=new Zy(e,t,[i,n,r]);this._asMap[e]=a,this.asArray.push(a)}}},ume=class{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){let n=this.hiddenAreas.get(e);n&&TT(n,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;let e=Array.from(this.hiddenAreas.values()).reduce((e,t)=>dme(e,t),[]);return TT(this.ranges,e)||(this.ranges=e),this.ranges}};function dme(e,t){let n=[],r=0,i=0;for(;r<e.length&&i<t.length;){let a=e[r],o=t[i];if(a.endLineNumber<o.startLineNumber-1)n.push(e[r++]);else if(o.endLineNumber<a.startLineNumber-1)n.push(t[i++]);else{let e=Math.min(a.startLineNumber,o.startLineNumber),t=Math.max(a.endLineNumber,o.endLineNumber);n.push(new U(e,1,t,1)),r++,i++}}for(;r<e.length;)n.push(e[r++]);for(;i<t.length;)n.push(t[i++]);return n}function TT(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].equalsRange(t[n]))return!1;return!0}var ET=class{constructor(e,t){this.viewportStartModelPosition=e,this.startLineDelta=t}recoverViewportStart(e,t){if(!this.viewportStartModelPosition)return;let n=e.convertModelPositionToViewPosition(this.viewportStartModelPosition),r=t.getVerticalOffsetForLineNumber(n.lineNumber);t.setScrollPosition({scrollTop:r+this.startLineDelta},1)}},DT=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}get(e){return this._entries.get(e)}},fme=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},OT=function(e,t){return function(n,r){t(n,r,e)}},kT,AT=class extends D{static{kT=this}static{this.dropIntoEditorDecorationOptions=Bw.register({description:`workbench-dnd-target`,className:`dnd-target`})}get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}get contextKeyService(){return this._contextKeyService}constructor(e,t,n,r,i,a,o,s,c,l,u,d){super(),this.languageConfigurationService=u,this._deliveryQueue=Mee(),this._contributions=this._register(new rde),this._onDidDispose=this._register(new k),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeLineHeight=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeLineHeight=this._onDidChangeLineHeight.event,this._onDidChangeFont=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeFont=this._onDidChangeFont.event,this._onDidChangeModelTokens=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new MT(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new jT({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new jT({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new MT(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new MT(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new MT(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new MT(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new MT(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new MT(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new MT(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new MT(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new MT(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new MT(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new MT(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new MT(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new MT(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new MT(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new MT(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new MT(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new MT(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new k({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onWillTriggerEditorOperationEvent=this._register(new k),this._onBeginUpdate=this._register(new k),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new k),this.onEndUpdate=this._onEndUpdate.event,this._onBeforeExecuteEdit=this._register(new k),this.onBeforeExecuteEdit=this._onBeforeExecuteEdit.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),this.inComposition=!1,i.willCreateCodeEditor();let f={...t};if(this._domElement=e,this._overflowWidgetsDomNode=f.overflowWidgetsDomNode,delete f.overflowWidgetsDomNode,this._id=++pme,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=n.telemetryData,this._configuration=this._register(this._createConfiguration(n.isSimpleWidget||!1,n.contextMenuId??(n.isSimpleWidget?ml.SimpleEditorContext:ml.EditorContext),f,l)),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);let t=this._configuration.options;if(e.hasChanged(165)){let e=t.get(165);this._onDidLayoutChange.fire(e)}})),this._contextKeyService=this._register(o.createScoped(this._domElement)),n.contextKeyValues)for(let[e,t]of Object.entries(n.contextKeyValues))this._contextKeyService.createKey(e,t);this._notificationService=c,this._codeEditorService=i,this._commandService=a,this._themeService=s,this._register(new hme(this,this._contextKeyService)),this._register(new gme(this,this._contextKeyService,d)),this._instantiationService=this._register(r.createChild(new DT([rl,this._contextKeyService]))),this._modelData=null,this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let p;p=Array.isArray(n.contributions)?n.contributions:pu.getEditorContributions(),this._contributions.initialize(this,p,this._instantiationService);for(let e of pu.getEditorActions()){if(this._actions.has(e.id)){pt(Error(`Cannot have two actions with the same id ${e.id}`));continue}let t=new Fx(e.id,e.label,e.alias,e.metadata,e.precondition??void 0,t=>this._instantiationService.invokeFunction(n=>Promise.resolve(e.runEditorCommand(n,this,t))),this._contextKeyService);this._actions.set(t.id,t)}let m=()=>!this._configuration.options.get(104)&&this._configuration.options.get(43).enabled;this._register(new bne(this._domElement,{onDragOver:e=>{if(!m())return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:async e=>{if(!m()||(this.removeDropIndicator(),!e.dataTransfer))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this._onDropIntoEditor.fire({position:t.position,event:e})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){this._modelData?.view.writeScreenReaderContent(e)}_createConfiguration(e,t,n,r){return new hm(e,t,n,this._domElement,r)}getId(){return this.getEditorType()+`:`+this._id}getEditorType(){return Ix.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?Ku.getWordAtPosition(this._modelData.model,this._configuration.options.get(148),this._configuration.options.get(147),e):null}getValue(e=null){if(!this._modelData)return``;let t=!!(e&&e.preserveBOM),n=0;return e&&e.lineEnding&&e.lineEnding===`
261
261
  `?n=1:e&&e.lineEnding&&e.lineEnding===`\r
262
262
  `&&(n=2),this._modelData.model.getValue(n,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){try{this._beginUpdate();let t=e;if(this._modelData===null&&t===null||this._modelData&&this._modelData.model===t)return;let n={oldModelUrl:this._modelData?.model.uri||null,newModelUrl:t?.uri||null};this._onWillChangeModel.fire(n);let r=this.hasTextFocus(),i=this._detachModel();this._attachModel(t),this.hasModel()?r&&this.focus():(this._editorTextFocus.setValue(!1),this._editorWidgetFocus.setValue(!1)),this._removeDecorationTypes(),this._onDidChangeModel.fire(n),this._postDetachModelCleanup(i),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let e in this._decorationTypeSubtypes){let t=this._decorationTypeSubtypes[e];for(let n in t)this._removeDecorationType(e+`-`+n)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,n,r){let i=e.model.validatePosition({lineNumber:t,column:n}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(a.lineNumber,r)}getTopForLineNumber(e,t=!1){return this._modelData?kT._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?kT._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,n,r=!1){let i=e.model.validatePosition({lineNumber:t,column:n}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(a.lineNumber,r)}getBottomForLineNumber(e,t=!1){if(!this._modelData)return-1;let n=this._modelData.model.getLineMaxColumn(e);return kT._getVerticalOffsetAfterPosition(this._modelData,e,n,t)}getLineHeightForPosition(e){if(!this._modelData)return-1;let t=this._modelData.viewModel,n=t.coordinatesConverter,r=F.lift(e);if(n.modelPositionIsVisible(r)){let e=n.convertModelPositionToViewPosition(r);return t.viewLayout.getLineHeightForLineNumber(e.lineNumber)}return 0}setHiddenAreas(e,t,n){this._modelData?.viewModel.setHiddenAreas(e.map(e=>U.lift(e)),t,n)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;let t=this._modelData.model.validatePosition(e),n=this._modelData.model.getOptions().tabSize;return bu.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,n)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t=`api`){if(this._modelData){if(!F.isIPosition(e))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,n,r){if(!this._modelData)return;if(!U.isIRange(e))throw Error(`Invalid arguments`);let i=this._modelData.model.validateRange(e),a=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(i);this._modelData.viewModel.revealRange(`api`,n,a,t,r)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,n){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new U(e,1,e,1),t,!1,n)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,n,r){if(!F.isIPosition(e))throw Error(`Invalid arguments`);this._sendRevealRange(new U(e.lineNumber,e.column,e.lineNumber,e.column),t,n,r)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t=`api`){let n=W.isISelection(e),r=U.isIRange(e);if(!n&&!r)throw Error(`Invalid arguments`);if(n)this._setSelectionImpl(e,t);else if(r){let n={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(n,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;let n=new W(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[n])}revealLines(e,t,n=0){this._revealLines(e,t,0,n)}revealLinesInCenter(e,t,n=0){this._revealLines(e,t,1,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._revealLines(e,t,2,n)}revealLinesNearTop(e,t,n=0){this._revealLines(e,t,5,n)}_revealLines(e,t,n,r){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new U(e,1,t,1),n,!1,r)}revealRange(e,t=0,n=!1,r=!0){this._revealRange(e,+!!n,r,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,n,r){if(!U.isIRange(e))throw Error(`Invalid arguments`);this._sendRevealRange(U.lift(e),t,n,r)}setSelections(e,t=`api`,n=0){if(this._modelData){if(!e||e.length===0)throw Error(`Invalid arguments`);for(let t=0,n=e.length;t<n;t++)if(!W.isISelection(e[t]))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,e,n)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:e},t)}}setScrollTop(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:e},t)}}setScrollPosition(e,t=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(e,t)}hasPendingScrollAnimation(){return this._modelData?this._modelData.viewModel.viewLayout.hasPendingScrollAnimation():!1}saveViewState(){if(!this._modelData)return null;let e=this._contributions.saveViewState();return{cursorState:this._modelData.viewModel.saveCursorState(),viewState:this._modelData.viewModel.saveState(),contributionsState:e}}restoreViewState(e){if(!this._modelData||!this._modelData.hasRealView)return;let t=e;if(t&&t.cursorState&&t.viewState){let e=t.cursorState;Array.isArray(e)?e.length>0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]),this._contributions.restoreViewState(t.contributionsState||{});let n=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(n)}}handleInitialized(){this._getViewModel()?.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter(e=>e.isSupported()),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,n){n||={};try{switch(this._onWillTriggerEditorOperationEvent.fire({source:e,handlerId:t,payload:n}),this._beginUpdate(),t){case`compositionStart`:this._startComposition();return;case`compositionEnd`:this._endComposition(e);return;case`type`:{let t=n;this._type(e,t.text||``);return}case`replacePreviousChar`:{let t=n;this._compositionType(e,t.text||``,t.replaceCharCnt||0,0,0);return}case`compositionType`:{let t=n;this._compositionType(e,t.text||``,t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0);return}case`paste`:{let t=n;this._paste(e,t.text||``,t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null,t.clipboardEvent);return}case`cut`:this._cut(e);return}let r=this.getAction(t);if(r){Promise.resolve(r.run(n)).then(void 0,pt);return}if(!this._modelData||this._triggerEditorCommand(e,t,n))return;this._triggerCommand(t,n)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this.inComposition=!0,this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this.inComposition=!1,this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){this._modelData&&t.length!==0&&(e===`keyboard`&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),e===`keyboard`&&this._onDidType.fire(t))}_compositionType(e,t,n,r,i){this._modelData&&this._modelData.viewModel.compositionType(t,n,r,i,e)}_paste(e,t,n,r,i,a){if(!this._modelData)return;let o=this._modelData.viewModel,s=o.getSelection().getStartPosition();o.paste(t,n,r,e);let c=o.getSelection().getStartPosition();e===`keyboard`&&this._onDidPaste.fire({clipboardEvent:a,range:new U(s.lineNumber,s.column,c.lineNumber,c.column),languageId:i})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,n){let r=pu.getEditorCommand(t);return r?(n||={},jt(n)&&(n.source=e),this._instantiationService.invokeFunction(e=>{Promise.resolve(r.runEditorCommand(e,this,n)).then(void 0,pt)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(104)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(104)?!1:(this._modelData.model.popStackElement(),!0)}edit(e,t){return this.executeEdits(t,e.replacements.map(e=>({range:e.range,text:e.text})),void 0)}executeEdits(e,t,n){if(!this._modelData||this._configuration.options.get(104))return!1;let r;r=n?Array.isArray(n)?()=>n:n:()=>null;let i,a;return e instanceof NS?(a=e,i=e.metadata.source):(a=FS.unknown({name:i}),i=e),this._onBeforeExecuteEdit.fire({source:i??void 0}),this._modelData.viewModel.executeEdits(i,t,r,a),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new _me(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){if(!this._modelData)return null;let t=this._configuration.options;return this._modelData.model.getLineDecorations(e,this._id,em(t),tm(t))}getDecorationsInRange(e){if(!this._modelData)return null;let t=this._configuration.options;return this._modelData.model.getDecorationsInRange(e,this._id,em(t),tm(t))}getFontSizeAtPosition(e){return this._modelData?this._modelData.viewModel.getFontSizeAtPosition(e):null}deltaDecorations(e,t){return this._modelData?e.length===0&&t.length===0?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){this._modelData&&e.length!==0&&this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){let t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations(e=>e.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(165)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){this._modelData&&this._modelData.hasRealView&&this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isWidgetFocused()}addContentWidget(e){let t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting a content widget with the same id:`+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let n=this._contentWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(n)}}removeContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){let t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting an overlay widget with the same id.`),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let n=this._overlayWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(n)}}removeOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}addGlyphMarginWidget(e){let t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn(`Overwriting a glyph margin widget with the same id.`),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let n=this._glyphMarginWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(n)}}removeGlyphMarginWidget(e){let t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){let e=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(e)}}changeViewZones(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,t)}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;let t=this._modelData.model.validatePosition(e),n=this._configuration.options.get(165);return{top:kT._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+n.glyphMarginWidth+n.lineNumbersWidth+n.decorationsWidth-this.getScrollLeft(),height:this.getLineHeightForPosition(t)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}render(e=!1){this._modelData&&this._modelData.hasRealView&&this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,e)})}setAriaOptions(e){this._modelData&&this._modelData.hasRealView&&this._modelData.view.setAriaOptions(e)}applyFontInfo(e){up(e,this._configuration.options.get(59))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}let t=[];this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());let n=e.onBeforeAttached(),r=new sme(this._id,this._configuration,e,$ue.create(Zo(this._domElement)),rpe.create(this._configuration.options),e=>us(Zo(this._domElement),e),this.languageConfigurationService,this._themeService,n,{batchChanges:e=>{try{return this._beginUpdate(),e()}finally{this._endUpdate()}}});t.push(e.onWillDispose(()=>this.setModel(null))),t.push(r.onEvent(t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._editorWidgetFocus.setValue(t.hasFocus);break;case 3:this._onDidScrollChange.fire(t);break;case 4:this._onDidChangeViewZones.fire();break;case 5:this._onDidChangeHiddenAreas.fire();break;case 6:this._onDidAttemptReadOnlyEdit.fire();break;case 7:{if(t.reachedMaxCursorCount){let e=C(83,`The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.`,this.getOption(89));this._notificationService.prompt(bb.Warning,e,[{label:`Find and Replace`,run:()=>{this._commandService.executeCommand(`editor.action.startFindReplaceAction`)}},{label:C(84,`Increase Multi Cursor Limit`),run:()=>{this._commandService.executeCommand(`workbench.action.openSettings2`,{query:`editor.multiCursorLimit`})}}])}let e=[];for(let n=0,r=t.selections.length;n<r;n++)e[n]=t.selections[n].getPosition();let n={position:e[0],secondaryPositions:e.slice(1),reason:t.reason,source:t.source};this._onDidChangeCursorPosition.fire(n);let r={selection:t.selections[0],secondarySelections:t.selections.slice(1),modelVersionId:t.modelVersionId,oldSelections:t.oldSelections,oldModelVersionId:t.oldModelVersionId,source:t.source,reason:t.reason};this._onDidChangeCursorSelection.fire(r);break}case 8:this._onDidChangeModelDecorations.fire(t.event);break;case 9:this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._onDidChangeModelLanguage.fire(t.event);break;case 10:this._onDidChangeModelLanguageConfiguration.fire(t.event);break;case 11:this._onDidChangeModelContent.fire(t.event);break;case 12:this._onDidChangeModelOptions.fire(t.event);break;case 13:this._onDidChangeModelTokens.fire(t.event);break;case 14:this._onDidChangeLineHeight.fire(t.event);break;case 15:this._onDidChangeFont.fire(t.event)}}));let[i,a]=this._createView(r);if(a){this._domElement.appendChild(i.domNode.domNode);let t=Object.keys(this._contentWidgets);for(let e=0,n=t.length;e<n;e++){let n=t[e];i.addContentWidget(this._contentWidgets[n])}t=Object.keys(this._overlayWidgets);for(let e=0,n=t.length;e<n;e++){let n=t[e];i.addOverlayWidget(this._overlayWidgets[n])}t=Object.keys(this._glyphMarginWidgets);for(let e=0,n=t.length;e<n;e++){let n=t[e];i.addGlyphMarginWidget(this._glyphMarginWidgets[n])}i.render(!1,!0),i.domNode.domNode.setAttribute(`data-uri`,e.uri.toString())}this._modelData=new mme(e,r,i,a,t,n)}_createView(e){let t;t=this.isSimpleWidget?{paste:(e,t,n,r)=>{this._paste(`keyboard`,e,t,n,r)},type:e=>{this._type(`keyboard`,e)},compositionType:(e,t,n,r)=>{this._compositionType(`keyboard`,e,t,n,r)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition(`keyboard`)},cut:()=>{this._cut(`keyboard`)}}:{paste:(e,t,n,r)=>{let i={text:e,pasteOnNewLine:t,multicursorText:n,mode:r};this._commandService.executeCommand(`paste`,i)},type:e=>{let t={text:e};this._commandService.executeCommand(`type`,t)},compositionType:(e,t,n,r)=>{if(n||r){let i={text:e,replacePrevCharCnt:t,replaceNextCharCnt:n,positionDelta:r};this._commandService.executeCommand(`compositionType`,i)}else{let n={text:e,replaceCharCnt:t};this._commandService.executeCommand(`replacePreviousChar`,n)}},startComposition:()=>{this._commandService.executeCommand(`compositionStart`,{})},endComposition:()=>{this._commandService.executeCommand(`compositionEnd`,{})},cut:()=>{this._commandService.executeCommand(`cut`,{})}};let n=new uv(e.coordinatesConverter);return n.onKeyDown=e=>this._onKeyDown.fire(e),n.onKeyUp=e=>this._onKeyUp.fire(e),n.onContextMenu=e=>this._onContextMenu.fire(e),n.onMouseMove=e=>this._onMouseMove.fire(e),n.onMouseLeave=e=>this._onMouseLeave.fire(e),n.onMouseDown=e=>this._onMouseDown.fire(e),n.onMouseUp=e=>this._onMouseUp.fire(e),n.onMouseDrag=e=>this._onMouseDrag.fire(e),n.onMouseDrop=e=>this._onMouseDrop.fire(e),n.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),n.onMouseWheel=e=>this._onMouseWheel.fire(e),[new yx(this._domElement,this.getId(),t,this._configuration,this._themeService.getColorTheme(),e,n,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(this._contributionsDisposable?.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;let e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute(`data-mode-id`),t&&this._domElement.contains(t)&&t.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}showDropIndicatorAt(e){let t=[{range:new U(e.lineNumber,e.column,e.lineNumber,e.column),options:kT.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,this._updateCounter===0&&this._onEndUpdate.fire()}};AT=kT=fme([OT(3,vc),OT(4,bc),OT(5,Nc),OT(6,rl),OT(7,yv),OT(8,xb),OT(9,pm),OT(10,cf),OT(11,Z)],AT);var pme=0,mme=class{constructor(e,t,n,r,i,a){this.model=e,this.viewModel=t,this.view=n,this.hasRealView=r,this.listenersToRemove=i,this.attachedView=a}dispose(){Ln(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}},jT=class extends D{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new k(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new k(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){let t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}},MT=class extends k{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}},hme=class extends D{constructor(e,t){super(),this._editor=e,t.createKey(`editorId`,e.getId()),this._editorSimpleInput=G.editorSimpleInput.bindTo(t),this._editorFocus=G.focus.bindTo(t),this._textInputFocus=G.textInputFocus.bindTo(t),this._editorTextFocus=G.editorTextFocus.bindTo(t),this._tabMovesFocus=G.tabMovesFocus.bindTo(t),this._editorReadonly=G.readOnly.bindTo(t),this._inDiffEditor=G.inDiffEditor.bindTo(t),this._editorColumnSelection=G.columnSelection.bindTo(t),this._hasMultipleSelections=G.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=G.hasNonEmptySelection.bindTo(t),this._canUndo=G.canUndo.bindTo(t),this._canRedo=G.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(fm.onDidChangeTabFocus(e=>this._tabMovesFocus.set(e))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){let e=this._editor.getOptions();this._tabMovesFocus.set(e.get(164)||fm.getTabFocusMode()),this._editorReadonly.set(e.get(104)),this._inDiffEditor.set(e.get(70)),this._editorColumnSelection.set(e.get(28))}_updateFromSelection(){let e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(e=>!e.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){let e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}},gme=class extends D{constructor(e,t,n){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=n,this._langId=G.languageId.bindTo(t),this._hasCompletionItemProvider=G.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=G.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=G.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=G.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=G.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=G.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=G.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=G.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=G.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=G.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=G.hasReferenceProvider.bindTo(t),this._hasRenameProvider=G.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=G.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=G.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=G.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=G.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=G.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=G.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=G.isInEmbeddedEditor.bindTo(t);let r=()=>this._update();this._register(e.onDidChangeModel(r)),this._register(e.onDidChangeModelLanguage(r)),this._register(n.completionProvider.onDidChange(r)),this._register(n.codeActionProvider.onDidChange(r)),this._register(n.codeLensProvider.onDidChange(r)),this._register(n.definitionProvider.onDidChange(r)),this._register(n.declarationProvider.onDidChange(r)),this._register(n.implementationProvider.onDidChange(r)),this._register(n.typeDefinitionProvider.onDidChange(r)),this._register(n.hoverProvider.onDidChange(r)),this._register(n.documentHighlightProvider.onDidChange(r)),this._register(n.documentSymbolProvider.onDidChange(r)),this._register(n.referenceProvider.onDidChange(r)),this._register(n.renameProvider.onDidChange(r)),this._register(n.documentFormattingEditProvider.onDidChange(r)),this._register(n.documentRangeFormattingEditProvider.onDidChange(r)),this._register(n.signatureHelpProvider.onDidChange(r)),this._register(n.inlayHintsProvider.onDidChange(r)),r()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){let e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===$i.walkThroughSnippet||e.uri.scheme===$i.vscodeChatCodeBlock)})}},_me=class{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,n){return this._editor.onDidChangeModelDecorations(n=>{this._isChangingDecorations||e.call(t,n)},n)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];let e=this._editor.getModel(),t=[];for(let n of this._decorationIds){let r=e.getDecorationRange(n);r&&t.push(r)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(n=>{t=n.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}},vme=`%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'`,yme=`'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function NT(e){return vme+encodeURIComponent(e.toString())+yme}var bme=`%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%223%22%20width%3D%2212%22%3E%3Cg%20fill%3D%22`,xme=`%22%3E%3Ccircle%20cx%3D%221%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function PT(e){return bme+encodeURIComponent(e.toString())+xme}wv((e,t)=>{let n=e.getColor(lh);n&&(t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${NT(n)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-error-decoration: url("data:image/svg+xml,${NT(n)}"); }`));let r=e.getColor(uh);r&&(t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${NT(r)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-warning-decoration: url("data:image/svg+xml,${NT(r)}"); }`));let i=e.getColor(fh);i&&(t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${NT(i)}") repeat-x bottom left; }`),t.addRule(`:root { --monaco-editor-info-decoration: url("data:image/svg+xml,${NT(i)}"); }`));let a=e.getColor(Lae);a&&(t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${PT(a)}") no-repeat bottom left; }`),t.addRule(`:root { --monaco-editor-hint-decoration: url("data:image/svg+xml,${PT(a)}"); }`));let o=e.getColor(xce);o&&(t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${o.rgba.a}; }`),t.addRule(`:root { --monaco-editor-unnecessary-decoration-opacity: ${o.rgba.a}; }`))});function FT(e){return new Sme(e)}var Sme=class extends vo{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return`Const: ${this.value}`}};function IT(e,t){return e}function LT(e){return FT(e)}var RT=yc(`accessibilitySignalService`),zT=class e{static register(t){return new e(t.fileName)}static{this.error=e.register({fileName:`error.mp3`})}static{this.warning=e.register({fileName:`warning.mp3`})}static{this.success=e.register({fileName:`success.mp3`})}static{this.foldedArea=e.register({fileName:`foldedAreas.mp3`})}static{this.break=e.register({fileName:`break.mp3`})}static{this.quickFixes=e.register({fileName:`quickFixes.mp3`})}static{this.taskCompleted=e.register({fileName:`taskCompleted.mp3`})}static{this.taskFailed=e.register({fileName:`taskFailed.mp3`})}static{this.terminalBell=e.register({fileName:`terminalBell.mp3`})}static{this.diffLineInserted=e.register({fileName:`diffLineInserted.mp3`})}static{this.diffLineDeleted=e.register({fileName:`diffLineDeleted.mp3`})}static{this.diffLineModified=e.register({fileName:`diffLineModified.mp3`})}static{this.requestSent=e.register({fileName:`requestSent.mp3`})}static{this.responseReceived1=e.register({fileName:`responseReceived1.mp3`})}static{this.responseReceived2=e.register({fileName:`responseReceived2.mp3`})}static{this.responseReceived3=e.register({fileName:`responseReceived3.mp3`})}static{this.responseReceived4=e.register({fileName:`responseReceived4.mp3`})}static{this.clear=e.register({fileName:`clear.mp3`})}static{this.save=e.register({fileName:`save.mp3`})}static{this.format=e.register({fileName:`format.mp3`})}static{this.voiceRecordingStarted=e.register({fileName:`voiceRecordingStarted.mp3`})}static{this.voiceRecordingStopped=e.register({fileName:`voiceRecordingStopped.mp3`})}static{this.progress=e.register({fileName:`progress.mp3`})}static{this.chatEditModifiedFile=e.register({fileName:`chatEditModifiedFile.mp3`})}static{this.editsKept=e.register({fileName:`editsKept.mp3`})}static{this.editsUndone=e.register({fileName:`editsUndone.mp3`})}static{this.nextEditSuggestion=e.register({fileName:`nextEditSuggestion.mp3`})}static{this.terminalCommandSucceeded=e.register({fileName:`terminalCommandSucceeded.mp3`})}static{this.chatUserActionRequired=e.register({fileName:`chatUserActionRequired.mp3`})}static{this.codeActionTriggered=e.register({fileName:`codeActionTriggered.mp3`})}static{this.codeActionApplied=e.register({fileName:`codeActionApplied.mp3`})}constructor(e){this.fileName=e}},Cme=class{constructor(e){this.randomOneOf=e}},BT=class e{constructor(e,t,n,r,i,a,o=!1){this.sound=e,this.name=t,this.legacySoundSettingsKey=n,this.settingsKey=r,this.legacyAnnouncementSettingsKey=i,this.announcementMessage=a,this.managesOwnEnablement=o}static{this._signals=new Set}static register(t){let n=new Cme(`randomOneOf`in t.sound?t.sound.randomOneOf:[t.sound]),r=new e(n,t.name,t.legacySoundSettingsKey,t.settingsKey,t.legacyAnnouncementSettingsKey,t.announcementMessage,t.managesOwnEnablement);return e._signals.add(r),r}static{this.errorAtPosition=e.register({name:C(1576,`Error at Position`),sound:zT.error,announcementMessage:C(1577,`Error`),settingsKey:`accessibility.signals.positionHasError`,delaySettingsKey:`accessibility.signalOptions.delays.errorAtPosition`})}static{this.warningAtPosition=e.register({name:C(1578,`Warning at Position`),sound:zT.warning,announcementMessage:C(1579,`Warning`),settingsKey:`accessibility.signals.positionHasWarning`,delaySettingsKey:`accessibility.signalOptions.delays.warningAtPosition`})}static{this.errorOnLine=e.register({name:C(1580,`Error on Line`),sound:zT.error,legacySoundSettingsKey:`audioCues.lineHasError`,legacyAnnouncementSettingsKey:`accessibility.alert.error`,announcementMessage:C(1581,`Error on Line`),settingsKey:`accessibility.signals.lineHasError`})}static{this.warningOnLine=e.register({name:C(1582,`Warning on Line`),sound:zT.warning,legacySoundSettingsKey:`audioCues.lineHasWarning`,legacyAnnouncementSettingsKey:`accessibility.alert.warning`,announcementMessage:C(1583,`Warning on Line`),settingsKey:`accessibility.signals.lineHasWarning`})}static{this.foldedArea=e.register({name:C(1584,`Folded Area on Line`),sound:zT.foldedArea,legacySoundSettingsKey:`audioCues.lineHasFoldedArea`,legacyAnnouncementSettingsKey:`accessibility.alert.foldedArea`,announcementMessage:C(1585,`Folded`),settingsKey:`accessibility.signals.lineHasFoldedArea`})}static{this.break=e.register({name:C(1586,`Breakpoint on Line`),sound:zT.break,legacySoundSettingsKey:`audioCues.lineHasBreakpoint`,legacyAnnouncementSettingsKey:`accessibility.alert.breakpoint`,announcementMessage:C(1587,`Breakpoint`),settingsKey:`accessibility.signals.lineHasBreakpoint`})}static{this.inlineSuggestion=e.register({name:C(1588,`Inline Suggestion on Line`),sound:zT.quickFixes,legacySoundSettingsKey:`audioCues.lineHasInlineSuggestion`,settingsKey:`accessibility.signals.lineHasInlineSuggestion`})}static{this.nextEditSuggestion=e.register({name:C(1589,`Next Edit Suggestion on Line`),sound:zT.nextEditSuggestion,legacySoundSettingsKey:`audioCues.nextEditSuggestion`,settingsKey:`accessibility.signals.nextEditSuggestion`,announcementMessage:C(1590,`Next Edit Suggestion`)})}static{this.terminalQuickFix=e.register({name:C(1591,`Terminal Quick Fix`),sound:zT.quickFixes,legacySoundSettingsKey:`audioCues.terminalQuickFix`,legacyAnnouncementSettingsKey:`accessibility.alert.terminalQuickFix`,announcementMessage:C(1592,`Quick Fix`),settingsKey:`accessibility.signals.terminalQuickFix`})}static{this.onDebugBreak=e.register({name:C(1593,`Debugger Stopped on Breakpoint`),sound:zT.break,legacySoundSettingsKey:`audioCues.onDebugBreak`,legacyAnnouncementSettingsKey:`accessibility.alert.onDebugBreak`,announcementMessage:C(1594,`Breakpoint`),settingsKey:`accessibility.signals.onDebugBreak`})}static{this.noInlayHints=e.register({name:C(1595,`No Inlay Hints on Line`),sound:zT.error,legacySoundSettingsKey:`audioCues.noInlayHints`,legacyAnnouncementSettingsKey:`accessibility.alert.noInlayHints`,announcementMessage:C(1596,`No Inlay Hints`),settingsKey:`accessibility.signals.noInlayHints`})}static{this.taskCompleted=e.register({name:C(1597,`Task Completed`),sound:zT.taskCompleted,legacySoundSettingsKey:`audioCues.taskCompleted`,legacyAnnouncementSettingsKey:`accessibility.alert.taskCompleted`,announcementMessage:C(1598,`Task Completed`),settingsKey:`accessibility.signals.taskCompleted`})}static{this.taskFailed=e.register({name:C(1599,`Task Failed`),sound:zT.taskFailed,legacySoundSettingsKey:`audioCues.taskFailed`,legacyAnnouncementSettingsKey:`accessibility.alert.taskFailed`,announcementMessage:C(1600,`Task Failed`),settingsKey:`accessibility.signals.taskFailed`})}static{this.terminalCommandFailed=e.register({name:C(1601,`Terminal Command Failed`),sound:zT.error,legacySoundSettingsKey:`audioCues.terminalCommandFailed`,legacyAnnouncementSettingsKey:`accessibility.alert.terminalCommandFailed`,announcementMessage:C(1602,`Command Failed`),settingsKey:`accessibility.signals.terminalCommandFailed`})}static{this.terminalCommandSucceeded=e.register({name:C(1603,`Terminal Command Succeeded`),sound:zT.terminalCommandSucceeded,announcementMessage:C(1604,`Command Succeeded`),settingsKey:`accessibility.signals.terminalCommandSucceeded`})}static{this.terminalBell=e.register({name:C(1605,`Terminal Bell`),sound:zT.terminalBell,legacySoundSettingsKey:`audioCues.terminalBell`,legacyAnnouncementSettingsKey:`accessibility.alert.terminalBell`,announcementMessage:C(1606,`Terminal Bell`),settingsKey:`accessibility.signals.terminalBell`})}static{this.notebookCellCompleted=e.register({name:C(1607,`Notebook Cell Completed`),sound:zT.taskCompleted,legacySoundSettingsKey:`audioCues.notebookCellCompleted`,legacyAnnouncementSettingsKey:`accessibility.alert.notebookCellCompleted`,announcementMessage:C(1608,`Notebook Cell Completed`),settingsKey:`accessibility.signals.notebookCellCompleted`})}static{this.notebookCellFailed=e.register({name:C(1609,`Notebook Cell Failed`),sound:zT.taskFailed,legacySoundSettingsKey:`audioCues.notebookCellFailed`,legacyAnnouncementSettingsKey:`accessibility.alert.notebookCellFailed`,announcementMessage:C(1610,`Notebook Cell Failed`),settingsKey:`accessibility.signals.notebookCellFailed`})}static{this.diffLineInserted=e.register({name:C(1611,`Diff Line Inserted`),sound:zT.diffLineInserted,legacySoundSettingsKey:`audioCues.diffLineInserted`,settingsKey:`accessibility.signals.diffLineInserted`})}static{this.diffLineDeleted=e.register({name:C(1612,`Diff Line Deleted`),sound:zT.diffLineDeleted,legacySoundSettingsKey:`audioCues.diffLineDeleted`,settingsKey:`accessibility.signals.diffLineDeleted`})}static{this.diffLineModified=e.register({name:C(1613,`Diff Line Modified`),sound:zT.diffLineModified,legacySoundSettingsKey:`audioCues.diffLineModified`,settingsKey:`accessibility.signals.diffLineModified`})}static{this.chatEditModifiedFile=e.register({name:C(1614,`Chat Edit Modified File`),sound:zT.chatEditModifiedFile,announcementMessage:C(1615,`File Modified from Chat Edits`),settingsKey:`accessibility.signals.chatEditModifiedFile`})}static{this.chatRequestSent=e.register({name:C(1616,`Chat Request Sent`),sound:zT.requestSent,legacySoundSettingsKey:`audioCues.chatRequestSent`,legacyAnnouncementSettingsKey:`accessibility.alert.chatRequestSent`,announcementMessage:C(1617,`Chat Request Sent`),settingsKey:`accessibility.signals.chatRequestSent`})}static{this.chatResponseReceived=e.register({name:C(1618,`Chat Response Received`),legacySoundSettingsKey:`audioCues.chatResponseReceived`,sound:{randomOneOf:[zT.responseReceived1,zT.responseReceived2,zT.responseReceived3,zT.responseReceived4]},settingsKey:`accessibility.signals.chatResponseReceived`})}static{this.codeActionTriggered=e.register({name:C(1619,`Code Action Request Triggered`),sound:zT.codeActionTriggered,legacySoundSettingsKey:`audioCues.codeActionRequestTriggered`,legacyAnnouncementSettingsKey:`accessibility.alert.codeActionRequestTriggered`,announcementMessage:C(1620,`Code Action Request Triggered`),settingsKey:`accessibility.signals.codeActionTriggered`})}static{this.codeActionApplied=e.register({name:C(1621,`Code Action Applied`),legacySoundSettingsKey:`audioCues.codeActionApplied`,sound:zT.codeActionApplied,settingsKey:`accessibility.signals.codeActionApplied`})}static{this.progress=e.register({name:C(1622,`Progress`),sound:zT.progress,legacySoundSettingsKey:`audioCues.chatResponsePending`,legacyAnnouncementSettingsKey:`accessibility.alert.progress`,announcementMessage:C(1623,`Progress`),settingsKey:`accessibility.signals.progress`})}static{this.clear=e.register({name:C(1624,`Clear`),sound:zT.clear,legacySoundSettingsKey:`audioCues.clear`,legacyAnnouncementSettingsKey:`accessibility.alert.clear`,announcementMessage:C(1625,`Clear`),settingsKey:`accessibility.signals.clear`})}static{this.save=e.register({name:C(1626,`Save`),sound:zT.save,legacySoundSettingsKey:`audioCues.save`,legacyAnnouncementSettingsKey:`accessibility.alert.save`,announcementMessage:C(1627,`Save`),settingsKey:`accessibility.signals.save`})}static{this.format=e.register({name:C(1628,`Format`),sound:zT.format,legacySoundSettingsKey:`audioCues.format`,legacyAnnouncementSettingsKey:`accessibility.alert.format`,announcementMessage:C(1629,`Format`),settingsKey:`accessibility.signals.format`})}static{this.voiceRecordingStarted=e.register({name:C(1630,`Voice Recording Started`),sound:zT.voiceRecordingStarted,legacySoundSettingsKey:`audioCues.voiceRecordingStarted`,settingsKey:`accessibility.signals.voiceRecordingStarted`})}static{this.voiceRecordingStopped=e.register({name:C(1631,`Voice Recording Stopped`),sound:zT.voiceRecordingStopped,legacySoundSettingsKey:`audioCues.voiceRecordingStopped`,settingsKey:`accessibility.signals.voiceRecordingStopped`})}static{this.editsKept=e.register({name:C(1632,`Edits Kept`),sound:zT.editsKept,announcementMessage:C(1633,`Edits Kept`),settingsKey:`accessibility.signals.editsKept`})}static{this.editsUndone=e.register({name:C(1634,`Undo Edits`),sound:zT.editsUndone,announcementMessage:C(1635,`Edits Undone`),settingsKey:`accessibility.signals.editsUndone`})}static{this.chatUserActionRequired=e.register({name:C(1636,`Chat User Action Required`),sound:zT.chatUserActionRequired,announcementMessage:C(1637,`Chat User Action Required`),settingsKey:`accessibility.signals.chatUserActionRequired`,managesOwnEnablement:!0})}};function VT(e,t,n,r=eo.ofCaller()){return Ro({debugName:()=>`Configuration Key "${e}"`},t=>n.onDidChangeConfiguration(n=>{n.affectsConfiguration(e)&&t(n)}),()=>n.getValue(e)??t,r)}function HT(e,t,n,r=eo.ofCaller()){let i=e.bindTo(t),a=new E;return Co({debugName:()=>`Set Context Key "${e.key}"`},e=>{let t=n(e);return i.set(t),t},r).recomputeInitiallyAndOnChange(a),a}var UT=yc(`progressService`),WT=class{static{this.None=Object.freeze({report(){}})}constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}},GT=yc(`editorProgressService`),KT=class e{static capture(t){if(t.getScrollTop()===0||t.hasPendingScrollAnimation())return new e(t.getScrollTop(),t.getContentHeight(),null,0,null);let n=null,r=0,i=t.getVisibleRanges();if(i.length>0){n=i[0].getStartPosition();let e=t.getTopForPosition(n.lineNumber,n.column);r=t.getScrollTop()-e}return new e(t.getScrollTop(),t.getContentHeight(),n,r,t.getPosition())}constructor(e,t,n,r,i){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=n,this._visiblePositionScrollDelta=r,this._cursorPosition=i}restore(e){if((this._initialContentHeight!==e.getContentHeight()||this._initialScrollTop!==e.getScrollTop())&&this._visiblePosition){let t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;let t=e.getPosition();if(!this._cursorPosition||!t)return;let n=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+n,1)}},qT={RESOURCES:`ResourceURLs`,TEXT:Hd.text,INTERNAL_URI_LIST:`application/vnd.code.uri-list`},JT=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}}),wme=new Dr(()=>JT(`mouse`,!1)),Tme=new Dr(()=>JT(`element`,!1));function Eme(e){JT=e}function YT(e){return e===`element`?Tme.value:wme.value}function XT(){return JT(`element`,!0)}function ZT(e){return e}function QT(e,t){if(e!==void 0){let n=e.match(/^\s*var\((.+)\)$/);if(n){let e=n[1].split(`,`,2);return e.length===2&&(t=QT(e[1].trim(),t)),`var(${e[0]}, ${t})`}return e}return t}function $T(e){let t=e.replaceAll(/[^_\-a-z0-9]/gi,``);return t!==e&&console.warn(`CSS ident value ${e} modified to ${t} to be safe for CSS`),ZT(t)}function eE(e){return ZT(`'${e.replaceAll(/'/g,`\\000027`)}'`)}function tE(e){return e?rE`url('${ZT(CSS.escape(ra.uriToBrowserUri(e).toString(!0)))}')`:ZT(`url('')`)}function nE(e,t=!1){let n=CSS.escape(e);return!t&&n!==e&&console.warn(`CSS class name ${e} modified to ${n} to be safe for CSS`),ZT(n)}function rE(e,...t){return ZT(e.reduce((e,n,r)=>{let i=t[r]||``;return e+n+i},``))}var iE=class{constructor(){this._parts=[]}push(...e){this._parts.push(...e)}join(e=`
@@ -441,7 +441,7 @@ It is recommended to remove them from the file. This can be configured via \`edi
441
441
  `),this._updateCSS(),My.setColorMap(i),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}};H(class extends B{constructor(){super({id:`editor.action.toggleHighContrast`,label:h$.toggleHighContrast,alias:`Toggle High Contrast Theme`,precondition:void 0}),this._originalThemeName=null}run(e,t){let n=e.get(v$),r=n.getColorTheme();Xg(r.type)?(n.setTheme(this._originalThemeName||(Zg(r.type)?`vs-dark`:`vs`)),this._originalThemeName=null):(n.setTheme(Zg(r.type)?u1:d1),this._originalThemeName=r.themeName)}});var _1;(function(e){e[e.Unknown=0]=`Unknown`,e[e.Disabled=1]=`Disabled`,e[e.Enabled=2]=`Enabled`})(_1||={});var v1;(function(e){e[e.Invoke=1]=`Invoke`,e[e.Auto=2]=`Auto`})(v1||={});var y1;(function(e){e[e.None=0]=`None`,e[e.KeepWhitespace=1]=`KeepWhitespace`,e[e.InsertAsSnippet=4]=`InsertAsSnippet`})(y1||={});var b1;(function(e){e[e.Method=0]=`Method`,e[e.Function=1]=`Function`,e[e.Constructor=2]=`Constructor`,e[e.Field=3]=`Field`,e[e.Variable=4]=`Variable`,e[e.Class=5]=`Class`,e[e.Struct=6]=`Struct`,e[e.Interface=7]=`Interface`,e[e.Module=8]=`Module`,e[e.Property=9]=`Property`,e[e.Event=10]=`Event`,e[e.Operator=11]=`Operator`,e[e.Unit=12]=`Unit`,e[e.Value=13]=`Value`,e[e.Constant=14]=`Constant`,e[e.Enum=15]=`Enum`,e[e.EnumMember=16]=`EnumMember`,e[e.Keyword=17]=`Keyword`,e[e.Text=18]=`Text`,e[e.Color=19]=`Color`,e[e.File=20]=`File`,e[e.Reference=21]=`Reference`,e[e.Customcolor=22]=`Customcolor`,e[e.Folder=23]=`Folder`,e[e.TypeParameter=24]=`TypeParameter`,e[e.User=25]=`User`,e[e.Issue=26]=`Issue`,e[e.Tool=27]=`Tool`,e[e.Snippet=28]=`Snippet`})(b1||={});var x1;(function(e){e[e.Deprecated=1]=`Deprecated`})(x1||={});var S1;(function(e){e[e.Invoke=0]=`Invoke`,e[e.TriggerCharacter=1]=`TriggerCharacter`,e[e.TriggerForIncompleteCompletions=2]=`TriggerForIncompleteCompletions`})(S1||={});var C1;(function(e){e[e.EXACT=0]=`EXACT`,e[e.ABOVE=1]=`ABOVE`,e[e.BELOW=2]=`BELOW`})(C1||={});var w1;(function(e){e[e.NotSet=0]=`NotSet`,e[e.ContentFlush=1]=`ContentFlush`,e[e.RecoverFromMarkers=2]=`RecoverFromMarkers`,e[e.Explicit=3]=`Explicit`,e[e.Paste=4]=`Paste`,e[e.Undo=5]=`Undo`,e[e.Redo=6]=`Redo`})(w1||={});var T1;(function(e){e[e.LF=1]=`LF`,e[e.CRLF=2]=`CRLF`})(T1||={});var E1;(function(e){e[e.Text=0]=`Text`,e[e.Read=1]=`Read`,e[e.Write=2]=`Write`})(E1||={});var D1;(function(e){e[e.None=0]=`None`,e[e.Keep=1]=`Keep`,e[e.Brackets=2]=`Brackets`,e[e.Advanced=3]=`Advanced`,e[e.Full=4]=`Full`})(D1||={});var O1;(function(e){e[e.acceptSuggestionOnCommitCharacter=0]=`acceptSuggestionOnCommitCharacter`,e[e.acceptSuggestionOnEnter=1]=`acceptSuggestionOnEnter`,e[e.accessibilitySupport=2]=`accessibilitySupport`,e[e.accessibilityPageSize=3]=`accessibilityPageSize`,e[e.allowOverflow=4]=`allowOverflow`,e[e.allowVariableLineHeights=5]=`allowVariableLineHeights`,e[e.allowVariableFonts=6]=`allowVariableFonts`,e[e.allowVariableFontsInAccessibilityMode=7]=`allowVariableFontsInAccessibilityMode`,e[e.ariaLabel=8]=`ariaLabel`,e[e.ariaRequired=9]=`ariaRequired`,e[e.autoClosingBrackets=10]=`autoClosingBrackets`,e[e.autoClosingComments=11]=`autoClosingComments`,e[e.screenReaderAnnounceInlineSuggestion=12]=`screenReaderAnnounceInlineSuggestion`,e[e.autoClosingDelete=13]=`autoClosingDelete`,e[e.autoClosingOvertype=14]=`autoClosingOvertype`,e[e.autoClosingQuotes=15]=`autoClosingQuotes`,e[e.autoIndent=16]=`autoIndent`,e[e.autoIndentOnPaste=17]=`autoIndentOnPaste`,e[e.autoIndentOnPasteWithinString=18]=`autoIndentOnPasteWithinString`,e[e.automaticLayout=19]=`automaticLayout`,e[e.autoSurround=20]=`autoSurround`,e[e.bracketPairColorization=21]=`bracketPairColorization`,e[e.guides=22]=`guides`,e[e.codeLens=23]=`codeLens`,e[e.codeLensFontFamily=24]=`codeLensFontFamily`,e[e.codeLensFontSize=25]=`codeLensFontSize`,e[e.colorDecorators=26]=`colorDecorators`,e[e.colorDecoratorsLimit=27]=`colorDecoratorsLimit`,e[e.columnSelection=28]=`columnSelection`,e[e.comments=29]=`comments`,e[e.contextmenu=30]=`contextmenu`,e[e.copyWithSyntaxHighlighting=31]=`copyWithSyntaxHighlighting`,e[e.cursorBlinking=32]=`cursorBlinking`,e[e.cursorSmoothCaretAnimation=33]=`cursorSmoothCaretAnimation`,e[e.cursorStyle=34]=`cursorStyle`,e[e.cursorSurroundingLines=35]=`cursorSurroundingLines`,e[e.cursorSurroundingLinesStyle=36]=`cursorSurroundingLinesStyle`,e[e.cursorWidth=37]=`cursorWidth`,e[e.cursorHeight=38]=`cursorHeight`,e[e.disableLayerHinting=39]=`disableLayerHinting`,e[e.disableMonospaceOptimizations=40]=`disableMonospaceOptimizations`,e[e.domReadOnly=41]=`domReadOnly`,e[e.dragAndDrop=42]=`dragAndDrop`,e[e.dropIntoEditor=43]=`dropIntoEditor`,e[e.editContext=44]=`editContext`,e[e.emptySelectionClipboard=45]=`emptySelectionClipboard`,e[e.experimentalGpuAcceleration=46]=`experimentalGpuAcceleration`,e[e.experimentalWhitespaceRendering=47]=`experimentalWhitespaceRendering`,e[e.extraEditorClassName=48]=`extraEditorClassName`,e[e.fastScrollSensitivity=49]=`fastScrollSensitivity`,e[e.find=50]=`find`,e[e.fixedOverflowWidgets=51]=`fixedOverflowWidgets`,e[e.folding=52]=`folding`,e[e.foldingStrategy=53]=`foldingStrategy`,e[e.foldingHighlight=54]=`foldingHighlight`,e[e.foldingImportsByDefault=55]=`foldingImportsByDefault`,e[e.foldingMaximumRegions=56]=`foldingMaximumRegions`,e[e.unfoldOnClickAfterEndOfLine=57]=`unfoldOnClickAfterEndOfLine`,e[e.fontFamily=58]=`fontFamily`,e[e.fontInfo=59]=`fontInfo`,e[e.fontLigatures=60]=`fontLigatures`,e[e.fontSize=61]=`fontSize`,e[e.fontWeight=62]=`fontWeight`,e[e.fontVariations=63]=`fontVariations`,e[e.formatOnPaste=64]=`formatOnPaste`,e[e.formatOnType=65]=`formatOnType`,e[e.glyphMargin=66]=`glyphMargin`,e[e.gotoLocation=67]=`gotoLocation`,e[e.hideCursorInOverviewRuler=68]=`hideCursorInOverviewRuler`,e[e.hover=69]=`hover`,e[e.inDiffEditor=70]=`inDiffEditor`,e[e.inlineSuggest=71]=`inlineSuggest`,e[e.letterSpacing=72]=`letterSpacing`,e[e.lightbulb=73]=`lightbulb`,e[e.lineDecorationsWidth=74]=`lineDecorationsWidth`,e[e.lineHeight=75]=`lineHeight`,e[e.lineNumbers=76]=`lineNumbers`,e[e.lineNumbersMinChars=77]=`lineNumbersMinChars`,e[e.linkedEditing=78]=`linkedEditing`,e[e.links=79]=`links`,e[e.matchBrackets=80]=`matchBrackets`,e[e.minimap=81]=`minimap`,e[e.mouseStyle=82]=`mouseStyle`,e[e.mouseWheelScrollSensitivity=83]=`mouseWheelScrollSensitivity`,e[e.mouseWheelZoom=84]=`mouseWheelZoom`,e[e.multiCursorMergeOverlapping=85]=`multiCursorMergeOverlapping`,e[e.multiCursorModifier=86]=`multiCursorModifier`,e[e.mouseMiddleClickAction=87]=`mouseMiddleClickAction`,e[e.multiCursorPaste=88]=`multiCursorPaste`,e[e.multiCursorLimit=89]=`multiCursorLimit`,e[e.occurrencesHighlight=90]=`occurrencesHighlight`,e[e.occurrencesHighlightDelay=91]=`occurrencesHighlightDelay`,e[e.overtypeCursorStyle=92]=`overtypeCursorStyle`,e[e.overtypeOnPaste=93]=`overtypeOnPaste`,e[e.overviewRulerBorder=94]=`overviewRulerBorder`,e[e.overviewRulerLanes=95]=`overviewRulerLanes`,e[e.padding=96]=`padding`,e[e.pasteAs=97]=`pasteAs`,e[e.parameterHints=98]=`parameterHints`,e[e.peekWidgetDefaultFocus=99]=`peekWidgetDefaultFocus`,e[e.placeholder=100]=`placeholder`,e[e.definitionLinkOpensInPeek=101]=`definitionLinkOpensInPeek`,e[e.quickSuggestions=102]=`quickSuggestions`,e[e.quickSuggestionsDelay=103]=`quickSuggestionsDelay`,e[e.readOnly=104]=`readOnly`,e[e.readOnlyMessage=105]=`readOnlyMessage`,e[e.renameOnType=106]=`renameOnType`,e[e.renderRichScreenReaderContent=107]=`renderRichScreenReaderContent`,e[e.renderControlCharacters=108]=`renderControlCharacters`,e[e.renderFinalNewline=109]=`renderFinalNewline`,e[e.renderLineHighlight=110]=`renderLineHighlight`,e[e.renderLineHighlightOnlyWhenFocus=111]=`renderLineHighlightOnlyWhenFocus`,e[e.renderValidationDecorations=112]=`renderValidationDecorations`,e[e.renderWhitespace=113]=`renderWhitespace`,e[e.revealHorizontalRightPadding=114]=`revealHorizontalRightPadding`,e[e.roundedSelection=115]=`roundedSelection`,e[e.rulers=116]=`rulers`,e[e.scrollbar=117]=`scrollbar`,e[e.scrollBeyondLastColumn=118]=`scrollBeyondLastColumn`,e[e.scrollBeyondLastLine=119]=`scrollBeyondLastLine`,e[e.scrollPredominantAxis=120]=`scrollPredominantAxis`,e[e.selectionClipboard=121]=`selectionClipboard`,e[e.selectionHighlight=122]=`selectionHighlight`,e[e.selectionHighlightMaxLength=123]=`selectionHighlightMaxLength`,e[e.selectionHighlightMultiline=124]=`selectionHighlightMultiline`,e[e.selectOnLineNumbers=125]=`selectOnLineNumbers`,e[e.showFoldingControls=126]=`showFoldingControls`,e[e.showUnused=127]=`showUnused`,e[e.snippetSuggestions=128]=`snippetSuggestions`,e[e.smartSelect=129]=`smartSelect`,e[e.smoothScrolling=130]=`smoothScrolling`,e[e.stickyScroll=131]=`stickyScroll`,e[e.stickyTabStops=132]=`stickyTabStops`,e[e.stopRenderingLineAfter=133]=`stopRenderingLineAfter`,e[e.suggest=134]=`suggest`,e[e.suggestFontSize=135]=`suggestFontSize`,e[e.suggestLineHeight=136]=`suggestLineHeight`,e[e.suggestOnTriggerCharacters=137]=`suggestOnTriggerCharacters`,e[e.suggestSelection=138]=`suggestSelection`,e[e.tabCompletion=139]=`tabCompletion`,e[e.tabIndex=140]=`tabIndex`,e[e.trimWhitespaceOnDelete=141]=`trimWhitespaceOnDelete`,e[e.unicodeHighlighting=142]=`unicodeHighlighting`,e[e.unusualLineTerminators=143]=`unusualLineTerminators`,e[e.useShadowDOM=144]=`useShadowDOM`,e[e.useTabStops=145]=`useTabStops`,e[e.wordBreak=146]=`wordBreak`,e[e.wordSegmenterLocales=147]=`wordSegmenterLocales`,e[e.wordSeparators=148]=`wordSeparators`,e[e.wordWrap=149]=`wordWrap`,e[e.wordWrapBreakAfterCharacters=150]=`wordWrapBreakAfterCharacters`,e[e.wordWrapBreakBeforeCharacters=151]=`wordWrapBreakBeforeCharacters`,e[e.wordWrapColumn=152]=`wordWrapColumn`,e[e.wordWrapOverride1=153]=`wordWrapOverride1`,e[e.wordWrapOverride2=154]=`wordWrapOverride2`,e[e.wrappingIndent=155]=`wrappingIndent`,e[e.wrappingStrategy=156]=`wrappingStrategy`,e[e.showDeprecated=157]=`showDeprecated`,e[e.inertialScroll=158]=`inertialScroll`,e[e.inlayHints=159]=`inlayHints`,e[e.wrapOnEscapedLineFeeds=160]=`wrapOnEscapedLineFeeds`,e[e.effectiveCursorStyle=161]=`effectiveCursorStyle`,e[e.editorClassName=162]=`editorClassName`,e[e.pixelRatio=163]=`pixelRatio`,e[e.tabFocusMode=164]=`tabFocusMode`,e[e.layoutInfo=165]=`layoutInfo`,e[e.wrappingInfo=166]=`wrappingInfo`,e[e.defaultColorDecorators=167]=`defaultColorDecorators`,e[e.colorDecoratorsActivatedOn=168]=`colorDecoratorsActivatedOn`,e[e.inlineCompletionsAccessibilityVerbose=169]=`inlineCompletionsAccessibilityVerbose`,e[e.effectiveEditContext=170]=`effectiveEditContext`,e[e.scrollOnMiddleClick=171]=`scrollOnMiddleClick`,e[e.effectiveAllowVariableFonts=172]=`effectiveAllowVariableFonts`})(O1||={});var k1;(function(e){e[e.TextDefined=0]=`TextDefined`,e[e.LF=1]=`LF`,e[e.CRLF=2]=`CRLF`})(k1||={});var A1;(function(e){e[e.LF=0]=`LF`,e[e.CRLF=1]=`CRLF`})(A1||={});var j1;(function(e){e[e.Left=1]=`Left`,e[e.Center=2]=`Center`,e[e.Right=3]=`Right`})(j1||={});var M1;(function(e){e[e.Increase=0]=`Increase`,e[e.Decrease=1]=`Decrease`})(M1||={});var N1;(function(e){e[e.None=0]=`None`,e[e.Indent=1]=`Indent`,e[e.IndentOutdent=2]=`IndentOutdent`,e[e.Outdent=3]=`Outdent`})(N1||={});var P1;(function(e){e[e.Both=0]=`Both`,e[e.Right=1]=`Right`,e[e.Left=2]=`Left`,e[e.None=3]=`None`})(P1||={});var F1;(function(e){e[e.Type=1]=`Type`,e[e.Parameter=2]=`Parameter`})(F1||={});var I1;(function(e){e[e.Accepted=0]=`Accepted`,e[e.Rejected=1]=`Rejected`,e[e.Ignored=2]=`Ignored`})(I1||={});var L1;(function(e){e[e.Code=1]=`Code`,e[e.Label=2]=`Label`})(L1||={});var R1;(function(e){e[e.Automatic=0]=`Automatic`,e[e.Explicit=1]=`Explicit`})(R1||={});var z1;(function(e){e[e.DependsOnKbLayout=-1]=`DependsOnKbLayout`,e[e.Unknown=0]=`Unknown`,e[e.Backspace=1]=`Backspace`,e[e.Tab=2]=`Tab`,e[e.Enter=3]=`Enter`,e[e.Shift=4]=`Shift`,e[e.Ctrl=5]=`Ctrl`,e[e.Alt=6]=`Alt`,e[e.PauseBreak=7]=`PauseBreak`,e[e.CapsLock=8]=`CapsLock`,e[e.Escape=9]=`Escape`,e[e.Space=10]=`Space`,e[e.PageUp=11]=`PageUp`,e[e.PageDown=12]=`PageDown`,e[e.End=13]=`End`,e[e.Home=14]=`Home`,e[e.LeftArrow=15]=`LeftArrow`,e[e.UpArrow=16]=`UpArrow`,e[e.RightArrow=17]=`RightArrow`,e[e.DownArrow=18]=`DownArrow`,e[e.Insert=19]=`Insert`,e[e.Delete=20]=`Delete`,e[e.Digit0=21]=`Digit0`,e[e.Digit1=22]=`Digit1`,e[e.Digit2=23]=`Digit2`,e[e.Digit3=24]=`Digit3`,e[e.Digit4=25]=`Digit4`,e[e.Digit5=26]=`Digit5`,e[e.Digit6=27]=`Digit6`,e[e.Digit7=28]=`Digit7`,e[e.Digit8=29]=`Digit8`,e[e.Digit9=30]=`Digit9`,e[e.KeyA=31]=`KeyA`,e[e.KeyB=32]=`KeyB`,e[e.KeyC=33]=`KeyC`,e[e.KeyD=34]=`KeyD`,e[e.KeyE=35]=`KeyE`,e[e.KeyF=36]=`KeyF`,e[e.KeyG=37]=`KeyG`,e[e.KeyH=38]=`KeyH`,e[e.KeyI=39]=`KeyI`,e[e.KeyJ=40]=`KeyJ`,e[e.KeyK=41]=`KeyK`,e[e.KeyL=42]=`KeyL`,e[e.KeyM=43]=`KeyM`,e[e.KeyN=44]=`KeyN`,e[e.KeyO=45]=`KeyO`,e[e.KeyP=46]=`KeyP`,e[e.KeyQ=47]=`KeyQ`,e[e.KeyR=48]=`KeyR`,e[e.KeyS=49]=`KeyS`,e[e.KeyT=50]=`KeyT`,e[e.KeyU=51]=`KeyU`,e[e.KeyV=52]=`KeyV`,e[e.KeyW=53]=`KeyW`,e[e.KeyX=54]=`KeyX`,e[e.KeyY=55]=`KeyY`,e[e.KeyZ=56]=`KeyZ`,e[e.Meta=57]=`Meta`,e[e.ContextMenu=58]=`ContextMenu`,e[e.F1=59]=`F1`,e[e.F2=60]=`F2`,e[e.F3=61]=`F3`,e[e.F4=62]=`F4`,e[e.F5=63]=`F5`,e[e.F6=64]=`F6`,e[e.F7=65]=`F7`,e[e.F8=66]=`F8`,e[e.F9=67]=`F9`,e[e.F10=68]=`F10`,e[e.F11=69]=`F11`,e[e.F12=70]=`F12`,e[e.F13=71]=`F13`,e[e.F14=72]=`F14`,e[e.F15=73]=`F15`,e[e.F16=74]=`F16`,e[e.F17=75]=`F17`,e[e.F18=76]=`F18`,e[e.F19=77]=`F19`,e[e.F20=78]=`F20`,e[e.F21=79]=`F21`,e[e.F22=80]=`F22`,e[e.F23=81]=`F23`,e[e.F24=82]=`F24`,e[e.NumLock=83]=`NumLock`,e[e.ScrollLock=84]=`ScrollLock`,e[e.Semicolon=85]=`Semicolon`,e[e.Equal=86]=`Equal`,e[e.Comma=87]=`Comma`,e[e.Minus=88]=`Minus`,e[e.Period=89]=`Period`,e[e.Slash=90]=`Slash`,e[e.Backquote=91]=`Backquote`,e[e.BracketLeft=92]=`BracketLeft`,e[e.Backslash=93]=`Backslash`,e[e.BracketRight=94]=`BracketRight`,e[e.Quote=95]=`Quote`,e[e.OEM_8=96]=`OEM_8`,e[e.IntlBackslash=97]=`IntlBackslash`,e[e.Numpad0=98]=`Numpad0`,e[e.Numpad1=99]=`Numpad1`,e[e.Numpad2=100]=`Numpad2`,e[e.Numpad3=101]=`Numpad3`,e[e.Numpad4=102]=`Numpad4`,e[e.Numpad5=103]=`Numpad5`,e[e.Numpad6=104]=`Numpad6`,e[e.Numpad7=105]=`Numpad7`,e[e.Numpad8=106]=`Numpad8`,e[e.Numpad9=107]=`Numpad9`,e[e.NumpadMultiply=108]=`NumpadMultiply`,e[e.NumpadAdd=109]=`NumpadAdd`,e[e.NUMPAD_SEPARATOR=110]=`NUMPAD_SEPARATOR`,e[e.NumpadSubtract=111]=`NumpadSubtract`,e[e.NumpadDecimal=112]=`NumpadDecimal`,e[e.NumpadDivide=113]=`NumpadDivide`,e[e.KEY_IN_COMPOSITION=114]=`KEY_IN_COMPOSITION`,e[e.ABNT_C1=115]=`ABNT_C1`,e[e.ABNT_C2=116]=`ABNT_C2`,e[e.AudioVolumeMute=117]=`AudioVolumeMute`,e[e.AudioVolumeUp=118]=`AudioVolumeUp`,e[e.AudioVolumeDown=119]=`AudioVolumeDown`,e[e.BrowserSearch=120]=`BrowserSearch`,e[e.BrowserHome=121]=`BrowserHome`,e[e.BrowserBack=122]=`BrowserBack`,e[e.BrowserForward=123]=`BrowserForward`,e[e.MediaTrackNext=124]=`MediaTrackNext`,e[e.MediaTrackPrevious=125]=`MediaTrackPrevious`,e[e.MediaStop=126]=`MediaStop`,e[e.MediaPlayPause=127]=`MediaPlayPause`,e[e.LaunchMediaPlayer=128]=`LaunchMediaPlayer`,e[e.LaunchMail=129]=`LaunchMail`,e[e.LaunchApp2=130]=`LaunchApp2`,e[e.Clear=131]=`Clear`,e[e.MAX_VALUE=132]=`MAX_VALUE`})(z1||={});var B1;(function(e){e[e.Hint=1]=`Hint`,e[e.Info=2]=`Info`,e[e.Warning=4]=`Warning`,e[e.Error=8]=`Error`})(B1||={});var V1;(function(e){e[e.Unnecessary=1]=`Unnecessary`,e[e.Deprecated=2]=`Deprecated`})(V1||={});var H1;(function(e){e[e.Inline=1]=`Inline`,e[e.Gutter=2]=`Gutter`})(H1||={});var U1;(function(e){e[e.Normal=1]=`Normal`,e[e.Underlined=2]=`Underlined`})(U1||={});var W1;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.TEXTAREA=1]=`TEXTAREA`,e[e.GUTTER_GLYPH_MARGIN=2]=`GUTTER_GLYPH_MARGIN`,e[e.GUTTER_LINE_NUMBERS=3]=`GUTTER_LINE_NUMBERS`,e[e.GUTTER_LINE_DECORATIONS=4]=`GUTTER_LINE_DECORATIONS`,e[e.GUTTER_VIEW_ZONE=5]=`GUTTER_VIEW_ZONE`,e[e.CONTENT_TEXT=6]=`CONTENT_TEXT`,e[e.CONTENT_EMPTY=7]=`CONTENT_EMPTY`,e[e.CONTENT_VIEW_ZONE=8]=`CONTENT_VIEW_ZONE`,e[e.CONTENT_WIDGET=9]=`CONTENT_WIDGET`,e[e.OVERVIEW_RULER=10]=`OVERVIEW_RULER`,e[e.SCROLLBAR=11]=`SCROLLBAR`,e[e.OVERLAY_WIDGET=12]=`OVERLAY_WIDGET`,e[e.OUTSIDE_EDITOR=13]=`OUTSIDE_EDITOR`})(W1||={});var G1;(function(e){e[e.AIGenerated=1]=`AIGenerated`})(G1||={});var K1;(function(e){e[e.Invoke=0]=`Invoke`,e[e.Automatic=1]=`Automatic`})(K1||={});var q1;(function(e){e[e.TOP_RIGHT_CORNER=0]=`TOP_RIGHT_CORNER`,e[e.BOTTOM_RIGHT_CORNER=1]=`BOTTOM_RIGHT_CORNER`,e[e.TOP_CENTER=2]=`TOP_CENTER`})(q1||={});var J1;(function(e){e[e.Left=1]=`Left`,e[e.Center=2]=`Center`,e[e.Right=4]=`Right`,e[e.Full=7]=`Full`})(J1||={});var Y1;(function(e){e[e.Word=0]=`Word`,e[e.Line=1]=`Line`,e[e.Suggest=2]=`Suggest`})(Y1||={});var X1;(function(e){e[e.Left=0]=`Left`,e[e.Right=1]=`Right`,e[e.None=2]=`None`,e[e.LeftOfInjectedText=3]=`LeftOfInjectedText`,e[e.RightOfInjectedText=4]=`RightOfInjectedText`})(X1||={});var Z1;(function(e){e[e.Off=0]=`Off`,e[e.On=1]=`On`,e[e.Relative=2]=`Relative`,e[e.Interval=3]=`Interval`,e[e.Custom=4]=`Custom`})(Z1||={});var Q1;(function(e){e[e.None=0]=`None`,e[e.Text=1]=`Text`,e[e.Blocks=2]=`Blocks`})(Q1||={});var $1;(function(e){e[e.Smooth=0]=`Smooth`,e[e.Immediate=1]=`Immediate`})($1||={});var e0;(function(e){e[e.Auto=1]=`Auto`,e[e.Hidden=2]=`Hidden`,e[e.Visible=3]=`Visible`})(e0||={});var t0;(function(e){e[e.LTR=0]=`LTR`,e[e.RTL=1]=`RTL`})(t0||={});var n0;(function(e){e.Off=`off`,e.OnCode=`onCode`,e.On=`on`})(n0||={});var r0;(function(e){e[e.Invoke=1]=`Invoke`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.ContentChange=3]=`ContentChange`})(r0||={});var i0;(function(e){e[e.File=0]=`File`,e[e.Module=1]=`Module`,e[e.Namespace=2]=`Namespace`,e[e.Package=3]=`Package`,e[e.Class=4]=`Class`,e[e.Method=5]=`Method`,e[e.Property=6]=`Property`,e[e.Field=7]=`Field`,e[e.Constructor=8]=`Constructor`,e[e.Enum=9]=`Enum`,e[e.Interface=10]=`Interface`,e[e.Function=11]=`Function`,e[e.Variable=12]=`Variable`,e[e.Constant=13]=`Constant`,e[e.String=14]=`String`,e[e.Number=15]=`Number`,e[e.Boolean=16]=`Boolean`,e[e.Array=17]=`Array`,e[e.Object=18]=`Object`,e[e.Key=19]=`Key`,e[e.Null=20]=`Null`,e[e.EnumMember=21]=`EnumMember`,e[e.Struct=22]=`Struct`,e[e.Event=23]=`Event`,e[e.Operator=24]=`Operator`,e[e.TypeParameter=25]=`TypeParameter`})(i0||={});var a0;(function(e){e[e.Deprecated=1]=`Deprecated`})(a0||={});var o0;(function(e){e[e.LTR=0]=`LTR`,e[e.RTL=1]=`RTL`})(o0||={});var s0;(function(e){e[e.Hidden=0]=`Hidden`,e[e.Blink=1]=`Blink`,e[e.Smooth=2]=`Smooth`,e[e.Phase=3]=`Phase`,e[e.Expand=4]=`Expand`,e[e.Solid=5]=`Solid`})(s0||={});var c0;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(c0||={});var l0;(function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]=`AlwaysGrowsWhenTypingAtEdges`,e[e.NeverGrowsWhenTypingAtEdges=1]=`NeverGrowsWhenTypingAtEdges`,e[e.GrowsOnlyWhenTypingBefore=2]=`GrowsOnlyWhenTypingBefore`,e[e.GrowsOnlyWhenTypingAfter=3]=`GrowsOnlyWhenTypingAfter`})(l0||={});var u0;(function(e){e[e.None=0]=`None`,e[e.Same=1]=`Same`,e[e.Indent=2]=`Indent`,e[e.DeepIndent=3]=`DeepIndent`})(u0||={});var uPe=class{static{this.CtrlCmd=2048}static{this.Shift=1024}static{this.Alt=512}static{this.WinCtrl=256}static chord(e,t){return wn(e,t)}};function d0(){return{editor:void 0,languages:void 0,CancellationTokenSource:nr,Emitter:k,KeyCode:z1,KeyMod:uPe,Position:F,Range:U,Selection:W,SelectionDirection:t0,MarkerSeverity:B1,MarkerTag:V1,Uri:Ui,Token:py}}var f0=`default`,dPe=`$initialize`,p0=!1;function m0(e){rn&&(p0||(p0=!0,console.warn(`Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq`)),console.warn(e.message))}var fPe=class{constructor(e,t,n,r,i){this.vsWorker=e,this.req=t,this.channel=n,this.method=r,this.args=i,this.type=0}},h0=class{constructor(e,t,n,r){this.vsWorker=e,this.seq=t,this.res=n,this.err=r,this.type=1}},pPe=class{constructor(e,t,n,r,i){this.vsWorker=e,this.req=t,this.channel=n,this.eventName=r,this.arg=i,this.type=2}},mPe=class{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}},hPe=class{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}},gPe=class{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}async sendMessage(e,t,n){let r=String(++this._lastSentReq);return new Promise((i,a)=>{this._pendingReplies[r]={resolve:i,reject:a},this._send(new fPe(this._workerId,r,e,t,n))})}listen(e,t,n){let r=null,i=new k({onWillAddFirstListener:()=>{r=String(++this._lastSentReq),this._pendingEmitters.set(r,i),this._send(new pPe(this._workerId,r,e,t,n))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(r),this._send(new hPe(this._workerId,r)),r=null}});return i.event}handleMessage(e){e&&e.vsWorker&&(this._workerId===-1||e.vsWorker===this._workerId)&&this._handleMessage(e)}createProxyToRemoteChannel(e,t){return new Proxy(Object.create(null),{get:(n,r)=>(typeof r==`string`&&!n[r]&&(_0(r)?n[r]=t=>this.listen(e,r,t):g0(r)?n[r]=this.listen(e,r,void 0):r.charCodeAt(0)===36&&(n[r]=async(...n)=>(await t?.(),this.sendMessage(e,r,n)))),n[r])})}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn(`Got reply to unknown seq`);return}let t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;if(e.err.$isError){let t=Error();t.name=e.err.name,t.message=e.err.message,t.stack=e.err.stack,n=t}t.reject(n);return}t.resolve(e.res)}_handleRequestMessage(e){let t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then(e=>{this._send(new h0(this._workerId,t,e,void 0))},e=>{e.detail instanceof Error&&(e.detail=ht(e.detail)),this._send(new h0(this._workerId,t,void 0,ht(e)))})}_handleSubscribeEventMessage(e){let t=e.req,n=this._handler.handleEvent(e.channel,e.eventName,e.arg)(e=>{this._send(new mPe(this._workerId,t,e))});this._pendingEvents.set(t,n)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn(`Got event for unknown req`);return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn(`Got unsubscribe for unknown req`);return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){let t=[];if(e.type===0)for(let n=0;n<e.args.length;n++){let r=e.args[n];r instanceof ArrayBuffer&&t.push(r)}else e.type===1&&e.res instanceof ArrayBuffer&&t.push(e.res);this._handler.sendMessage(e,t)}},_Pe=class extends D{constructor(e){super(),this._localChannels=new Map,this._worker=this._register(e),this._register(this._worker.onMessage(e=>{this._protocol.handleMessage(e)})),this._register(this._worker.onError(e=>{m0(e),pt(e)})),this._protocol=new gPe({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t,n)=>this._handleMessage(e,t,n),handleEvent:(e,t,n)=>this._handleEvent(e,t,n)}),this._protocol.setWorkerId(this._worker.getId()),this._onModuleLoaded=this._protocol.sendMessage(f0,dPe,[this._worker.getId()]).then(()=>{}),this.proxy=this._protocol.createProxyToRemoteChannel(f0,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(e=>{this._onError(`Worker failed to load `,e)})}_handleMessage(e,t,n){let r=this._localChannels.get(e);if(!r)return Promise.reject(Error(`Missing channel ${e} on main thread`));let i=r[t];if(typeof i!=`function`)return Promise.reject(Error(`Missing method ${t} on main thread channel ${e}`));try{return Promise.resolve(i.apply(r,n))}catch(e){return Promise.reject(e)}}_handleEvent(e,t,n){let r=this._localChannels.get(e);if(!r)throw Error(`Missing channel ${e} on main thread`);if(_0(t)){let i=r[t];if(typeof i!=`function`)throw Error(`Missing dynamic event ${t} on main thread channel ${e}.`);let a=i.call(r,n);if(typeof a!=`function`)throw Error(`Missing dynamic event ${t} on main thread channel ${e}.`);return a}if(g0(t)){let n=r[t];if(typeof n!=`function`)throw Error(`Missing event ${t} on main thread channel ${e}.`);return n}throw Error(`Malformed event name ${t}`)}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}};function g0(e){return e[0]===`o`&&e[1]===`n`&&Kr(e.charCodeAt(2))}function _0(e){return/^onDynamic/.test(e)&&Kr(e.charCodeAt(9))}var v0=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:nv(`defaultWorkerFactory`,{createScriptURL:e=>e});function vPe(e,t){let n=e.label||`anonymous`+t,r=ut();if(r){if(typeof r.getWorker==`function`)return r.getWorker(`workerMain.js`,n);if(typeof r.getWorkerUrl==`function`){let e=r.getWorkerUrl(`workerMain.js`,n);return new Worker(v0?v0.createScriptURL(e):e,{name:n,type:`module`})}}let i=e.esmModuleLocation;if(i){let e=yPe(n,i.toString(!0));return bPe(new Worker(v0?v0.createScriptURL(e):e,{name:n,type:`module`}))}throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function yPe(e,t){if(!(/^((http:)|(https:)|(file:))/.test(t)&&t.substring(0,globalThis.origin.length)!==globalThis.origin)){let n=t.lastIndexOf(`?`),r=t.lastIndexOf(`#`,n),i=n>0?new URLSearchParams(t.substring(n+1,~r?r:void 0)):new URLSearchParams;ia.addSearchParam(i,!0,!0),t=i.toString()?`${t}?${i.toString()}#${e}`:`${t}#${e}`}let n=new Blob([ka([`/*${e}*/`,`globalThis._VSCODE_NLS_MESSAGES = ${JSON.stringify(Ke())};`,`globalThis._VSCODE_NLS_LANGUAGE = ${JSON.stringify(qe())};`,`globalThis._VSCODE_FILE_ROOT = ${JSON.stringify(globalThis._VSCODE_FILE_ROOT)};`,`const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });`,`globalThis.workerttPolicy = ttPolicy;`,`await import(ttPolicy?.createScriptURL(${JSON.stringify(t)}) ?? ${JSON.stringify(t)});`,`globalThis.postMessage({ type: 'vscode-worker-ready' });`,`/*${e}*/`]).join(``)],{type:`application/javascript`});return URL.createObjectURL(n)}function bPe(e){return new Promise((t,n)=>{e.onmessage=function(n){n.data.type===`vscode-worker-ready`&&(e.onmessage=null,t(e))},e.onerror=n})}function xPe(e){return!!e&&typeof e.then==`function`}var SPe=class e extends D{static{this.LAST_WORKER_ID=0}constructor(t){super(),this._onMessage=this._register(new k),this.onMessage=this._onMessage.event,this._onError=this._register(new k),this.onError=this._onError.event,this.id=++e.LAST_WORKER_ID;let n=t instanceof Worker||`then`in t?t:vPe(t,this.id);this.worker=xPe(n)?n:Promise.resolve(n),this.postMessage(`-please-ignore-`,[]);let r=e=>{this._onError.fire(e)};this.worker.then(e=>{e.onmessage=e=>{this._onMessage.fire(e.data)},e.onmessageerror=e=>{this._onError.fire(e)},typeof e.addEventListener==`function`&&e.addEventListener(`error`,r)}),this._register(T(()=>{this.worker?.then(e=>{e.onmessage=null,e.onmessageerror=null,e.removeEventListener(`error`,r),e.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(e,t){this.worker?.then(n=>{try{n.postMessage(e,t)}catch(e){pt(e),pt(Error(`FAILED to post message to worker`,{cause:e}))}})}},CPe=class{constructor(e,t){this.esmModuleLocation=e,this.label=t}};function wPe(e,t){return new _Pe(new SPe(Ui.isUri(e)?new CPe(e,t):e))}var TPe=class{constructor(e,t,n){let r=new Uint8Array(e*t);for(let i=0,a=e*t;i<a;i++)r[i]=n;this._data=r,this.rows=e,this.cols=t}get(e,t){return this._data[e*this.cols+t]}set(e,t,n){this._data[e*this.cols+t]=n}},EPe=class{constructor(e){let t=0,n=0;for(let r=0,i=e.length;r<i;r++){let[i,a,o]=e[r];a>t&&(t=a),i>n&&(n=i),o>n&&(n=o)}t++,n++;let r=new TPe(n,t,0);for(let t=0,n=e.length;t<n;t++){let[n,i,a]=e[t];r.set(n,i,a)}this._states=r,this._maxCharCode=t}nextState(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)}},y0=null;function DPe(){return y0===null&&(y0=new EPe([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),y0}var b0=null;function OPe(){if(b0===null){b0=new Hu(0);for(let e=0;e<36;e++)b0.set(` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…|`.charCodeAt(e),1);for(let e=0;e<4;e++)b0.set(`.,;:`.charCodeAt(e),2)}return b0}var kPe=class e{static _createLink(e,t,n,r,i){let a=i-1;do{let n=t.charCodeAt(a);if(e.get(n)!==2)break;a--}while(a>r);if(r>0){let e=t.charCodeAt(r-1),n=t.charCodeAt(a);(e===40&&n===41||e===91&&n===93||e===123&&n===125)&&a--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:a+2},url:t.substring(r,a+1)}}static computeLinks(t,n=DPe()){let r=OPe(),i=[];for(let a=1,o=t.getLineCount();a<=o;a++){let o=t.getLineContent(a),s=o.length,c=0,l=0,u=0,d=1,f=!1,p=!1,m=!1,h=!1;for(;c<s;){let t=!1,s=o.charCodeAt(c);if(d===13){let n;switch(s){case 40:f=!0,n=0;break;case 41:n=+!f;break;case 91:m=!0,p=!0,n=0;break;case 93:m=!1,n=+!p;break;case 123:h=!0,n=0;break;case 125:n=+!h;break;case 39:case 34:case 96:n=u===s?1:u===39||u===34||u===96?0:1;break;case 42:n=+(u===42);break;case 32:n=+!m;break;default:n=r.get(s)}n===1&&(i.push(e._createLink(r,o,a,l,c)),t=!0)}else if(d===12){let e;s===91?(p=!0,e=0):e=r.get(s),e===1?t=!0:d=13}else d=n.nextState(d,s),d===0&&(t=!0);t&&(d=1,f=!1,p=!1,h=!1,l=c+1,u=s),c++}d===13&&i.push(e._createLink(r,o,a,l,s))}return i}};function APe(e){return!e||typeof e.getLineCount!=`function`||typeof e.getLineContent!=`function`?[]:kPe.computeLinks(e)}var jPe=class e{constructor(){this._defaultValueSet=[[`true`,`false`],[`True`,`False`],[`Private`,`Public`,`Friend`,`ReadOnly`,`Partial`,`Protected`,`WriteOnly`],[`public`,`protected`,`private`]]}static{this.INSTANCE=new e}navigateValueSet(e,t,n,r,i){if(e&&t){let n=this.doNavigateValueSet(t,i);if(n)return{range:e,value:n}}if(n&&r){let e=this.doNavigateValueSet(r,i);if(e)return{range:n,value:e}}return null}doNavigateValueSet(e,t){let n=this.numberReplace(e,t);return n===null?this.textReplace(e,t):n}numberReplace(e,t){let n=10**(e.length-(e.lastIndexOf(`.`)+1)),r=Number(e),i=parseFloat(e);return!isNaN(r)&&!isNaN(i)&&r===i?r===0&&!t?null:(r=Math.floor(r*n),r+=t?n:-n,String(r/n)):null}textReplace(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)}valueSetsReplace(e,t,n){let r=null;for(let i=0,a=e.length;r===null&&i<a;i++)r=this.valueSetReplace(e[i],t,n);return r}valueSetReplace(e,t,n){let r=e.indexOf(t);return r>=0?(r+=n?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}};function x0(e){let t=[];for(let n of e){let e=Number(n);(e||e===0&&n.replace(/\s/g,``)!==``)&&t.push(e)}return t}function S0(e,t,n,r){return{red:e/255,blue:n/255,green:t/255,alpha:r}}function C0(e,t){let n=t.index,r=t[0].length;if(n===void 0)return;let i=e.positionAt(n);return{startLineNumber:i.lineNumber,startColumn:i.column,endLineNumber:i.lineNumber,endColumn:i.column+r}}function MPe(e,t){if(!e)return;let n=J.Format.CSS.parseHex(t);if(n)return{range:e,color:S0(n.rgba.r,n.rgba.g,n.rgba.b,n.rgba.a)}}function w0(e,t,n){if(!e||t.length!==1)return;let r=x0(t[0].values());return{range:e,color:S0(r[0],r[1],r[2],n?r[3]:1)}}function T0(e,t,n){if(!e||t.length!==1)return;let r=x0(t[0].values()),i=new J(new Om(r[0],r[1]/100,r[2]/100,n?r[3]:1));return{range:e,color:S0(i.rgba.r,i.rgba.g,i.rgba.b,i.rgba.a)}}function E0(e,t){return typeof e==`string`?[...e.matchAll(t)]:e.findMatches(t)}function NPe(e){let t=[],n=E0(e,/\b(rgb|rgba|hsl|hsla)(\([0-9\s,.\%]*\))|^(#)([A-Fa-f0-9]{3})\b|^(#)([A-Fa-f0-9]{4})\b|^(#)([A-Fa-f0-9]{6})\b|^(#)([A-Fa-f0-9]{8})\b|(?<=['"\s])(#)([A-Fa-f0-9]{3})\b|(?<=['"\s])(#)([A-Fa-f0-9]{4})\b|(?<=['"\s])(#)([A-Fa-f0-9]{6})\b|(?<=['"\s])(#)([A-Fa-f0-9]{8})\b/gm);if(n.length>0)for(let r of n){let n=r.filter(e=>e!==void 0),i=n[1],a=n[2];if(!a)continue;let o;i===`rgb`?o=w0(C0(e,r),E0(a,/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm),!1):i===`rgba`?o=w0(C0(e,r),E0(a,/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm),!0):i===`hsl`?o=T0(C0(e,r),E0(a,/^\(\s*((?:360(?:\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\.\d+)?))\s*[\s,]\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm),!1):i===`hsla`?o=T0(C0(e,r),E0(a,/^\(\s*((?:360(?:\.0+)?|(?:36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])(?:\.\d+)?))\s*[\s,]\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*[\s,]\s*(0[.][0-9]+|[.][0-9]+|[01][.]0*|[01])\s*\)$/gm),!0):i===`#`&&(o=MPe(C0(e,r),i+a)),o&&t.push(o)}return t}function PPe(e){return!e||typeof e.getValue!=`function`||typeof e.positionAt!=`function`?[]:NPe(e)}var FPe=/^-+|-+$/g,IPe=100;function LPe(e,t){let n=[];if(t.findRegionSectionHeaders&&t.foldingRules?.markers){let r=RPe(e,t);n=n.concat(r)}if(t.findMarkSectionHeaders){let r=zPe(e,t);n=n.concat(r)}return n}function RPe(e,t){let n=[],r=e.getLineCount();for(let i=1;i<=r;i++){let r=e.getLineContent(i),a=r.match(t.foldingRules.markers.start);if(a){let e={startLineNumber:i,startColumn:a[0].length+1,endLineNumber:i,endColumn:r.length+1};if(e.endColumn>e.startColumn){let t={range:e,...BPe(r.substring(a[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}function zPe(e,t){let n=[],r=e.getLineCount();if(!t.markSectionHeaderRegex||t.markSectionHeaderRegex.trim()===``)return n;let i=kC(t.markSectionHeaderRegex),a=new RegExp(t.markSectionHeaderRegex,`gdm${i?`s`:``}`);if(Fr(a))return n;for(let t=1;t<=r;t+=95){let i=Math.min(t+IPe-1,r),o=[];for(let n=t;n<=i;n++)o.push(e.getLineContent(n));let s=o.join(`
442
442
  `);a.lastIndex=0;let c;for(;(c=a.exec(s))!==null;){let e=s.substring(0,c.index),r=(e.match(/\n/g)||[]).length,i=t+r,o=c[0].split(`
443
443
  `),l=o.length,u=i+l-1,d=e.lastIndexOf(`
444
- `)+1,f=c.index-d+1,p=o[o.length-1],m={range:{startLineNumber:i,startColumn:f,endLineNumber:u,endColumn:l===1?f+c[0].length:p.length+1},text:(c.groups??{}).label??``,hasSeparatorLine:((c.groups??{}).separator??``)!==``,shouldBeInComments:!0};(m.text||m.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<m.range.startLineNumber)&&n.push(m),a.lastIndex=c.index+c[0].length}}return n}function BPe(e){e=e.trim();let t=e.startsWith(`-`);return e=e.replace(FPe,``),{text:e,hasSeparatorLine:t}}var VPe=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new F(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new $pe(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=Ir(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},HPe=6e4,UPe=class extends D{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){let e=new mr;e.cancelAndSet(()=>this._checkStopModelSync(),Math.round(HPe/2)),this._register(e)}}dispose(){for(let e in this._syncedModels)Ln(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(let n of e){let e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=new Date().getTime())}}_checkStopModelSync(){let e=new Date().getTime(),t=[];for(let n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>6e4&&t.push(n);for(let e of t)this._stopModelSync(e)}_beginModelSync(e,t){let n=this._modelService.getModel(e);if(!n||!t&&n.isTooLargeForSyncing())return;let r=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});let i=new E;i.add(n.onDidChangeContent(e=>{this._proxy.$acceptModelChanged(r.toString(),e)})),i.add(n.onWillDispose(()=>{this._stopModelSync(r)})),i.add(T(()=>{this._proxy.$acceptRemovedModel(r)})),this._syncedModels[r]=i}_stopModelSync(e){let t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],Ln(t)}},WPe=class{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new GPe(Ui.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}},GPe=class extends VPe{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){let t=[];for(let n=0;n<this._lines.length;n++){let r=this._lines[n],i=this.offsetAt(new F(n+1,1)),a=r.matchAll(e);for(let e of a)(e.index||e.index===0)&&(e.index+=i),t.push(e)}return t}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){let n=vd(e.column,gd(t),this._lines[e.lineNumber-1],0);return n?new U(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){let t=this._lines,n=this._wordenize.bind(this),r=0,i=``,a=0,o=[];return{*[Symbol.iterator](){for(;;)if(a<o.length){let e=i.substring(o[a].start,o[a].end);a+=1,yield e}else if(r<t.length)i=t[r],o=n(i,e),a=0,r+=1;else break}}}getLineWords(e,t){let n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(let e of r)i.push({word:n.substring(e.start,e.end),startColumn:e.start+1,endColumn:e.end+1});return i}_wordenize(e,t){let n=[],r;for(t.lastIndex=0;(r=t.exec(e))&&r[0].length!==0;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if(e=this._validateRange(e),e.startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);let t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let e=n+1;e<r;e++)i.push(this._lines[e]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)}offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.lineNumber-2)+(e.column-1)}positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}}_validateRange(e){let t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e}_validatePosition(e){if(!F.isIPosition(e))throw Error(`bad position`);let{lineNumber:t,column:n}=e,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}},KPe=class e{constructor(e=null){this._foreignModule=e,this._requestHandlerBrand=void 0,this._workerTextModelSyncServer=new WPe}dispose(){}async $ping(){return`pong`}_getModel(e){return this._workerTextModelSyncServer.getModel(e)}getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(e){this._workerTextModelSyncServer.$acceptNewModel(e)}$acceptModelChanged(e,t){this._workerTextModelSyncServer.$acceptModelChanged(e,t)}$acceptRemovedModel(e){this._workerTextModelSyncServer.$acceptRemovedModel(e)}async $computeUnicodeHighlights(e,t,n){let r=this._getModel(e);return r?YZ.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){let n=this._getModel(e);return n?LPe(n,t):[]}async $computeDiff(t,n,r,i){let a=this._getModel(t),o=this._getModel(n);return!a||!o?null:e.computeDiff(a,o,r,i)}static computeDiff(e,t,n,r){let i=r===`advanced`?eq.getDefault():eq.getLegacy(),a=e.getLinesContent(),o=t.getLinesContent(),s=i.computeDiff(a,o,n),c=s.changes.length>0?!1:this._modelsAreIdentical(e,t);function l(e){return e.map(e=>[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,e.innerChanges?.map(e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn])])}return{identical:c,quitEarly:s.hitTimeout,changes:l(s.changes),moves:s.moves.map(e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)])}}static _modelsAreIdentical(e,t){let n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(t,n,r){let i=this._getModel(t);if(!i)return n;let a=[],o;n=n.slice(0).sort((e,t)=>e.range&&t.range?U.compareRangesUsingStarts(e.range,t.range):+!e.range-!t.range);let s=0;for(let e=1;e<n.length;e++)U.getEndPosition(n[s].range).equals(U.getStartPosition(n[e].range))?(n[s].range=U.fromPositions(U.getStartPosition(n[s].range),U.getEndPosition(n[e].range)),n[s].text+=n[e].text):(s++,n[s]=n[e]);n.length=s+1;for(let{range:t,text:s,eol:c}of n){if(typeof c==`number`&&(o=c),U.isEmpty(t)&&!s)continue;let n=i.getValueInRange(t);if(s=s.replace(/\r\n|\n|\r/g,i.eol),n===s)continue;if(Math.max(s.length,n.length)>e._diffLimit){a.push({range:t,text:s});continue}let l=hz(n,s,r),u=i.offsetAt(U.lift(t).getStartPosition());for(let e of l){let t=i.positionAt(u+e.originalStart),n=i.positionAt(u+e.originalStart+e.originalLength),r={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(r.range)!==r.text&&a.push(r)}}return typeof o==`number`&&a.push({eol:o,text:``,range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),a}async $computeLinks(e){let t=this._getModel(e);return t?APe(t):null}async $computeDefaultDocumentColors(e){let t=this._getModel(e);return t?PPe(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(t,n,r,i){let a=new Un,o=new RegExp(r,i),s=new Set;outer:for(let r of t){let t=this._getModel(r);if(t){for(let r of t.words(o))if(r!==n&&isNaN(Number(r))&&(s.add(r),s.size>e._suggestionsLimit))break outer}}return{words:Array.from(s),duration:a.elapsed()}}async $computeWordRanges(e,t,n,r){let i=this._getModel(e);if(!i)return Object.create(null);let a=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;e<t.endLineNumber;e++){let t=i.getLineWords(e,a);for(let n of t){if(!isNaN(Number(n.word)))continue;let t=o[n.word];t||(t=[],o[n.word]=t),t.push({startLineNumber:e,startColumn:n.startColumn,endLineNumber:e,endColumn:n.endColumn})}}return o}async $navigateValueSet(e,t,n,r,i){let a=this._getModel(e);if(!a)return null;let o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});let s=a.getValueInRange(t),c=a.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!c)return null;let l=a.getValueInRange(c);return jPe.INSTANCE.navigateValueSet(t,s,c,l,n)}$fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!=`function`)return Promise.reject(Error(`Missing requestHandler or method: `+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}};typeof importScripts==`function`&&(globalThis.monaco=d0());var qPe=class e{static{this.CHANNEL_NAME=`editorWorkerHost`}static getChannel(t){return t.getChannel(e.CHANNEL_NAME)}static setChannel(t,n){t.setChannel(e.CHANNEL_NAME,n)}},D0=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},O0=function(e,t){return function(n,r){t(n,r,e)}},k0=3e5;function A0(e,t){let n=e.getModel(t);return!(!n||n.isTooLargeForSyncing())}var j0=class extends D{constructor(e,t,n,r,i,a){super(),this._languageConfigurationService=i,this._modelService=t,this._workerManager=this._register(new M0(e,this._modelService)),this._logService=r,this._register(a.linkProvider.register({language:`*`,hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!A0(this._modelService,e.uri))return Promise.resolve({links:[]});let n=await(await this._workerWithResources([e.uri])).$computeLinks(e.uri.toString());return n&&{links:n}}})),this._register(a.completionProvider.register(`*`,new JPe(this._workerManager,n,this._modelService,this._languageConfigurationService,this._logService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return A0(this._modelService,e)}async computedUnicodeHighlights(e,t,n){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,n)}async computeDiff(e,t,n,r){let i=await(await this._workerWithResources([e,t],!0)).$computeDiff(e.toString(),t.toString(),n,r);if(!i)return null;return{identical:i.identical,quitEarly:i.quitEarly,changes:a(i.changes),moves:i.moves.map(e=>new MK(new dA(new $b(e[0],e[1]),new $b(e[2],e[3])),a(e[4])))};function a(e){return e.map(e=>new mA(new $b(e[0],e[1]),new $b(e[2],e[3]),e[4]?.map(e=>new hA(new U(e[0],e[1],e[2],e[3]),new U(e[4],e[5],e[6],e[7])))))}}async computeMoreMinimalEdits(e,t,n=!1){if(Ma(t)){if(!A0(this._modelService,e))return Promise.resolve(t);let r=Un.create(),i=this._workerWithResources([e]).then(r=>r.$computeMoreMinimalEdits(e.toString(),t,n));return i.finally(()=>this._logService.trace(`FORMAT#computeMoreMinimalEdits`,e.toString(!0),r.elapsed())),Promise.race([i,ur(1e3).then(()=>t)])}return Promise.resolve(void 0)}canNavigateValueSet(e){return A0(this._modelService,e)}async navigateValueSet(e,t,n){let r=this._modelService.getModel(e);if(!r)return null;let i=this._languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),a=i.source,o=i.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,n,a,o)}canComputeWordRanges(e){return A0(this._modelService,e)}async computeWordRanges(e,t){let n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);let r=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),i=r.source,a=r.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,i,a)}async findSectionHeaders(e,t){return(await this._workerWithResources([e])).$findSectionHeaders(e.toString(),t)}async computeDefaultDocumentColors(e){return(await this._workerWithResources([e])).$computeDefaultDocumentColors(e.toString())}async _workerWithResources(e,t=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(e,t)}};j0=D0([O0(1,xc),O0(2,oZ),O0(3,Gl),O0(4,cf),O0(5,Z)],j0);var JPe=class{constructor(e,t,n,r,i){this.languageConfigurationService=r,this.logService=i,this._debugDisplayName=`wordbasedCompletions`,this._workerManager=e,this._configurationService=t,this._modelService=n}async provideCompletionItems(e,t){let n=this._configurationService.getValue(e.uri,t,`editor`);if(n.wordBasedSuggestions===`off`)return;let r=[];if(n.wordBasedSuggestions===`currentDocument`)A0(this._modelService,e.uri)&&r.push(e.uri);else for(let t of this._modelService.getModels())A0(this._modelService,t.uri)&&(t===e?r.unshift(t.uri):(n.wordBasedSuggestions===`allDocuments`||t.getLanguageId()===e.getLanguageId())&&r.push(t.uri));if(r.length===0)return;let i=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),a=e.getWordAtPosition(t),o=a?new U(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):U.fromPositions(t),s=o.setEndPosition(t.lineNumber,t.column);this.logService.trace(`[WordBasedCompletionItemProvider]`,`word: "${a?.word||``}", wordDef: "${i}", replace: [${o.toString()}], insert: [${s.toString()}]`);let c=await(await this._workerManager.withWorker()).textualSuggest(r,a?.word,i);if(c)return{duration:c.duration,suggestions:c.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:s,replace:o}}))}}},M0=class extends D{constructor(e,t){super(),this._workerDescriptor=e,this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new ds).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(k0/2),Qe),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&=(this._editorWorkerClient.dispose(),null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&new Date().getTime()-this._lastWorkerUsedTime>k0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||=new N0(this._workerDescriptor,!1,this._modelService),Promise.resolve(this._editorWorkerClient)}};M0=D0([O0(1,xc)],M0);var YPe=class{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw Error(`Not supported`)}},N0=class extends D{constructor(e,t,n){super(),this._workerDescriptorOrWorker=e,this._disposed=!1,this._modelService=n,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(wPe(this._workerDescriptorOrWorker)),qPe.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){m0(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{let e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return m0(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new YPe(new KPe(null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||=this._register(new UPe(e,this._modelService,this._keepIdleModels)),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(yt());let n=await this._getProxy();return this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n}async textualSuggest(e,t,n){let r=await this.workerWithSyncedResources(e),i=n.source,a=n.flags;return r.$textualSuggest(e.map(e=>e.toString()),t,i,a)}dispose(){super.dispose(),this._disposed=!0}};N0=D0([O0(2,xc)],N0);function XPe(e,t){return new ZPe(e,t)}var ZPe=class extends N0{constructor(e,t){super(t.worker,t.keepIdleModels||!1,e),this._foreignModuleHost=t.host||null,this._foreignProxy=this._getProxy().then(e=>new Proxy({},{get(t,n,r){if(n!==`then`){if(typeof n!=`string`)throw Error(`Not supported`);return(...t)=>e.$fmr(n,t)}}}))}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}getProxy(){return this._foreignProxy}withSyncedResources(e){return this.workerWithSyncedResources(e).then(e=>this.getProxy())}};function QPe(e){return Array.isArray(e)}function $Pe(e){return!QPe(e)}function P0(e){return typeof e==`string`}function F0(e){return!P0(e)}function I0(e){return!e}function L0(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function R0(e){return e.replace(/[&<>'"_]/g,`-`)}function eFe(e,t){console.log(`${e.languageId}: ${t}`)}function z0(e,t){return Error(`${e.languageId}: ${t}`)}function B0(e,t,n,r,i){let a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,o=null;return t.replace(a,function(t,a,s,c,l,u,d,f,p){return I0(s)?I0(c)?!I0(l)&&l<r.length?L0(e,r[l]):!I0(d)&&e&&typeof e[d]==`string`?e[d]:(o===null&&(o=i.split(`.`),o.unshift(i)),!I0(u)&&u<o.length?L0(e,o[u]):``):L0(e,n):`$`})}function tFe(e,t,n){let r=/\$[sS](\d\d?)/g,i=null;return t.replace(r,function(t,r){return i===null&&(i=n.split(`.`),i.unshift(n)),!I0(r)&&r<i.length?jr(L0(e,i[r])):``})}function V0(e,t){let n=t;for(;n&&n.length>0;){let t=e.tokenizer[n];if(t)return t;let r=n.lastIndexOf(`.`);n=r<0?null:n.substr(0,r)}return null}function nFe(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;let t=n.lastIndexOf(`.`);n=t<0?null:n.substr(0,t)}return!1}var rFe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},iFe=function(e,t){return function(n,r){t(n,r,e)}},H0,U0=5,W0=class e{static{this._INSTANCE=new e(U0)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new G0(e,t);let n=G0.getStackElementId(e);n.length>0&&(n+=`|`),n+=t;let r=this._entries[n];return r||(r=new G0(e,t),this._entries[n]=r,r)}},G0=class e{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t=``;for(;e!==null;)t.length>0&&(t+=`|`),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(t){return e._equals(this,t)}push(e){return W0.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return W0.create(this.parent,e)}},K0=class e{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new e(this.languageId,this.state)}},q0=class e{static{this._INSTANCE=new e(U0)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null||e!==null&&e.depth>=this._maxCacheDepth)return new J0(e,t);let n=G0.getStackElementId(e),r=this._entries[n];return r||(r=new J0(e,null),this._entries[n]=r,r)}},J0=class e{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:q0.create(this.stack,this.embeddedLanguageData)}equals(t){return!(t instanceof e)||!this.stack.equals(t.stack)?!1:this.embeddedLanguageData===null&&t.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||t.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(t.embeddedLanguageData)}},aFe=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){(this._lastTokenType!==t||this._lastTokenLanguage!==this._languageId)&&(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new py(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,r){let i=n.languageId,a=n.state,o=My.get(i);if(!o)return this.enterLanguage(i),this.emit(r,``),a;let s=o.tokenize(e,t,a);if(r!==0)for(let e of s.tokens)this._tokens.push(new py(e.offset+r,e.type,e.language));else this._tokens=this._tokens.concat(s.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,s.endState}finalize(e){return new my(this._tokens,e)}},oFe=class e{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){let n=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){let r=e===null?0:e.length,i=t.length,a=n===null?0:n.length;if(r===0&&i===0&&a===0)return new Uint32Array;if(r===0&&i===0)return n;if(i===0&&a===0)return e;let o=new Uint32Array(r+i+a);e!==null&&o.set(e);for(let e=0;e<i;e++)o[r+e]=t[e];return n!==null&&o.set(n,r+i),o}nestedLanguageTokenize(t,n,r,i){let a=r.languageId,o=r.state,s=My.get(a);if(!s)return this.enterLanguage(a),this.emit(i,``),o;let c=s.tokenizeEncoded(t,n,o);if(i!==0)for(let e=0,t=c.tokens.length;e<t;e+=2)c.tokens[e]+=i;return this._prependTokens=e._merge(this._prependTokens,this._tokens,c.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,c.endState}finalize(t){return new hy(e._merge(this._prependTokens,this._tokens,null),t)}},Y0=H0=class extends D{constructor(e,t,n,r,i){super(),this._configurationService=i,this._languageService=e,this._standaloneThemeService=t,this._languageId=n,this._lexer=r,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let a=!1;this._register(My.onDidChange(e=>{if(a)return;let t=!1;for(let n=0,r=e.changedLanguages.length;n<r;n++){let r=e.changedLanguages[n];if(this._embeddedLanguages[r]){t=!0;break}}t&&(a=!0,My.handleChange([this._languageId]),a=!1)})),this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.maxTokenizationLineLength`)&&(this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}))}))}getLoadStatus(){let e=[];for(let t in this._embeddedLanguages){let n=My.get(t);if(n){if(n instanceof H0){let t=n.getLoadStatus();t.loaded===!1&&e.push(t.promise)}continue}My.isResolved(t)||e.push(My.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(e=>void 0)}}getInitialState(){let e=W0.create(null,this._lexer.start);return q0.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return QC(this._languageId,n);let r=new aFe,i=this._tokenize(e,t,n,r);return r.finalize(i)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return $C(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);let r=new oFe(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),i=this._tokenize(e,t,n,r);return r.finalize(i)}_tokenize(e,t,n,r){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,r):this._myTokenize(e,t,n,0,r)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=V0(this._lexer,t.stack.state),!n))throw z0(this._lexer,`tokenizer state is not defined: `+t.stack.state);let r=-1,i=!1;for(let a of n){if(!F0(a.action)||!(a.action.nextEmbedded===`@pop`||a.action.hasEmbeddedEndInCases))continue;i=!0;let n=a.resolveRegex(t.stack.state),o=n.source;if(o.substr(0,4)===`^(?:`&&o.substr(o.length-1,1)===`)`){let e=(n.ignoreCase?`i`:``)+(n.unicode?`u`:``);n=new RegExp(o.substr(4,o.length-5),e)}let s=e.search(n);s===-1||s!==0&&a.matchOnlyAtLineStart||(r===-1||s<r)&&(r=s)}if(!i)throw z0(this._lexer,`no rule containing nextEmbedded: "@pop" in tokenizer embedded state: `+t.stack.state);return r}_nestedTokenize(e,t,n,r,i){let a=this._findLeavingNestedLanguageOffset(e,n);if(a===-1){let a=i.nestedLanguageTokenize(e,t,n.embeddedLanguageData,r);return q0.create(n.stack,new K0(n.embeddedLanguageData.languageId,a))}let o=e.substring(0,a);o.length>0&&i.nestedLanguageTokenize(o,!1,n.embeddedLanguageData,r);let s=e.substring(a);return this._myTokenize(s,t,n,r+a,i)}_safeRuleName(e){return e?e.name:`(unknown)`}_myTokenize(e,t,n,r,i){i.enterLanguage(this._languageId);let a=e.length,o=t&&this._lexer.includeLF?e+`
444
+ `)+1,f=c.index-d+1,p=o[o.length-1],m={range:{startLineNumber:i,startColumn:f,endLineNumber:u,endColumn:l===1?f+c[0].length:p.length+1},text:(c.groups??{}).label??``,hasSeparatorLine:((c.groups??{}).separator??``)!==``,shouldBeInComments:!0};(m.text||m.hasSeparatorLine)&&(n.length===0||n[n.length-1].range.endLineNumber<m.range.startLineNumber)&&n.push(m),a.lastIndex=c.index+c[0].length}}return n}function BPe(e){e=e.trim();let t=e.startsWith(`-`);return e=e.replace(FPe,``),{text:e,hasSeparatorLine:t}}var VPe=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new F(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new $pe(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=Ir(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},HPe=6e4,UPe=class extends D{constructor(e,t,n=!1){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){let e=new mr;e.cancelAndSet(()=>this._checkStopModelSync(),Math.round(HPe/2)),this._register(e)}}dispose(){for(let e in this._syncedModels)Ln(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(let n of e){let e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=new Date().getTime())}}_checkStopModelSync(){let e=new Date().getTime(),t=[];for(let n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>6e4&&t.push(n);for(let e of t)this._stopModelSync(e)}_beginModelSync(e,t){let n=this._modelService.getModel(e);if(!n||!t&&n.isTooLargeForSyncing())return;let r=e.toString();this._proxy.$acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});let i=new E;i.add(n.onDidChangeContent(e=>{this._proxy.$acceptModelChanged(r.toString(),e)})),i.add(n.onWillDispose(()=>{this._stopModelSync(r)})),i.add(T(()=>{this._proxy.$acceptRemovedModel(r)})),this._syncedModels[r]=i}_stopModelSync(e){let t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],Ln(t)}},WPe=class{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new GPe(Ui.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}},GPe=class extends VPe{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){let t=[];for(let n=0;n<this._lines.length;n++){let r=this._lines[n],i=this.offsetAt(new F(n+1,1)),a=r.matchAll(e);for(let e of a)(e.index||e.index===0)&&(e.index+=i),t.push(e)}return t}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){let n=vd(e.column,gd(t),this._lines[e.lineNumber-1],0);return n?new U(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){let t=this._lines,n=this._wordenize.bind(this),r=0,i=``,a=0,o=[];return{*[Symbol.iterator](){for(;;)if(a<o.length){let e=i.substring(o[a].start,o[a].end);a+=1,yield e}else if(r<t.length)i=t[r],o=n(i,e),a=0,r+=1;else break}}}getLineWords(e,t){let n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(let e of r)i.push({word:n.substring(e.start,e.end),startColumn:e.start+1,endColumn:e.end+1});return i}_wordenize(e,t){let n=[],r;for(t.lastIndex=0;(r=t.exec(e))&&r[0].length!==0;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if(e=this._validateRange(e),e.startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);let t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let e=n+1;e<r;e++)i.push(this._lines[e]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)}offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.lineNumber-2)+(e.column-1)}positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}}_validateRange(e){let t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e}_validatePosition(e){if(!F.isIPosition(e))throw Error(`bad position`);let{lineNumber:t,column:n}=e,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}},KPe=class e{constructor(e=null){this._foreignModule=e,this._requestHandlerBrand=void 0,this._workerTextModelSyncServer=new WPe}dispose(){}async $ping(){return`pong`}_getModel(e){return this._workerTextModelSyncServer.getModel(e)}getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(e){this._workerTextModelSyncServer.$acceptNewModel(e)}$acceptModelChanged(e,t){this._workerTextModelSyncServer.$acceptModelChanged(e,t)}$acceptRemovedModel(e){this._workerTextModelSyncServer.$acceptRemovedModel(e)}async $computeUnicodeHighlights(e,t,n){let r=this._getModel(e);return r?YZ.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){let n=this._getModel(e);return n?LPe(n,t):[]}async $computeDiff(t,n,r,i){let a=this._getModel(t),o=this._getModel(n);return!a||!o?null:e.computeDiff(a,o,r,i)}static computeDiff(e,t,n,r){let i=r===`advanced`?eq.getDefault():eq.getLegacy(),a=e.getLinesContent(),o=t.getLinesContent(),s=i.computeDiff(a,o,n),c=s.changes.length>0?!1:this._modelsAreIdentical(e,t);function l(e){return e.map(e=>[e.original.startLineNumber,e.original.endLineNumberExclusive,e.modified.startLineNumber,e.modified.endLineNumberExclusive,e.innerChanges?.map(e=>[e.originalRange.startLineNumber,e.originalRange.startColumn,e.originalRange.endLineNumber,e.originalRange.endColumn,e.modifiedRange.startLineNumber,e.modifiedRange.startColumn,e.modifiedRange.endLineNumber,e.modifiedRange.endColumn])])}return{identical:c,quitEarly:s.hitTimeout,changes:l(s.changes),moves:s.moves.map(e=>[e.lineRangeMapping.original.startLineNumber,e.lineRangeMapping.original.endLineNumberExclusive,e.lineRangeMapping.modified.startLineNumber,e.lineRangeMapping.modified.endLineNumberExclusive,l(e.changes)])}}static _modelsAreIdentical(e,t){let n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}static{this._diffLimit=1e5}async $computeMoreMinimalEdits(t,n,r){let i=this._getModel(t);if(!i)return n;let a=[],o;n=n.slice(0).sort((e,t)=>e.range&&t.range?U.compareRangesUsingStarts(e.range,t.range):+!e.range-!t.range);let s=0;for(let e=1;e<n.length;e++)U.getEndPosition(n[s].range).equals(U.getStartPosition(n[e].range))?(n[s].range=U.fromPositions(U.getStartPosition(n[s].range),U.getEndPosition(n[e].range)),n[s].text+=n[e].text):(s++,n[s]=n[e]);n.length=s+1;for(let{range:t,text:s,eol:c}of n){if(typeof c==`number`&&(o=c),U.isEmpty(t)&&!s)continue;let n=i.getValueInRange(t);if(s=s.replace(/\r\n|\n|\r/g,i.eol),n===s)continue;if(Math.max(s.length,n.length)>e._diffLimit){a.push({range:t,text:s});continue}let l=hz(n,s,r),u=i.offsetAt(U.lift(t).getStartPosition());for(let e of l){let t=i.positionAt(u+e.originalStart),n=i.positionAt(u+e.originalStart+e.originalLength),r={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};i.getValueInRange(r.range)!==r.text&&a.push(r)}}return typeof o==`number`&&a.push({eol:o,text:``,range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),a}async $computeLinks(e){let t=this._getModel(e);return t?APe(t):null}async $computeDefaultDocumentColors(e){let t=this._getModel(e);return t?PPe(t):null}static{this._suggestionsLimit=1e4}async $textualSuggest(t,n,r,i){let a=new Un,o=new RegExp(r,i),s=new Set;outer:for(let r of t){let t=this._getModel(r);if(t){for(let r of t.words(o))if(r!==n&&isNaN(Number(r))&&(s.add(r),s.size>e._suggestionsLimit))break outer}}return{words:Array.from(s),duration:a.elapsed()}}async $computeWordRanges(e,t,n,r){let i=this._getModel(e);if(!i)return Object.create(null);let a=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;e<t.endLineNumber;e++){let t=i.getLineWords(e,a);for(let n of t){if(!isNaN(Number(n.word)))continue;let t=o[n.word];t||(t=[],o[n.word]=t),t.push({startLineNumber:e,startColumn:n.startColumn,endLineNumber:e,endColumn:n.endColumn})}}return o}async $navigateValueSet(e,t,n,r,i){let a=this._getModel(e);if(!a)return null;let o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});let s=a.getValueInRange(t),c=a.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!c)return null;let l=a.getValueInRange(c);return jPe.INSTANCE.navigateValueSet(t,s,c,l,n)}$fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!=`function`)return Promise.reject(Error(`Missing requestHandler or method: `+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}};typeof importScripts==`function`&&(globalThis.monaco=d0());var qPe=class e{static{this.CHANNEL_NAME=`editorWorkerHost`}static getChannel(t){return t.getChannel(e.CHANNEL_NAME)}static setChannel(t,n){t.setChannel(e.CHANNEL_NAME,n)}},D0=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},O0=function(e,t){return function(n,r){t(n,r,e)}},k0=3e5;function A0(e,t){let n=e.getModel(t);return!(!n||n.isTooLargeForSyncing())}var j0=class extends D{constructor(e,t,n,r,i,a){super(),this._languageConfigurationService=i,this._modelService=t,this._workerManager=this._register(new M0(e,this._modelService)),this._logService=r,this._register(a.linkProvider.register({language:`*`,hasAccessToAllModels:!0},{provideLinks:async(e,t)=>{if(!A0(this._modelService,e.uri))return Promise.resolve({links:[]});let n=await(await this._workerWithResources([e.uri])).$computeLinks(e.uri.toString());return n&&{links:n}}})),this._register(a.completionProvider.register(`*`,new JPe(this._workerManager,n,this._modelService,this._languageConfigurationService,this._logService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return A0(this._modelService,e)}async computedUnicodeHighlights(e,t,n){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,n)}async computeDiff(e,t,n,r){let i=await(await this._workerWithResources([e,t],!0)).$computeDiff(e.toString(),t.toString(),n,r);return i?{identical:i.identical,quitEarly:i.quitEarly,changes:a(i.changes),moves:i.moves.map(e=>new MK(new dA(new $b(e[0],e[1]),new $b(e[2],e[3])),a(e[4])))}:null;function a(e){return e.map(e=>new mA(new $b(e[0],e[1]),new $b(e[2],e[3]),e[4]?.map(e=>new hA(new U(e[0],e[1],e[2],e[3]),new U(e[4],e[5],e[6],e[7])))))}}async computeMoreMinimalEdits(e,t,n=!1){if(Ma(t)){if(!A0(this._modelService,e))return Promise.resolve(t);let r=Un.create(),i=this._workerWithResources([e]).then(r=>r.$computeMoreMinimalEdits(e.toString(),t,n));return i.finally(()=>this._logService.trace(`FORMAT#computeMoreMinimalEdits`,e.toString(!0),r.elapsed())),Promise.race([i,ur(1e3).then(()=>t)])}return Promise.resolve(void 0)}canNavigateValueSet(e){return A0(this._modelService,e)}async navigateValueSet(e,t,n){let r=this._modelService.getModel(e);if(!r)return null;let i=this._languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),a=i.source,o=i.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,n,a,o)}canComputeWordRanges(e){return A0(this._modelService,e)}async computeWordRanges(e,t){let n=this._modelService.getModel(e);if(!n)return Promise.resolve(null);let r=this._languageConfigurationService.getLanguageConfiguration(n.getLanguageId()).getWordDefinition(),i=r.source,a=r.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,i,a)}async findSectionHeaders(e,t){return(await this._workerWithResources([e])).$findSectionHeaders(e.toString(),t)}async computeDefaultDocumentColors(e){return(await this._workerWithResources([e])).$computeDefaultDocumentColors(e.toString())}async _workerWithResources(e,t=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(e,t)}};j0=D0([O0(1,xc),O0(2,oZ),O0(3,Gl),O0(4,cf),O0(5,Z)],j0);var JPe=class{constructor(e,t,n,r,i){this.languageConfigurationService=r,this.logService=i,this._debugDisplayName=`wordbasedCompletions`,this._workerManager=e,this._configurationService=t,this._modelService=n}async provideCompletionItems(e,t){let n=this._configurationService.getValue(e.uri,t,`editor`);if(n.wordBasedSuggestions===`off`)return;let r=[];if(n.wordBasedSuggestions===`currentDocument`)A0(this._modelService,e.uri)&&r.push(e.uri);else for(let t of this._modelService.getModels())A0(this._modelService,t.uri)&&(t===e?r.unshift(t.uri):(n.wordBasedSuggestions===`allDocuments`||t.getLanguageId()===e.getLanguageId())&&r.push(t.uri));if(r.length===0)return;let i=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),a=e.getWordAtPosition(t),o=a?new U(t.lineNumber,a.startColumn,t.lineNumber,a.endColumn):U.fromPositions(t),s=o.setEndPosition(t.lineNumber,t.column);this.logService.trace(`[WordBasedCompletionItemProvider]`,`word: "${a?.word||``}", wordDef: "${i}", replace: [${o.toString()}], insert: [${s.toString()}]`);let c=await(await this._workerManager.withWorker()).textualSuggest(r,a?.word,i);if(c)return{duration:c.duration,suggestions:c.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:s,replace:o}}))}}},M0=class extends D{constructor(e,t){super(),this._workerDescriptor=e,this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new ds).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(k0/2),Qe),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&=(this._editorWorkerClient.dispose(),null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&new Date().getTime()-this._lastWorkerUsedTime>k0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||=new N0(this._workerDescriptor,!1,this._modelService),Promise.resolve(this._editorWorkerClient)}};M0=D0([O0(1,xc)],M0);var YPe=class{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw Error(`Not supported`)}},N0=class extends D{constructor(e,t,n){super(),this._workerDescriptorOrWorker=e,this._disposed=!1,this._modelService=n,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(wPe(this._workerDescriptorOrWorker)),qPe.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){m0(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{let e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return m0(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new YPe(new KPe(null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||=this._register(new UPe(e,this._modelService,this._keepIdleModels)),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(yt());let n=await this._getProxy();return this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n}async textualSuggest(e,t,n){let r=await this.workerWithSyncedResources(e),i=n.source,a=n.flags;return r.$textualSuggest(e.map(e=>e.toString()),t,i,a)}dispose(){super.dispose(),this._disposed=!0}};N0=D0([O0(2,xc)],N0);function XPe(e,t){return new ZPe(e,t)}var ZPe=class extends N0{constructor(e,t){super(t.worker,t.keepIdleModels||!1,e),this._foreignModuleHost=t.host||null,this._foreignProxy=this._getProxy().then(e=>new Proxy({},{get(t,n,r){if(n!==`then`){if(typeof n!=`string`)throw Error(`Not supported`);return(...t)=>e.$fmr(n,t)}}}))}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}getProxy(){return this._foreignProxy}withSyncedResources(e){return this.workerWithSyncedResources(e).then(e=>this.getProxy())}};function QPe(e){return Array.isArray(e)}function $Pe(e){return!QPe(e)}function P0(e){return typeof e==`string`}function F0(e){return!P0(e)}function I0(e){return!e}function L0(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function R0(e){return e.replace(/[&<>'"_]/g,`-`)}function eFe(e,t){console.log(`${e.languageId}: ${t}`)}function z0(e,t){return Error(`${e.languageId}: ${t}`)}function B0(e,t,n,r,i){let a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,o=null;return t.replace(a,function(t,a,s,c,l,u,d,f,p){return I0(s)?I0(c)?!I0(l)&&l<r.length?L0(e,r[l]):!I0(d)&&e&&typeof e[d]==`string`?e[d]:(o===null&&(o=i.split(`.`),o.unshift(i)),!I0(u)&&u<o.length?L0(e,o[u]):``):L0(e,n):`$`})}function tFe(e,t,n){let r=/\$[sS](\d\d?)/g,i=null;return t.replace(r,function(t,r){return i===null&&(i=n.split(`.`),i.unshift(n)),!I0(r)&&r<i.length?jr(L0(e,i[r])):``})}function V0(e,t){let n=t;for(;n&&n.length>0;){let t=e.tokenizer[n];if(t)return t;let r=n.lastIndexOf(`.`);n=r<0?null:n.substr(0,r)}return null}function nFe(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;let t=n.lastIndexOf(`.`);n=t<0?null:n.substr(0,t)}return!1}var rFe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},iFe=function(e,t){return function(n,r){t(n,r,e)}},H0,U0=5,W0=class e{static{this._INSTANCE=new e(U0)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new G0(e,t);let n=G0.getStackElementId(e);n.length>0&&(n+=`|`),n+=t;let r=this._entries[n];return r||(r=new G0(e,t),this._entries[n]=r,r)}},G0=class e{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t=``;for(;e!==null;)t.length>0&&(t+=`|`),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(t){return e._equals(this,t)}push(e){return W0.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return W0.create(this.parent,e)}},K0=class e{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new e(this.languageId,this.state)}},q0=class e{static{this._INSTANCE=new e(U0)}static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null||e!==null&&e.depth>=this._maxCacheDepth)return new J0(e,t);let n=G0.getStackElementId(e),r=this._entries[n];return r||(r=new J0(e,null),this._entries[n]=r,r)}},J0=class e{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:q0.create(this.stack,this.embeddedLanguageData)}equals(t){return!(t instanceof e)||!this.stack.equals(t.stack)?!1:this.embeddedLanguageData===null&&t.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||t.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(t.embeddedLanguageData)}},aFe=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){(this._lastTokenType!==t||this._lastTokenLanguage!==this._languageId)&&(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new py(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,r){let i=n.languageId,a=n.state,o=My.get(i);if(!o)return this.enterLanguage(i),this.emit(r,``),a;let s=o.tokenize(e,t,a);if(r!==0)for(let e of s.tokens)this._tokens.push(new py(e.offset+r,e.type,e.language));else this._tokens=this._tokens.concat(s.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,s.endState}finalize(e){return new my(this._tokens,e)}},oFe=class e{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){let n=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){let r=e===null?0:e.length,i=t.length,a=n===null?0:n.length;if(r===0&&i===0&&a===0)return new Uint32Array;if(r===0&&i===0)return n;if(i===0&&a===0)return e;let o=new Uint32Array(r+i+a);e!==null&&o.set(e);for(let e=0;e<i;e++)o[r+e]=t[e];return n!==null&&o.set(n,r+i),o}nestedLanguageTokenize(t,n,r,i){let a=r.languageId,o=r.state,s=My.get(a);if(!s)return this.enterLanguage(a),this.emit(i,``),o;let c=s.tokenizeEncoded(t,n,o);if(i!==0)for(let e=0,t=c.tokens.length;e<t;e+=2)c.tokens[e]+=i;return this._prependTokens=e._merge(this._prependTokens,this._tokens,c.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,c.endState}finalize(t){return new hy(e._merge(this._prependTokens,this._tokens,null),t)}},Y0=H0=class extends D{constructor(e,t,n,r,i){super(),this._configurationService=i,this._languageService=e,this._standaloneThemeService=t,this._languageId=n,this._lexer=r,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let a=!1;this._register(My.onDidChange(e=>{if(a)return;let t=!1;for(let n=0,r=e.changedLanguages.length;n<r;n++){let r=e.changedLanguages[n];if(this._embeddedLanguages[r]){t=!0;break}}t&&(a=!0,My.handleChange([this._languageId]),a=!1)})),this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}),this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.maxTokenizationLineLength`)&&(this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}))}))}getLoadStatus(){let e=[];for(let t in this._embeddedLanguages){let n=My.get(t);if(n){if(n instanceof H0){let t=n.getLoadStatus();t.loaded===!1&&e.push(t.promise)}continue}My.isResolved(t)||e.push(My.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(e=>void 0)}}getInitialState(){let e=W0.create(null,this._lexer.start);return q0.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return QC(this._languageId,n);let r=new aFe,i=this._tokenize(e,t,n,r);return r.finalize(i)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return $C(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);let r=new oFe(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),i=this._tokenize(e,t,n,r);return r.finalize(i)}_tokenize(e,t,n,r){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,r):this._myTokenize(e,t,n,0,r)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=V0(this._lexer,t.stack.state),!n))throw z0(this._lexer,`tokenizer state is not defined: `+t.stack.state);let r=-1,i=!1;for(let a of n){if(!F0(a.action)||!(a.action.nextEmbedded===`@pop`||a.action.hasEmbeddedEndInCases))continue;i=!0;let n=a.resolveRegex(t.stack.state),o=n.source;if(o.substr(0,4)===`^(?:`&&o.substr(o.length-1,1)===`)`){let e=(n.ignoreCase?`i`:``)+(n.unicode?`u`:``);n=new RegExp(o.substr(4,o.length-5),e)}let s=e.search(n);s===-1||s!==0&&a.matchOnlyAtLineStart||(r===-1||s<r)&&(r=s)}if(!i)throw z0(this._lexer,`no rule containing nextEmbedded: "@pop" in tokenizer embedded state: `+t.stack.state);return r}_nestedTokenize(e,t,n,r,i){let a=this._findLeavingNestedLanguageOffset(e,n);if(a===-1){let a=i.nestedLanguageTokenize(e,t,n.embeddedLanguageData,r);return q0.create(n.stack,new K0(n.embeddedLanguageData.languageId,a))}let o=e.substring(0,a);o.length>0&&i.nestedLanguageTokenize(o,!1,n.embeddedLanguageData,r);let s=e.substring(a);return this._myTokenize(s,t,n,r+a,i)}_safeRuleName(e){return e?e.name:`(unknown)`}_myTokenize(e,t,n,r,i){i.enterLanguage(this._languageId);let a=e.length,o=t&&this._lexer.includeLF?e+`
445
445
  `:e,s=o.length,c=n.embeddedLanguageData,l=n.stack,u=0,d=null,f=!0;for(;f||u<s;){let n=u,p=l.depth,m=d?d.groups.length:0,h=l.state,g=null,_=null,v=null,y=null,b=null;if(d){g=d.matches;let e=d.groups.shift();_=e.matched,v=e.action,y=d.rule,d.groups.length===0&&(d=null)}else{if(!f&&u>=s)break;f=!1;let e=this._lexer.tokenizer[h];if(!e&&(e=V0(this._lexer,h),!e))throw z0(this._lexer,`tokenizer state is not defined: `+h);let t=o.substr(u);for(let n of e)if((u===0||!n.matchOnlyAtLineStart)&&(g=t.match(n.resolveRegex(h)),g)){_=g[0],v=n.action;break}}if(g||(g=[``],_=``),v||=(u<s&&(g=[o.charAt(u)],_=g[0]),this._lexer.defaultToken),_===null)break;for(u+=_.length;$Pe(v)&&F0(v)&&v.test;)v=v.test(_,g,h,u===s);let x=null;if(typeof v==`string`||Array.isArray(v))x=v;else if(v.group)x=v.group;else if(v.token!==null&&v.token!==void 0){if(x=v.tokenSubst?B0(this._lexer,v.token,_,g,h):v.token,v.nextEmbedded){if(v.nextEmbedded===`@pop`){if(!c)throw z0(this._lexer,`cannot pop embedded language if not inside one`);c=null}else if(c)throw z0(this._lexer,`cannot enter embedded language from within an embedded language`);else b=B0(this._lexer,v.nextEmbedded,_,g,h)}if(v.goBack&&(u=Math.max(0,u-v.goBack)),v.switchTo&&typeof v.switchTo==`string`){let e=B0(this._lexer,v.switchTo,_,g,h);if(e[0]===`@`&&(e=e.substr(1)),V0(this._lexer,e))l=l.switchTo(e);else throw z0(this._lexer,`trying to switch to a state '`+e+`' that is undefined in rule: `+this._safeRuleName(y))}else if(v.transform&&typeof v.transform==`function`)throw z0(this._lexer,`action.transform not supported`);else if(v.next){if(v.next===`@push`){if(l.depth>=this._lexer.maxStack)throw z0(this._lexer,`maximum tokenizer stack size reached: [`+l.state+`,`+l.parent.state+`,...]`);l=l.push(h)}else if(v.next===`@pop`){if(l.depth<=1)throw z0(this._lexer,`trying to pop an empty stack in rule: `+this._safeRuleName(y));l=l.pop()}else if(v.next===`@popall`)l=l.popall();else{let e=B0(this._lexer,v.next,_,g,h);if(e[0]===`@`&&(e=e.substr(1)),V0(this._lexer,e))l=l.push(e);else throw z0(this._lexer,`trying to set a next state '`+e+`' that is undefined in rule: `+this._safeRuleName(y))}}v.log&&typeof v.log==`string`&&eFe(this._lexer,this._lexer.languageId+`: `+B0(this._lexer,v.log,_,g,h))}if(x===null)throw z0(this._lexer,`lexer rule has no well-defined action in rule: `+this._safeRuleName(y));let S=n=>{let a=this._languageService.getLanguageIdByLanguageName(n)||this._languageService.getLanguageIdByMimeType(n)||n,o=this._getNestedEmbeddedLanguageData(a);if(u<s){let n=e.substr(u);return this._nestedTokenize(n,t,q0.create(l,o),r+u,i)}return q0.create(l,o)};if(Array.isArray(x)){if(d&&d.groups.length>0)throw z0(this._lexer,`groups cannot be nested: `+this._safeRuleName(y));if(g.length!==x.length+1)throw z0(this._lexer,`matched number of groups does not match the number of actions in rule: `+this._safeRuleName(y));let e=0;for(let t=1;t<g.length;t++)e+=g[t].length;if(e!==_.length)throw z0(this._lexer,`with groups, all characters should be matched in consecutive groups in rule: `+this._safeRuleName(y));d={rule:y,matches:g,groups:[]};for(let e=0;e<x.length;e++)d.groups[e]={action:x[e],matched:g[e+1]};u-=_.length;continue}{if(x===`@rematch`&&(u-=_.length,_=``,g=null,x=``,b!==null))return S(b);if(_.length===0){if(s===0||p!==l.depth||h!==l.state||(d?d.groups.length:0)!==m)continue;throw z0(this._lexer,`no progress in tokenizer in rule: `+this._safeRuleName(y))}let e=null;if(P0(x)&&x.indexOf(`@brackets`)===0){let t=x.substr(9),n=sFe(this._lexer,_);if(!n)throw z0(this._lexer,`@brackets token returned but no bracket defined as: `+_);e=R0(n.token+t)}else e=R0(x===``?``:x+this._lexer.tokenPostfix);n<a&&i.emit(n+r,e)}if(b!==null)return S(b)}return q0.create(l,c)}_getNestedEmbeddedLanguageData(e){if(!this._languageService.isRegisteredLanguageId(e))return new K0(e,ZC);e!==this._languageId&&(this._languageService.requestBasicLanguageFeatures(e),My.getOrCreate(e),this._embeddedLanguages[e]=!0);let t=My.get(e);return t?new K0(e,t.getInitialState()):new K0(e,ZC)}};Y0=H0=rFe([iFe(4,Md)],Y0);function sFe(e,t){if(!t)return null;t=L0(e,t);let n=e.brackets;for(let e of n)if(e.open===t)return{token:e.token,bracketType:1};else if(e.close===t)return{token:e.token,bracketType:-1};return null}var cFe=nv(`standaloneColorizer`,{createHTML:e=>e}),X0=class{static colorizeElement(e,t,n,r){r||={};let i=r.theme||`vs`,a=r.mimeType||n.getAttribute(`lang`)||n.getAttribute(`data-lang`);if(!a)return console.error(`Mode not detected`),Promise.resolve();let o=t.getLanguageIdByMimeType(a)||a;e.setTheme(i);let s=n.firstChild?n.firstChild.nodeValue:``;return n.className+=` `+i,this.colorize(t,s||``,o,r).then(e=>{n.innerHTML=cFe?.createHTML(e)??e},e=>console.error(e))}static async colorize(e,t,n,r){let i=e.languageIdCodec,a=4;r&&typeof r.tabSize==`number`&&(a=r.tabSize),pi(t)&&(t=t.substr(1));let o=Ir(t);if(!e.isRegisteredLanguageId(n))return Z0(o,a,i);let s=await My.getOrCreate(n);return s?lFe(o,a,s,i):Z0(o,a,i)}static colorizeLine(e,t,n,r,i=4){let a=Xy.isBasicASCII(e,t);return Kg(new Vg(!1,!0,e,!1,a,Xy.containsRTL(e,a,n),0,r,[],i,0,0,0,0,-1,`none`,!1,!1,null,null,0)).html}static colorizeModelLine(e,t,n=4){let r=e.getLineContent(t);e.tokenization.forceTokenization(t);let i=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,n)}};function lFe(e,t,n,r){return new Promise((i,a)=>{let o=()=>{let s=uFe(e,t,n,r);if(n instanceof Y0){let e=n.getLoadStatus();if(e.loaded===!1){e.promise.then(o,a);return}}i(s)};o()})}function Z0(e,t,n){let r=[],i=new Uint32Array(2);i[0]=0,i[1]=33587200;for(let a=0,o=e.length;a<o;a++){let o=e[a];i[0]=o.length;let s=new yf(i,o,n),c=Xy.isBasicASCII(o,!0),l=Kg(new Vg(!1,!0,o,!1,c,Xy.containsRTL(o,c,!0),0,s,[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));r=r.concat(l.html),r.push(`<br/>`)}return r.join(``)}function uFe(e,t,n,r){let i=[],a=n.getInitialState();for(let o=0,s=e.length;o<s;o++){let s=e[o],c=n.tokenizeEncoded(s,!0,a);yf.convertToEndOffset(c.tokens,s.length);let l=new yf(c.tokens,s,r),u=Xy.isBasicASCII(s,!0),d=Kg(new Vg(!1,!0,s,!1,u,Xy.containsRTL(s,u,!0),0,l.inflate(),[],t,0,0,0,0,-1,`none`,!1,!1,null,null,0));i=i.concat(d.html),i.push(`<br/>`),a=c.endState}return i.join(``)}var dFe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},fFe=function(e,t){return function(n,r){t(n,r,e)}},Q0=class extends D{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new k),this._onCodeEditorAdd=this._register(new k),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new k),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new k),this._onDiffEditorAdd=this._register(new k),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new k),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new Hn,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}removeDiffEditor(e){delete this._diffEditors[e.getId()]&&this._onDiffEditorRemove.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null,t=this.listCodeEditors();for(let n of t){if(n.hasTextFocus())return n;n.hasWidgetFocus()&&(e=n)}return e}removeDecorationType(e){let t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(t=>t.removeDecorationsByType(e))))}setModelProperty(e,t,n){let r=e.toString(),i;this._modelProperties.has(r)?i=this._modelProperties.get(r):(i=new Map,this._modelProperties.set(r,i)),i.set(t,n)}getModelProperty(e,t){let n=e.toString();if(this._modelProperties.has(n))return this._modelProperties.get(n).get(t)}async openCodeEditor(e,t,n){for(let r of this._codeEditorOpenHandlers){let i=await r(e,t,n);if(i!==null)return i}return null}registerCodeEditorOpenHandler(e){return T(this._codeEditorOpenHandlers.unshift(e))}};Q0=dFe([fFe(0,yv)],Q0);var pFe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},$0=function(e,t){return function(n,r){t(n,r,e)}},e2=class extends Q0{constructor(e,t){super(t),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=e.createKey(`editorIsOpen`,!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(e,t,n)=>t?this.doOpenEditor(t,e):null))}_checkContextKey(){let e=!1;for(let t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){let n=t.resource.scheme;if(n===$i.http||n===$i.https)return Js(t.resource.toString()),e}return null}let n=t.options?t.options.selection:null;if(n){if(typeof n.endLineNumber==`number`&&typeof n.endColumn==`number`)e.setSelection(n),e.revealRangeInCenter(n,1);else{let t={lineNumber:n.startLineNumber,column:n.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}}return e}findModel(e,t){let n=e.getModel();return n&&n.uri.toString()!==t.toString()?null:n}};e2=pFe([$0(0,rl),$0(1,yv)],e2),Bd(bc,e2,0);var t2=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},n2=function(e,t){return function(n,r){t(n,r,e)}},r2=class{get mainContainer(){return this._codeEditorService.listCodeEditors().at(0)?.getContainerDomNode()??Qe.document.body}get activeContainer(){return(this._codeEditorService.getFocusedCodeEditor()??this._codeEditorService.getActiveCodeEditor())?.getContainerDomNode()??this.mainContainer}get mainContainerDimension(){return ms(this.mainContainer)}get activeContainerDimension(){return ms(this.activeContainer)}get containers(){return ka(this._codeEditorService.listCodeEditors().map(e=>e.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){this._codeEditorService.getFocusedCodeEditor()?.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=O.None,this.onDidLayoutActiveContainer=O.None,this.onDidLayoutContainer=O.None,this.onDidChangeActiveContainer=O.None,this.onDidAddContainer=O.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};r2=t2([n2(0,bc)],r2);var i2=class extends r2{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};i2=t2([n2(1,bc)],i2),Bd(kP,r2,1);var mFe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},a2=function(e,t){return function(n,r){t(n,r,e)}};function o2(e){return e.scheme===$i.file?e.fsPath:e.path}var s2=0,c2=class{constructor(e,t,n,r,i,a,o){this.id=++s2,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=n,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?` VALID`:`INVALID`}] ${this.actual.constructor.name} - ${this.actual}`}},l2=class{constructor(e,t){this.resourceLabel=e,this.reason=t}},u2=class{constructor(){this.elements=new Map}createMessage(){let e=[],t=[];for(let[,n]of this.elements)(n.reason===0?e:t).push(n.resourceLabel);let n=[];return e.length>0&&n.push(C(2030,`The following files have been closed and modified on disk: {0}.`,e.join(`, `))),t.length>0&&n.push(C(2031,`The following files have been modified in an incompatible way: {0}.`,t.join(`, `))),n.join(`
446
446
  `)}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}},hFe=class{constructor(e,t,n,r,i,a,o){this.id=++s2,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=n,this.groupId=r,this.groupOrder=i,this.sourceId=a,this.sourceOrder=o,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split==`function`}removeResource(e,t,n){this.removedResources||=new u2,this.removedResources.has(t)||this.removedResources.set(t,new l2(e,n))}setValid(e,t,n){n?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||=new u2,this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new l2(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?`INVALID`:` VALID`}] ${this.actual.constructor.name} - ${this.actual}`}},d2=class{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(let e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(let e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){let e=[];e.push(`* ${this.strResource}:`);for(let t=0;t<this._past.length;t++)e.push(` * [UNDO] ${this._past[t]}`);for(let t=this._future.length-1;t>=0;t--)e.push(` * [REDO] ${this._future[t]}`);return e.join(`
447
447
  `)}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(let n of this._past)t(n.actual)&&this._setElementValidFlag(n,e);for(let n of this._future)t(n.actual)&&this._setElementValidFlag(n,e)}pushElement(e){for(let e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){let t=[];for(let e=0,n=this._past.length;e<n;e++)t.push(this._past[e].id);for(let e=this._future.length-1;e>=0;e--)t.push(this._future[e].id);return new Sw(e,t)}restoreSnapshot(e){let t=e.elements.length,n=!0,r=0,i=-1;for(let a=0,o=this._past.length;a<o;a++,r++){let o=this._past[a];n&&(r>=t||o.id!==e.elements[r])&&(n=!1,i=0),!n&&o.type===1&&o.removeResource(this.resourceLabel,this.strResource,0)}let a=-1;for(let i=this._future.length-1;i>=0;i--,r++){let o=this._future[i];n&&(r>=t||o.id!==e.elements[r])&&(n=!1,a=i),!n&&o.type===1&&o.removeResource(this.resourceLabel,this.strResource,0)}i!==-1&&(this._past=this._past.slice(0,i)),a!==-1&&(this._future=this._future.slice(a+1)),this.versionId++}getElements(){let e=[],t=[];for(let t of this._past)e.push(t.actual);for(let e of this._future)t.push(e.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let n=this._past.length-1;n>=0;n--)if(this._past[n]===e){t.has(this.strResource)?this._past[n]=t.get(this.strResource):this._past.splice(n,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let n=this._future.length-1;n>=0;n--)if(this._future[n]===e){t.has(this.strResource)?this._future[n]=t.get(this.strResource):this._future.splice(n,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}},f2=class{constructor(e){this.editStacks=e,this._versionIds=[];for(let e=0,t=this.editStacks.length;e<t;e++)this._versionIds[e]=this.editStacks[e].versionId}isValid(){for(let e=0,t=this.editStacks.length;e<t;e++)if(this._versionIds[e]!==this.editStacks[e].versionId)return!1;return!0}},p2=new d2(``,``);p2.locked=!0;var m2=class{constructor(e,t){this._dialogService=e,this._notificationService=t,this._editStacks=new Map,this._uriComparisonKeyComputers=[]}getUriComparisonKey(e){for(let t of this._uriComparisonKeyComputers)if(t[0]===e.scheme)return t[1].getComparisonKey(e);return e.toString()}_print(e){console.log(`------------------------------------`),console.log(`AFTER ${e}: `);let t=[];for(let e of this._editStacks)t.push(e[1].toString());console.log(t.join(`
@@ -1179,16 +1179,16 @@ ${c4(L.menuSubmenu)}
1179
1179
 
1180
1180
  ${JSON.stringify(i,null,2)}`);return t.value}}async notify(e,t,n){if(!this.checkChannel(this._requestSender))throw Error();let r=e.paramsSerializer.serializeToJson(t);d5(r),this._requestSender.sendNotification({method:e.method,params:r},n)}};function d5(e){if(e!==null&&Array.isArray(e)&&typeof e!=`object`)throw Error(`Invalid value! Only null, array and object is allowed.`)}var f5=class e extends Error{constructor(t,n,r=r5.genericApplicationError){super(t),Z8(this,`data`),Z8(this,`code`),this.data=n,this.code=r,Object.setPrototypeOf(this,e.prototype)}},CUe=class e{constructor(e,t,n,r,i=!1){Z8(this,`method`),Z8(this,`paramsSerializer`),Z8(this,`resultSerializer`),Z8(this,`errorSerializer`),Z8(this,`isOptional`),Z8(this,`kind`,`request`),this.method=e,this.paramsSerializer=t,this.resultSerializer=n,this.errorSerializer=r,this.isOptional=i}withMethod(t){return new e(t,this.paramsSerializer,this.resultSerializer,this.errorSerializer)}optional(){return new e(this.method,this.paramsSerializer,this.resultSerializer,this.errorSerializer,!0)}},wUe=class e{constructor(e,t){Z8(this,`method`),Z8(this,`paramsSerializer`),Z8(this,`kind`,`notification`),this.method=e,this.paramsSerializer=t}withMethod(t){return new e(t,this.paramsSerializer)}};function p5(e){return new CUe((e||{}).method,s5.sAny(),s5.sAny(),s5.sAny())}function m5(e){return new wUe((e||{}).method,s5.sAny())}var h5=($8=Symbol(),e5=class{constructor(e){Z8(this,`error`),Z8(this,$8),this.error=e}},Z8(e5,`factory`,e=>new e5(e)),e5);function TUe(e){let t=g5(e.server),n=g5(e.client);return new EUe(e.tags||[],t,n)}function g5(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.method?r.method:n;t[n]=r.withMethod(e)}return t}var EUe=class e{constructor(e=[],t,n){Z8(this,`tags`),Z8(this,`server`),Z8(this,`client`),this.tags=e,this.server=t,this.client=n}_onlyDesignTime(){return Error(`This property is not meant to be accessed at runtime`)}get TContractObject(){throw this._onlyDesignTime()}get TClientInterface(){throw this._onlyDesignTime()}get TServerInterface(){throw this._onlyDesignTime()}get TClientHandler(){throw this._onlyDesignTime()}get TServerHandler(){throw this._onlyDesignTime()}get TTags(){throw this._onlyDesignTime()}getInterface(e,t,n,r){let i=this.buildCounterpart(e,n),a=this.registerHandlers(e,t,r,i);return{counterpart:i,dispose:()=>a.dispose()}}buildCounterpart(e,t){let n={};for(let[r,i]of Object.entries(t)){let t;t=i.kind===`request`?i.isOptional?async(t,n)=>{t===void 0&&(t={});try{return await e.request(i,t,n)}catch(e){if(e&&e.code===r5.methodNotFound)return c5;throw e}}:(t,n)=>(t===void 0&&(t={}),e.request(i,t,n)):(t,n)=>(t===void 0&&(t={}),e.notify(i,t,n)),n[r]=t}return n}registerHandlers(e,t,n,r){let i=[];for(let[a,o]of Object.entries(t))if(o.kind===`request`){let t=n[a];if(!t)continue;let s=this.createRequestHandler(r,t);i.push(e.registerRequestHandler(o,s))}else{let t=n[a];t&&i.push(e.registerNotificationHandler(o,(e,n)=>{t(e,{context:n,counterpart:r})}))}return{dispose:()=>i.forEach(e=>e.dispose())}}createRequestHandler(e,t){return async(n,r,i)=>{let a=await t(n,{context:i,counterpart:e,newErr:h5.factory,requestId:r});return a instanceof h5?a.error:{ok:a}}}static getServerFromStream(e,t,n,r){let i=u5.fromTransport(t,n),{server:a}=e.getServer(i,r);return i.startListen(),{channel:i,server:a}}static registerServerToStream(e,t,n,r){let i=u5.fromTransport(t,n),{client:a}=e.registerServer(i,r);return i.startListen(),{channel:i,client:a}}getServer(e,t){let{counterpart:n,dispose:r}=this.getInterface(e,this.client,this.server,t);return{server:n,dispose:r}}registerServer(e,t){let{counterpart:n,dispose:r}=this.getInterface(e,this.server,this.client,t);return{client:n,dispose:r}}withContext(){return new e(this.tags,this.server,this.client)}},_5=(function(e){return e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`,e})({}),v5=(function(e){return e[e.File=1]=`File`,e[e.Module=2]=`Module`,e[e.Namespace=3]=`Namespace`,e[e.Package=4]=`Package`,e[e.Class=5]=`Class`,e[e.Method=6]=`Method`,e[e.Property=7]=`Property`,e[e.Field=8]=`Field`,e[e.Constructor=9]=`Constructor`,e[e.Enum=10]=`Enum`,e[e.Interface=11]=`Interface`,e[e.Function=12]=`Function`,e[e.Variable=13]=`Variable`,e[e.Constant=14]=`Constant`,e[e.String=15]=`String`,e[e.Number=16]=`Number`,e[e.Boolean=17]=`Boolean`,e[e.Array=18]=`Array`,e[e.Object=19]=`Object`,e[e.Key=20]=`Key`,e[e.Null=21]=`Null`,e[e.EnumMember=22]=`EnumMember`,e[e.Struct=23]=`Struct`,e[e.Event=24]=`Event`,e[e.Operator=25]=`Operator`,e[e.TypeParameter=26]=`TypeParameter`,e})({}),y5=(function(e){return e[e.Deprecated=1]=`Deprecated`,e})({}),b5=(function(e){return e[e.Type=1]=`Type`,e[e.Parameter=2]=`Parameter`,e})({}),DUe=(function(e){return e[e.None=0]=`None`,e[e.Full=1]=`Full`,e[e.Incremental=2]=`Incremental`,e})({}),x5=(function(e){return e[e.Text=1]=`Text`,e[e.Method=2]=`Method`,e[e.Function=3]=`Function`,e[e.Constructor=4]=`Constructor`,e[e.Field=5]=`Field`,e[e.Variable=6]=`Variable`,e[e.Class=7]=`Class`,e[e.Interface=8]=`Interface`,e[e.Module=9]=`Module`,e[e.Property=10]=`Property`,e[e.Unit=11]=`Unit`,e[e.Value=12]=`Value`,e[e.Enum=13]=`Enum`,e[e.Keyword=14]=`Keyword`,e[e.Snippet=15]=`Snippet`,e[e.Color=16]=`Color`,e[e.File=17]=`File`,e[e.Reference=18]=`Reference`,e[e.Folder=19]=`Folder`,e[e.EnumMember=20]=`EnumMember`,e[e.Constant=21]=`Constant`,e[e.Struct=22]=`Struct`,e[e.Event=23]=`Event`,e[e.Operator=24]=`Operator`,e[e.TypeParameter=25]=`TypeParameter`,e})({}),OUe=(function(e){return e[e.Deprecated=1]=`Deprecated`,e})({}),kUe=(function(e){return e[e.PlainText=1]=`PlainText`,e[e.Snippet=2]=`Snippet`,e})({}),S5=(function(e){return e[e.Text=1]=`Text`,e[e.Read=2]=`Read`,e[e.Write=3]=`Write`,e})({}),C5=(function(e){return e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`,e})({}),w5=(function(e){return e.PlainText=`plaintext`,e.Markdown=`markdown`,e})({}),T5=(function(e){return e[e.Error=1]=`Error`,e[e.Warning=2]=`Warning`,e[e.Information=3]=`Information`,e[e.Hint=4]=`Hint`,e})({}),E5=(function(e){return e[e.Unnecessary=1]=`Unnecessary`,e[e.Deprecated=2]=`Deprecated`,e})({}),D5=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.TriggerForIncompleteCompletions=3]=`TriggerForIncompleteCompletions`,e})({}),O5=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.ContentChange=3]=`ContentChange`,e})({}),k5=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.Automatic=2]=`Automatic`,e})({}),AUe=(function(e){return e.Relative=`relative`,e})({}),A5=class{constructor(e){this.method=e}},j5={textDocumentImplementation:new A5(`textDocument/implementation`),textDocumentTypeDefinition:new A5(`textDocument/typeDefinition`),textDocumentDocumentColor:new A5(`textDocument/documentColor`),textDocumentColorPresentation:new A5(`textDocument/colorPresentation`),textDocumentFoldingRange:new A5(`textDocument/foldingRange`),textDocumentDeclaration:new A5(`textDocument/declaration`),textDocumentSelectionRange:new A5(`textDocument/selectionRange`),textDocumentPrepareCallHierarchy:new A5(`textDocument/prepareCallHierarchy`),textDocumentSemanticTokensFull:new A5(`textDocument/semanticTokens/full`),textDocumentSemanticTokensFullDelta:new A5(`textDocument/semanticTokens/full/delta`),textDocumentLinkedEditingRange:new A5(`textDocument/linkedEditingRange`),workspaceWillCreateFiles:new A5(`workspace/willCreateFiles`),workspaceWillRenameFiles:new A5(`workspace/willRenameFiles`),workspaceWillDeleteFiles:new A5(`workspace/willDeleteFiles`),textDocumentMoniker:new A5(`textDocument/moniker`),textDocumentPrepareTypeHierarchy:new A5(`textDocument/prepareTypeHierarchy`),textDocumentInlineValue:new A5(`textDocument/inlineValue`),textDocumentInlayHint:new A5(`textDocument/inlayHint`),textDocumentDiagnostic:new A5(`textDocument/diagnostic`),textDocumentInlineCompletion:new A5(`textDocument/inlineCompletion`),textDocumentWillSaveWaitUntil:new A5(`textDocument/willSaveWaitUntil`),textDocumentCompletion:new A5(`textDocument/completion`),textDocumentHover:new A5(`textDocument/hover`),textDocumentSignatureHelp:new A5(`textDocument/signatureHelp`),textDocumentDefinition:new A5(`textDocument/definition`),textDocumentReferences:new A5(`textDocument/references`),textDocumentDocumentHighlight:new A5(`textDocument/documentHighlight`),textDocumentDocumentSymbol:new A5(`textDocument/documentSymbol`),textDocumentCodeAction:new A5(`textDocument/codeAction`),workspaceSymbol:new A5(`workspace/symbol`),textDocumentCodeLens:new A5(`textDocument/codeLens`),textDocumentDocumentLink:new A5(`textDocument/documentLink`),textDocumentFormatting:new A5(`textDocument/formatting`),textDocumentRangeFormatting:new A5(`textDocument/rangeFormatting`),textDocumentRangesFormatting:new A5(`textDocument/rangesFormatting`),textDocumentOnTypeFormatting:new A5(`textDocument/onTypeFormatting`),textDocumentRename:new A5(`textDocument/rename`),workspaceExecuteCommand:new A5(`workspace/executeCommand`),workspaceDidCreateFiles:new A5(`workspace/didCreateFiles`),workspaceDidRenameFiles:new A5(`workspace/didRenameFiles`),workspaceDidDeleteFiles:new A5(`workspace/didDeleteFiles`),workspaceDidChangeConfiguration:new A5(`workspace/didChangeConfiguration`),textDocumentDidOpen:new A5(`textDocument/didOpen`),textDocumentDidChange:new A5(`textDocument/didChange`),textDocumentDidClose:new A5(`textDocument/didClose`),textDocumentDidSave:new A5(`textDocument/didSave`),textDocumentWillSave:new A5(`textDocument/willSave`),workspaceDidChangeWatchedFiles:new A5(`workspace/didChangeWatchedFiles`)},M5=TUe({server:{textDocumentImplementation:p5({method:`textDocument/implementation`}),textDocumentTypeDefinition:p5({method:`textDocument/typeDefinition`}),textDocumentDocumentColor:p5({method:`textDocument/documentColor`}),textDocumentColorPresentation:p5({method:`textDocument/colorPresentation`}),textDocumentFoldingRange:p5({method:`textDocument/foldingRange`}),textDocumentDeclaration:p5({method:`textDocument/declaration`}),textDocumentSelectionRange:p5({method:`textDocument/selectionRange`}),textDocumentPrepareCallHierarchy:p5({method:`textDocument/prepareCallHierarchy`}),callHierarchyIncomingCalls:p5({method:`callHierarchy/incomingCalls`}),callHierarchyOutgoingCalls:p5({method:`callHierarchy/outgoingCalls`}),textDocumentSemanticTokensFull:p5({method:`textDocument/semanticTokens/full`}),textDocumentSemanticTokensFullDelta:p5({method:`textDocument/semanticTokens/full/delta`}),textDocumentSemanticTokensRange:p5({method:`textDocument/semanticTokens/range`}),textDocumentLinkedEditingRange:p5({method:`textDocument/linkedEditingRange`}),workspaceWillCreateFiles:p5({method:`workspace/willCreateFiles`}),workspaceWillRenameFiles:p5({method:`workspace/willRenameFiles`}),workspaceWillDeleteFiles:p5({method:`workspace/willDeleteFiles`}),textDocumentMoniker:p5({method:`textDocument/moniker`}),textDocumentPrepareTypeHierarchy:p5({method:`textDocument/prepareTypeHierarchy`}),typeHierarchySupertypes:p5({method:`typeHierarchy/supertypes`}),typeHierarchySubtypes:p5({method:`typeHierarchy/subtypes`}),textDocumentInlineValue:p5({method:`textDocument/inlineValue`}),textDocumentInlayHint:p5({method:`textDocument/inlayHint`}),inlayHintResolve:p5({method:`inlayHint/resolve`}),textDocumentDiagnostic:p5({method:`textDocument/diagnostic`}),workspaceDiagnostic:p5({method:`workspace/diagnostic`}),textDocumentInlineCompletion:p5({method:`textDocument/inlineCompletion`}),initialize:p5({method:`initialize`}),shutdown:p5({method:`shutdown`}),textDocumentWillSaveWaitUntil:p5({method:`textDocument/willSaveWaitUntil`}),textDocumentCompletion:p5({method:`textDocument/completion`}),completionItemResolve:p5({method:`completionItem/resolve`}),textDocumentHover:p5({method:`textDocument/hover`}),textDocumentSignatureHelp:p5({method:`textDocument/signatureHelp`}),textDocumentDefinition:p5({method:`textDocument/definition`}),textDocumentReferences:p5({method:`textDocument/references`}),textDocumentDocumentHighlight:p5({method:`textDocument/documentHighlight`}),textDocumentDocumentSymbol:p5({method:`textDocument/documentSymbol`}),textDocumentCodeAction:p5({method:`textDocument/codeAction`}),codeActionResolve:p5({method:`codeAction/resolve`}),workspaceSymbol:p5({method:`workspace/symbol`}),workspaceSymbolResolve:p5({method:`workspaceSymbol/resolve`}),textDocumentCodeLens:p5({method:`textDocument/codeLens`}),codeLensResolve:p5({method:`codeLens/resolve`}),textDocumentDocumentLink:p5({method:`textDocument/documentLink`}),documentLinkResolve:p5({method:`documentLink/resolve`}),textDocumentFormatting:p5({method:`textDocument/formatting`}),textDocumentRangeFormatting:p5({method:`textDocument/rangeFormatting`}),textDocumentRangesFormatting:p5({method:`textDocument/rangesFormatting`}),textDocumentOnTypeFormatting:p5({method:`textDocument/onTypeFormatting`}),textDocumentRename:p5({method:`textDocument/rename`}),textDocumentPrepareRename:p5({method:`textDocument/prepareRename`}),workspaceExecuteCommand:p5({method:`workspace/executeCommand`}),workspaceDidChangeWorkspaceFolders:m5({method:`workspace/didChangeWorkspaceFolders`}),windowWorkDoneProgressCancel:m5({method:`window/workDoneProgress/cancel`}),workspaceDidCreateFiles:m5({method:`workspace/didCreateFiles`}),workspaceDidRenameFiles:m5({method:`workspace/didRenameFiles`}),workspaceDidDeleteFiles:m5({method:`workspace/didDeleteFiles`}),notebookDocumentDidOpen:m5({method:`notebookDocument/didOpen`}),notebookDocumentDidChange:m5({method:`notebookDocument/didChange`}),notebookDocumentDidSave:m5({method:`notebookDocument/didSave`}),notebookDocumentDidClose:m5({method:`notebookDocument/didClose`}),initialized:m5({method:`initialized`}),exit:m5({method:`exit`}),workspaceDidChangeConfiguration:m5({method:`workspace/didChangeConfiguration`}),textDocumentDidOpen:m5({method:`textDocument/didOpen`}),textDocumentDidChange:m5({method:`textDocument/didChange`}),textDocumentDidClose:m5({method:`textDocument/didClose`}),textDocumentDidSave:m5({method:`textDocument/didSave`}),textDocumentWillSave:m5({method:`textDocument/willSave`}),workspaceDidChangeWatchedFiles:m5({method:`workspace/didChangeWatchedFiles`}),setTrace:m5({method:`$/setTrace`}),cancelRequest:m5({method:`$/cancelRequest`}),progress:m5({method:`$/progress`})},client:{workspaceWorkspaceFolders:p5({method:`workspace/workspaceFolders`}).optional(),workspaceConfiguration:p5({method:`workspace/configuration`}).optional(),workspaceFoldingRangeRefresh:p5({method:`workspace/foldingRange/refresh`}).optional(),windowWorkDoneProgressCreate:p5({method:`window/workDoneProgress/create`}).optional(),workspaceSemanticTokensRefresh:p5({method:`workspace/semanticTokens/refresh`}).optional(),windowShowDocument:p5({method:`window/showDocument`}).optional(),workspaceInlineValueRefresh:p5({method:`workspace/inlineValue/refresh`}).optional(),workspaceInlayHintRefresh:p5({method:`workspace/inlayHint/refresh`}).optional(),workspaceDiagnosticRefresh:p5({method:`workspace/diagnostic/refresh`}).optional(),clientRegisterCapability:p5({method:`client/registerCapability`}).optional(),clientUnregisterCapability:p5({method:`client/unregisterCapability`}).optional(),windowShowMessageRequest:p5({method:`window/showMessageRequest`}).optional(),workspaceCodeLensRefresh:p5({method:`workspace/codeLens/refresh`}).optional(),workspaceApplyEdit:p5({method:`workspace/applyEdit`}).optional(),windowShowMessage:m5({method:`window/showMessage`}),windowLogMessage:m5({method:`window/logMessage`}),telemetryEvent:m5({method:`telemetry/event`}),textDocumentPublishDiagnostics:m5({method:`textDocument/publishDiagnostics`}),logTrace:m5({method:`$/logTrace`}),cancelRequest:m5({method:`$/cancelRequest`}),progress:m5({method:`$/progress`})}});function N5(e,t){if(e.textModel!==t)throw Error(`Expected text model to be ${t}, but got ${e.textModel}`);return e}var P5=(t5=class{constructor(){Z8(this,`_store`,new F5)}dispose(){this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}},Z8(t5,`None`,Object.freeze({dispose(){}})),t5),F5=(n5=class{constructor(){Z8(this,`_toDispose`,new Set),Z8(this,`_isDisposed`,!1)}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){if(this._toDispose.size!==0)try{for(let e of this._toDispose)e.dispose()}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._isDisposed?n5.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(e),e}},Z8(n5,`DISABLE_DISPOSED_WARNING`,!1),n5),I5=new Map([[C5.Empty,``],[C5.QuickFix,`quickfix`],[C5.Refactor,`refactor`],[C5.RefactorExtract,`refactor.extract`],[C5.RefactorInline,`refactor.inline`],[C5.RefactorRewrite,`refactor.rewrite`],[C5.Source,`source`],[C5.SourceOrganizeImports,`source.organizeImports`],[C5.SourceFixAll,`source.fixAll`]]);function jUe(e){if(e)return I5.get(e)??e}var MUe=new Map([[Q.CodeActionTriggerType.Invoke,k5.Invoked],[Q.CodeActionTriggerType.Auto,k5.Automatic]]);function NUe(e){return MUe.get(e)??k5.Invoked}var L5=new Map([[x5.Text,Q.CompletionItemKind.Text],[x5.Method,Q.CompletionItemKind.Method],[x5.Function,Q.CompletionItemKind.Function],[x5.Constructor,Q.CompletionItemKind.Constructor],[x5.Field,Q.CompletionItemKind.Field],[x5.Variable,Q.CompletionItemKind.Variable],[x5.Class,Q.CompletionItemKind.Class],[x5.Interface,Q.CompletionItemKind.Interface],[x5.Module,Q.CompletionItemKind.Module],[x5.Property,Q.CompletionItemKind.Property],[x5.Unit,Q.CompletionItemKind.Unit],[x5.Value,Q.CompletionItemKind.Value],[x5.Enum,Q.CompletionItemKind.Enum],[x5.Keyword,Q.CompletionItemKind.Keyword],[x5.Snippet,Q.CompletionItemKind.Snippet],[x5.Color,Q.CompletionItemKind.Color],[x5.File,Q.CompletionItemKind.File],[x5.Reference,Q.CompletionItemKind.Reference],[x5.Folder,Q.CompletionItemKind.Folder],[x5.EnumMember,Q.CompletionItemKind.EnumMember],[x5.Constant,Q.CompletionItemKind.Constant],[x5.Struct,Q.CompletionItemKind.Struct],[x5.Event,Q.CompletionItemKind.Event],[x5.Operator,Q.CompletionItemKind.Operator],[x5.TypeParameter,Q.CompletionItemKind.TypeParameter]]);function PUe(e){return e?L5.get(e)??Q.CompletionItemKind.Text:Q.CompletionItemKind.Text}var R5=new Map([[OUe.Deprecated,Q.CompletionItemTag.Deprecated]]);function FUe(e){return R5.get(e)}var IUe=new Map([[Q.CompletionTriggerKind.Invoke,D5.Invoked],[Q.CompletionTriggerKind.TriggerCharacter,D5.TriggerCharacter],[Q.CompletionTriggerKind.TriggerForIncompleteCompletions,D5.TriggerForIncompleteCompletions]]);function LUe(e){return IUe.get(e)??D5.Invoked}var RUe=new Map([[kUe.Snippet,Q.CompletionItemInsertTextRule.InsertAsSnippet]]);function zUe(e){if(e)return RUe.get(e)}var z5=new Map([[v5.File,Q.SymbolKind.File],[v5.Module,Q.SymbolKind.Module],[v5.Namespace,Q.SymbolKind.Namespace],[v5.Package,Q.SymbolKind.Package],[v5.Class,Q.SymbolKind.Class],[v5.Method,Q.SymbolKind.Method],[v5.Property,Q.SymbolKind.Property],[v5.Field,Q.SymbolKind.Field],[v5.Constructor,Q.SymbolKind.Constructor],[v5.Enum,Q.SymbolKind.Enum],[v5.Interface,Q.SymbolKind.Interface],[v5.Function,Q.SymbolKind.Function],[v5.Variable,Q.SymbolKind.Variable],[v5.Constant,Q.SymbolKind.Constant],[v5.String,Q.SymbolKind.String],[v5.Number,Q.SymbolKind.Number],[v5.Boolean,Q.SymbolKind.Boolean],[v5.Array,Q.SymbolKind.Array],[v5.Object,Q.SymbolKind.Object],[v5.Key,Q.SymbolKind.Key],[v5.Null,Q.SymbolKind.Null],[v5.EnumMember,Q.SymbolKind.EnumMember],[v5.Struct,Q.SymbolKind.Struct],[v5.Event,Q.SymbolKind.Event],[v5.Operator,Q.SymbolKind.Operator],[v5.TypeParameter,Q.SymbolKind.TypeParameter]]);function B5(e){return z5.get(e)??Q.SymbolKind.File}var BUe=new Map([[y5.Deprecated,Q.SymbolTag.Deprecated]]);function V5(e){return BUe.get(e)}var VUe=new Map([[S5.Text,Q.DocumentHighlightKind.Text],[S5.Read,Q.DocumentHighlightKind.Read],[S5.Write,Q.DocumentHighlightKind.Write]]);function HUe(e){return e?VUe.get(e)??Q.DocumentHighlightKind.Text:Q.DocumentHighlightKind.Text}var UUe=new Map([[_5.Comment,Q.FoldingRangeKind.Comment],[_5.Imports,Q.FoldingRangeKind.Imports],[_5.Region,Q.FoldingRangeKind.Region]]);function WUe(e){if(e)return UUe.get(e)}var GUe=new Map([[B6.Error,T5.Error],[B6.Warning,T5.Warning],[B6.Info,T5.Information],[B6.Hint,T5.Hint]]);function KUe(e){return GUe.get(e)??T5.Error}var qUe=new Map([[T5.Error,B6.Error],[T5.Warning,B6.Warning],[T5.Information,B6.Info],[T5.Hint,B6.Hint]]);function JUe(e){return e?qUe.get(e)??B6.Error:B6.Error}var H5=new Map([[E5.Unnecessary,V6.Unnecessary],[E5.Deprecated,V6.Deprecated]]);function YUe(e){return H5.get(e)}var XUe=new Map([[Q.SignatureHelpTriggerKind.Invoke,O5.Invoked],[Q.SignatureHelpTriggerKind.TriggerCharacter,O5.TriggerCharacter],[Q.SignatureHelpTriggerKind.ContentChange,O5.ContentChange]]);function ZUe(e){return XUe.get(e)??O5.Invoked}function U5(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}}var QUe=new Map([[b5.Type,Q.InlayHintKind.Type],[b5.Parameter,Q.InlayHintKind.Parameter]]);function $Ue(e){return e?QUe.get(e)??Q.InlayHintKind.Type:Q.InlayHintKind.Type}function W5(e,t){if(`targetUri`in e){let n=t.bridge.translateBackRange({uri:e.targetUri},e.targetRange);return{uri:n.textModel.uri,range:n.range,originSelectionRange:e.originSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.originSelectionRange).range:void 0,targetSelectionRange:e.targetSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.targetSelectionRange).range:void 0}}{let n=t.bridge.translateBackRange({uri:e.uri},e.range);return{uri:n.textModel.uri,range:n.range}}}function G5(e){return!e||e.length===0?{language:`*`}:e.map(e=>`notebook`in e?typeof e.notebook==`string`?{notebookType:e.notebook,language:e.language}:{notebookType:e.notebook.notebookType,language:e.language,pattern:e.notebook.pattern,scheme:e.notebook.scheme}:{language:e.language,pattern:e.pattern,scheme:e.scheme})}function eWe(e,t){if(!t)return!0;let n=e.getLanguageId();if(e.uri.toString(!0),!t||t.length===0)return!0;for(let e of t)if(!(e.language&&e.language!==`*`&&e.language!==n))return!0;return!1}function K5(e){let t={severity:JUe(e.severity),startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,message:e.message,source:e.source,code:typeof e.code==`string`?e.code:e.code?.toString()};return e.tags&&(t.tags=e.tags.map(e=>YUe(e)).filter(e=>e!==void 0)),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(e=>({resource:H6.parse(e.location.uri),startLineNumber:e.location.range.start.line+1,startColumn:e.location.range.start.character+1,endLineNumber:e.location.range.end.line+1,endColumn:e.location.range.end.character+1,message:e.message}))),t}var tWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{completion:{dynamicRegistration:!0,contextSupport:!0,completionItemKind:{valueSet:Array.from(L5.keys())},completionItem:{tagSupport:{valueSet:Array.from(R5.keys())},commitCharactersSupport:!0,deprecatedSupport:!0,preselectSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentCompletion,!0,e=>Q.registerCompletionItemProvider(G5(e.documentSelector),new nWe(this._connection,e))))}},nWe=class{constructor(e,t){Z8(this,`resolveCompletionItem`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCompletionItem=async(e,t)=>(q5(e,await this._client.server.completionItemResolve(e._lspItem),this._client.bridge,e._translated,e._model),e))}get triggerCharacters(){return this._capabilities.triggerCharacters}async provideCompletionItems(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentCompletion({textDocument:i.textDocument,position:i.position,context:n.triggerCharacter?{triggerKind:LUe(n.triggerKind),triggerCharacter:n.triggerCharacter}:void 0});return a?{suggestions:(Array.isArray(a)?a:a.items).map(n=>({...rWe(n,this._client.bridge,i,e,t),_lspItem:n,_translated:i,_model:e}))}:{suggestions:[]}}};function rWe(e,t,n,r,i){let a=e.insertText||e.label,o;e.textEdit&&(`range`in e.textEdit?(a=e.textEdit.newText,o=N5(t.translateBackRange(n.textDocument,e.textEdit.range),r).range):(a=e.textEdit.newText,o={insert:N5(t.translateBackRange(n.textDocument,e.textEdit.insert),r).range,replace:N5(t.translateBackRange(n.textDocument,e.textEdit.replace),r).range})),o||=L6.fromPositions(i,i);let s={label:e.label,kind:PUe(e.kind),insertText:a,sortText:e.sortText,filterText:e.filterText,preselect:e.preselect,commitCharacters:e.commitCharacters,range:o};return q5(s,e,t,n,r),s}function q5(e,t,n,r,i){t.detail!==void 0&&(e.detail=t.detail),t.documentation!==void 0&&(e.documentation=iWe(t.documentation)),t.insertTextFormat!==void 0&&(e.insertTextRules=zUe(t.insertTextFormat)),t.tags&&t.tags.length>0&&(e.tags=t.tags.map(FUe).filter(e=>e!==void 0)),t.additionalTextEdits&&t.additionalTextEdits.length>0&&(e.additionalTextEdits=t.additionalTextEdits.map(e=>({range:N5(n.translateBackRange(r.textDocument,e.range),i).range,text:e.newText}))),t.command&&(e.command=U5(t.command))}function iWe(e){if(e)return typeof e==`string`?e:{value:e.value,isTrusted:!0}}var aWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{hover:{dynamicRegistration:!0,contentFormat:[w5.Markdown,w5.PlainText]}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentHover,!0,e=>Q.registerHoverProvider(G5(e.documentSelector),new oWe(this._connection,e))))}},oWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideHover(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentHover({textDocument:r.textDocument,position:r.position});return!i||!i.contents?null:{contents:sWe(i.contents),range:i.range?this._client.bridge.translateBackRange(r.textDocument,i.range).range:void 0}}};function sWe(e){return Array.isArray(e)?e.map(e=>J5(e)):[J5(e)]}function J5(e){return typeof e==`string`?{value:e,isTrusted:!0}:`kind`in e?{value:e.value,isTrusted:!0}:{value:`\`\`\`${e.language}
1181
1181
  ${e.value}
1182
- \`\`\``,isTrusted:!0}}var cWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{signatureHelp:{dynamicRegistration:!0,contextSupport:!0,signatureInformation:{documentationFormat:[w5.Markdown,w5.PlainText],parameterInformation:{labelOffsetSupport:!0},activeParameterSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentSignatureHelp,!0,e=>Q.registerSignatureHelpProvider(G5(e.documentSelector),new lWe(this._connection,e))))}},lWe=class{constructor(e,t){Z8(this,`signatureHelpTriggerCharacters`),Z8(this,`signatureHelpRetriggerCharacters`),this._client=e,this._capabilities=t,this.signatureHelpTriggerCharacters=t.triggerCharacters,this.signatureHelpRetriggerCharacters=t.retriggerCharacters}async provideSignatureHelp(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentSignatureHelp({textDocument:i.textDocument,position:i.position,context:{triggerKind:ZUe(r.triggerKind),triggerCharacter:r.triggerCharacter,isRetrigger:r.isRetrigger}});return a?{value:{signatures:a.signatures.map(e=>({label:e.label,documentation:Y5(e.documentation),parameters:e.parameters?.map(e=>({label:e.label,documentation:Y5(e.documentation)}))||[],activeParameter:e.activeParameter})),activeSignature:a.activeSignature||0,activeParameter:a.activeParameter||0},dispose:()=>{}}:null}};function Y5(e){if(e)return typeof e==`string`?e:{value:e.value,isTrusted:!0}}var uWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{definition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDefinition,!0,e=>Q.registerDefinitionProvider(G5(e.documentSelector),new dWe(this._connection,e))))}},dWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDefinition(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W5(e,this._client)):W5(i,this._client):null}},fWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{declaration:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDeclaration,!0,e=>Q.registerDeclarationProvider(G5(e.documentSelector),new pWe(this._connection,e))))}},pWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDeclaration(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDeclaration({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W5(e,this._client)):W5(i,this._client):null}},mWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{typeDefinition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentTypeDefinition,!0,e=>Q.registerTypeDefinitionProvider(G5(e.documentSelector),new hWe(this._connection,e))))}},hWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideTypeDefinition(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentTypeDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W5(e,this._client)):W5(i,this._client):null}},gWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{implementation:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentImplementation,!0,e=>Q.registerImplementationProvider(G5(e.documentSelector),new _We(this._connection,e))))}},_We=class{constructor(e,t){this._client=e,this._capabilities=t}async provideImplementation(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentImplementation({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W5(e,this._client)):W5(i,this._client):null}},vWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{references:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentReferences,!0,e=>Q.registerReferenceProvider(G5(e.documentSelector),new yWe(this._connection,e))))}},yWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideReferences(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentReferences({textDocument:i.textDocument,position:i.position,context:{includeDeclaration:n.includeDeclaration}});return a?a.map(e=>{let t=this._client.bridge.translateBackRange({uri:e.uri},e.range);return{uri:t.textModel.uri,range:t.range}}):null}},bWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentHighlight:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDocumentHighlight,!0,e=>Q.registerDocumentHighlightProvider(G5(e.documentSelector),new xWe(this._connection,e))))}},xWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentHighlights(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDocumentHighlight({textDocument:r.textDocument,position:r.position});return i?i.map(e=>({range:this._client.bridge.translateBackRange(r.textDocument,e.range).range,kind:HUe(e.kind)})):null}},SWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentSymbol:{dynamicRegistration:!0,hierarchicalDocumentSymbolSupport:!0,symbolKind:{valueSet:Array.from(z5.keys())},tagSupport:{valueSet:[y5.Deprecated]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDocumentSymbol,!0,e=>Q.registerDocumentSymbolProvider(G5(e.documentSelector),new CWe(this._connection,e))))}},CWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentSymbols(e,t){let n=this._client.bridge.translate(e,new I6(1,1)),r=await this._client.server.textDocumentDocumentSymbol({textDocument:n.textDocument});return r?Array.isArray(r)&&r.length>0?`location`in r[0]?r.map(e=>wWe(e,this._client)):r.map(e=>X5(e,this._client,n.textDocument)):[]:null}};function X5(e,t,n){return{name:e.name,detail:e.detail||``,kind:B5(e.kind),tags:e.tags?.map(e=>V5(e)).filter(e=>e!==void 0)||[],range:t.bridge.translateBackRange(n,e.range).range,selectionRange:t.bridge.translateBackRange(n,e.selectionRange).range,children:e.children?.map(e=>X5(e,t,n))||[]}}function wWe(e,t){return{name:e.name,detail:``,kind:B5(e.kind),tags:e.tags?.map(e=>V5(e)).filter(e=>e!==void 0)||[],range:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,selectionRange:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,children:[]}}var TWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rename:{dynamicRegistration:!0,prepareSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentRename,!0,e=>Q.registerRenameProvider(G5(e.documentSelector),new EWe(this._connection,e))))}},EWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideRenameEdits(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentRename({textDocument:i.textDocument,position:i.position,newName:n});return a?DWe(a,this._client):null}async resolveRenameLocation(e,t,n){if(!this._capabilities.prepareProvider)return null;let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentPrepareRename({textDocument:r.textDocument,position:r.position});if(!i)return null;if(`range`in i&&`placeholder`in i)return{range:this._client.bridge.translateBackRange(r.textDocument,i.range).range,text:i.placeholder};if(`defaultBehavior`in i)return null;if(`start`in i&&`end`in i){let t=this._client.bridge.translateBackRange(r.textDocument,i).range;return{range:t,text:e.getValueInRange(t)}}return null}};function DWe(e,t){let n=[];if(e.changes)for(let r in e.changes){let i=e.changes[r];for(let e of i){let i=t.bridge.translateBackRange({uri:r},e.range);n.push({resource:i.textModel.uri,versionId:void 0,textEdit:{range:i.range,text:e.newText}})}}if(e.documentChanges){for(let r of e.documentChanges)if(`textDocument`in r){let e=r.textDocument.uri;for(let i of r.edits){let a=t.bridge.translateBackRange({uri:e},i.range);n.push({resource:a.textModel.uri,versionId:r.textDocument.version,textEdit:{range:a.range,text:i.newText}})}}}return{edits:n}}var OWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeAction:{dynamicRegistration:!0,codeActionLiteralSupport:{codeActionKind:{valueSet:Array.from(I5.keys())}},isPreferredSupport:!0,disabledSupport:!0,dataSupport:!0,resolveSupport:{properties:[`edit`]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentCodeAction,!0,e=>Q.registerCodeActionProvider(G5(e.documentSelector),new kWe(this._connection,e))))}},kWe=class{constructor(e,t){Z8(this,`resolveCodeAction`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCodeAction=async(e,t)=>{if(e._lspAction){let t=await this._client.server.codeActionResolve(e._lspAction);t.edit&&(e.edit=Z5(t.edit,this._client)),t.command&&(e.command=U5(t.command))}return e})}async provideCodeActions(e,t,n,r){let i=this._client.bridge.translate(e,t.getStartPosition()),a=await this._client.server.textDocumentCodeAction({textDocument:i.textDocument,range:this._client.bridge.translateRange(e,t),context:{diagnostics:n.markers.map(t=>({range:this._client.bridge.translateRange(e,L6.lift(t)),message:t.message,severity:KUe(t.severity)})),triggerKind:NUe(n.trigger)}});return a?{actions:(Array.isArray(a)?a:[a]).map(e=>{if(`title`in e&&!(`kind`in e)){let t=e;return{title:t.title,command:U5(t)}}{let t=e;return{title:t.title,kind:jUe(t.kind),isPreferred:t.isPreferred,disabled:t.disabled?.reason,edit:t.edit?Z5(t.edit,this._client):void 0,command:U5(t.command),_lspAction:t}}}),dispose:()=>{}}:null}};function Z5(e,t){let n=[];if(e.changes)for(let r in e.changes){let i=e.changes[r];for(let e of i){let i=t.bridge.translateBackRange({uri:r},e.range);n.push({resource:i.textModel.uri,versionId:void 0,textEdit:{range:i.range,text:e.newText}})}}if(e.documentChanges){for(let r of e.documentChanges)if(`textDocument`in r){let e=r.textDocument.uri;for(let i of r.edits){let a=t.bridge.translateBackRange({uri:e},i.range);n.push({resource:a.textModel.uri,versionId:r.textDocument.version??void 0,textEdit:{range:a.range,text:i.newText}})}}}return{edits:n}}var AWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeLens:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentCodeLens,!0,e=>Q.registerCodeLensProvider(G5(e.documentSelector),new jWe(this._connection,e))))}},jWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideCodeLenses(e,t){let n=this._client.bridge.translate(e,new I6(1,1)),r=await this._client.server.textDocumentCodeLens({textDocument:n.textDocument});return r?{lenses:r.map(t=>({range:N5(this._client.bridge.translateBackRange(n.textDocument,t.range),e).range,command:U5(t.command),_lspCodeLens:t})),dispose:()=>{}}:null}async resolveCodeLens(e,t,n){if(!this._capabilities.resolveProvider||!t._lspCodeLens)return t;let r=await this._client.server.codeLensResolve(t._lspCodeLens);return r.command&&(t.command={id:r.command.command,title:r.command.title,arguments:r.command.arguments}),t}},MWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentLink:{dynamicRegistration:!0,tooltipSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDocumentLink,!0,e=>Q.registerLinkProvider(G5(e.documentSelector),new NWe(this._connection,e))))}},NWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideLinks(e,t){let n=this._client.bridge.translate(e,new I6(1,1)),r=await this._client.server.textDocumentDocumentLink({textDocument:n.textDocument});return r?{links:r.map(e=>({range:this._client.bridge.translateBackRange(n.textDocument,e.range).range,url:e.target,tooltip:e.tooltip}))}:null}async resolveLink(e,t){return this._capabilities.resolveProvider,e}},PWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{formatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentFormatting,!0,e=>Q.registerDocumentFormattingEditProvider(G5(e.documentSelector),new FWe(this._connection,e))))}},FWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentFormattingEdits(e,t,n){let r=this._client.bridge.translate(e,new I6(1,1)),i=await this._client.server.textDocumentFormatting({textDocument:r.textDocument,options:{tabSize:t.tabSize,insertSpaces:t.insertSpaces}});return i?i.map(e=>({range:this._client.bridge.translateBackRange(r.textDocument,e.range).range,text:e.newText})):null}},IWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rangeFormatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentRangeFormatting,!0,e=>Q.registerDocumentRangeFormattingEditProvider(G5(e.documentSelector),new LWe(this._connection,e))))}},LWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentRangeFormattingEdits(e,t,n,r){let i=this._client.bridge.translate(e,t.getStartPosition()),a=await this._client.server.textDocumentRangeFormatting({textDocument:i.textDocument,range:this._client.bridge.translateRange(e,t),options:{tabSize:n.tabSize,insertSpaces:n.insertSpaces}});return a?a.map(e=>({range:this._client.bridge.translateBackRange(i.textDocument,e.range).range,text:e.newText})):null}},RWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{onTypeFormatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentOnTypeFormatting,!0,e=>Q.registerOnTypeFormattingEditProvider(G5(e.documentSelector),new zWe(this._connection,e))))}},zWe=class{constructor(e,t){Z8(this,`autoFormatTriggerCharacters`),this._client=e,this._capabilities=t,this.autoFormatTriggerCharacters=[t.firstTriggerCharacter,...t.moreTriggerCharacter||[]]}async provideOnTypeFormattingEdits(e,t,n,r,i){let a=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentOnTypeFormatting({textDocument:a.textDocument,position:a.position,ch:n,options:{tabSize:r.tabSize,insertSpaces:r.insertSpaces}});return o?o.map(e=>({range:this._client.bridge.translateBackRange(a.textDocument,e.range).range,text:e.newText})):null}},BWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{foldingRange:{dynamicRegistration:!0,rangeLimit:5e3,lineFoldingOnly:!1,foldingRangeKind:{valueSet:[_5.Comment,_5.Imports,_5.Region]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentFoldingRange,!0,e=>Q.registerFoldingRangeProvider(G5(e.documentSelector),new VWe(this._connection,e))))}},VWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideFoldingRanges(e,t,n){let r=this._client.bridge.translate(e,new I6(1,1)),i=await this._client.server.textDocumentFoldingRange({textDocument:r.textDocument});return i?i.map(e=>({start:e.startLine+1,end:e.endLine+1,kind:WUe(e.kind)})):null}},HWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{selectionRange:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentSelectionRange,!0,e=>Q.registerSelectionRangeProvider(G5(e.documentSelector),new UWe(this._connection,e))))}},UWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideSelectionRanges(e,t,n){let r=this._client.bridge.translate(e,t[0]),i=await this._client.server.textDocumentSelectionRange({textDocument:r.textDocument,positions:t.map(t=>this._client.bridge.translate(e,t).position)});return i?i.map(e=>this.convertSelectionRange(e,r.textDocument)):null}convertSelectionRange(e,t){let n=[],r=e;for(;r;)n.push({range:this._client.bridge.translateBackRange(t,r.range).range}),r=r.parent;return n}},WWe=class extends P5{constructor(e){super(),Z8(this,`_providers`,new Set),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{inlayHint:{dynamicRegistration:!0,resolveSupport:{properties:[`tooltip`,`textEdits`,`label.tooltip`,`label.location`,`label.command`]}}},workspace:{inlayHint:{refreshSupport:!0}}})),this._register(this._connection.connection.registerRequestHandler(M5.client.workspaceInlayHintRefresh,async()=>{for(let e of this._providers)e.refresh();return{ok:null}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentInlayHint,!0,e=>{let t=new GWe(this._connection,e);this._providers.add(t);let n=Q.registerInlayHintsProvider(G5(e.documentSelector),t);return{dispose:()=>{this._providers.delete(t),n.dispose()}}}))}},GWe=class{constructor(e,t){Z8(this,`_onDidChangeInlayHints`,new N6),Z8(this,`onDidChangeInlayHints`,this._onDidChangeInlayHints.event),Z8(this,`resolveInlayHint`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveInlayHint=async(e,t)=>{let n=await this._client.server.inlayHintResolve(e._lspInlayHint);return n.tooltip&&(e.tooltip=$5(n.tooltip)),n.label!==e._lspInlayHint.label&&(e.label=Q5(n.label)),n.textEdits&&(e.textEdits=n.textEdits.map(t=>({range:this._client.bridge.translateBackRange({uri:e._targetUri},t.range).range,text:t.newText}))),e})}refresh(){this._onDidChangeInlayHints.fire()}async provideInlayHints(e,t,n){let r=this._client.bridge.translate(e,t.getStartPosition()),i=await KWe(async()=>await this._client.server.textDocumentInlayHint({textDocument:r.textDocument,range:this._client.bridge.translateRange(e,t)}));return i?{hints:i.map(t=>({label:Q5(t.label),position:N5(this._client.bridge.translateBack(r.textDocument,t.position),e).position,kind:$Ue(t.kind),tooltip:$5(t.tooltip),paddingLeft:t.paddingLeft,paddingRight:t.paddingRight,textEdits:t.textEdits?.map(t=>({range:N5(this._client.bridge.translateBackRange(r.textDocument,t.range),e).range,text:t.newText})),_lspInlayHint:t,_targetUri:r.textDocument.uri})),dispose:()=>{}}:null}};async function KWe(e){for(let t=3;;t--)try{return await e()}catch(e){if(e.message===`content modified`&&t>0)continue;throw e}}function Q5(e){return typeof e==`string`?e:e.map(e=>{let t={label:e.value,tooltip:$5(e.tooltip),command:U5(e.command)};return e.location&&(t.location={uri:H6.parse(e.location.uri),range:new L6(e.location.range.start.line+1,e.location.range.start.character+1,e.location.range.end.line+1,e.location.range.end.character+1)}),t})}function $5(e){if(e)return typeof e==`string`?e:{value:e.value,isTrusted:!0}}var qWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{semanticTokens:{dynamicRegistration:!0,requests:{range:!0,full:{delta:!0}},tokenTypes:[`namespace`,`type`,`class`,`enum`,`interface`,`struct`,`typeParameter`,`parameter`,`variable`,`property`,`enumMember`,`event`,`function`,`method`,`macro`,`keyword`,`modifier`,`comment`,`string`,`number`,`regexp`,`operator`,`decorator`],tokenModifiers:[`declaration`,`definition`,`readonly`,`static`,`deprecated`,`abstract`,`async`,`modification`,`documentation`,`defaultLibrary`],formats:[AUe.Relative],overlappingTokenSupport:!1,multilineTokenSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentSemanticTokensFull,!0,e=>Q.registerDocumentSemanticTokensProvider(G5(e.documentSelector),new JWe(this._connection,e))))}},JWe=class{constructor(e,t){this._client=e,this._capabilities=t}getLegend(){return{tokenTypes:this._capabilities.legend.tokenTypes,tokenModifiers:this._capabilities.legend.tokenModifiers}}releaseDocumentSemanticTokens(e){}async provideDocumentSemanticTokens(e,t,n){let r=this._client.bridge.translate(e,e.getPositionAt(0)),i=this._capabilities.full;if(t&&i&&typeof i==`object`&&i.delta){let e=await this._client.server.textDocumentSemanticTokensFullDelta({textDocument:r.textDocument,previousResultId:t});return e?`edits`in e?{resultId:e.resultId,edits:e.edits.map(e=>({start:e.start,deleteCount:e.deleteCount,data:e.data?new Uint32Array(e.data):void 0}))}:{resultId:e.resultId,data:new Uint32Array(e.data)}:null}let a=await this._client.server.textDocumentSemanticTokensFull({textDocument:r.textDocument});return a?{resultId:a.resultId,data:new Uint32Array(a.data)}:null}async provideDocumentSemanticTokensEdits(e,t,n){return this.provideDocumentSemanticTokens(e,t,n)}},YWe=class extends P5{constructor(e){super(),Z8(this,`_diagnosticsMarkerOwner`,`lsp`),Z8(this,`_pullDiagnosticProviders`,new Map),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{publishDiagnostics:{relatedInformation:!0,tagSupport:{valueSet:[...H5.keys()]},versionSupport:!0,codeDescriptionSupport:!0,dataSupport:!0},diagnostic:{dynamicRegistration:!0,relatedDocumentSupport:!0}}})),this._register(this._connection.connection.registerNotificationHandler(M5.client.textDocumentPublishDiagnostics,e=>this._handlePublishDiagnostics(e))),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDiagnostic,!0,e=>{let t=new F5;for(let n of W6.getModels())this._addPullDiagnosticProvider(n,e,t);return t.add(W6.onDidCreateModel(n=>{this._addPullDiagnosticProvider(n,e,t)})),t}))}_addPullDiagnosticProvider(e,t,n){if(e.getLanguageId(),!eWe(e,t.documentSelector))return;let r=new XWe(e,this._connection,this._diagnosticsMarkerOwner,t);this._pullDiagnosticProviders.set(e,r),n.add(r),n.add(e.onWillDispose(()=>{this._pullDiagnosticProviders.delete(e)}))}_handlePublishDiagnostics(e){let t=e.uri;try{let n=this._connection.bridge.translateBack({uri:t},{line:0,character:0}).textModel;if(!n||n.isDisposed())return;let r=e.diagnostics.map(e=>K5(e));W6.setModelMarkers(n,this._diagnosticsMarkerOwner,r)}catch(e){console.debug(`Could not set diagnostics for ${t}:`,e)}}},XWe=class extends P5{constructor(e,t,n,r){super(),Z8(this,`_updateHandle`),Z8(this,`_previousResultId`),this._model=e,this._connection=t,this._markerOwner=n,this._capability=r,this._register(this._model.onDidChangeContent(()=>{this._scheduleDiagnosticUpdate()})),this._scheduleDiagnosticUpdate()}_scheduleDiagnosticUpdate(){this._updateHandle!==void 0&&clearTimeout(this._updateHandle),this._updateHandle=window.setTimeout(()=>{this._updateHandle=void 0,this._requestDiagnostics()},500)}async _requestDiagnostics(){if(!this._model.isDisposed())try{let e=this._connection.bridge.translate(this._model,new I6(1,1)),t=await this._connection.server.textDocumentDiagnostic({textDocument:e.textDocument,identifier:this._capability.identifier,previousResultId:this._previousResultId});if(this._model.isDisposed())return;this._handleDiagnosticReport(t)}catch(e){console.error(`Error requesting diagnostics:`,e)}}_handleDiagnosticReport(e){if(e.kind===`full`){this._previousResultId=e.resultId;let t=e.items.map(e=>K5(e));W6.setModelMarkers(this._model,this._markerOwner,t),`relatedDocuments`in e&&e.relatedDocuments&&this._handleRelatedDocuments(e.relatedDocuments)}else e.kind===`unchanged`&&(this._previousResultId=e.resultId)}_handleRelatedDocuments(e){for(let[t,n]of Object.entries(e))try{let e=this._connection.bridge.translateBack({uri:t},{line:0,character:0}).textModel;if(!e||e.isDisposed())continue;if(n.kind===`full`){let t=n.items.map(e=>K5(e));W6.setModelMarkers(e,this._markerOwner,t)}}catch(e){console.debug(`Could not set related diagnostics for ${t}:`,e)}}dispose(){this._updateHandle!==void 0&&(clearTimeout(this._updateHandle),this._updateHandle=void 0),super.dispose()}},ZWe=class{constructor(e,t,n,r){this.server=e,this.bridge=t,this.capabilities=n,this.connection=r}},QWe=class extends P5{constructor(e){super(),Z8(this,`_staticCapabilities`,new Set),Z8(this,`_dynamicFromStatic`,tGe.create()),Z8(this,`_registrations`,new Map),Z8(this,`_serverCapabilities`),this._connection=e,this._register(this._connection.registerRequestHandler(M5.client.clientRegisterCapability,async e=>{for(let t of e.registrations){let e=t7(t.method),n=new e7(t.id,e,t.registerOptions,!1);this._registerCapabilityOptions(n)}return{ok:null}})),this._register(this._connection.registerRequestHandler(M5.client.clientUnregisterCapability,async e=>{for(let t of e.unregisterations){let e=t7(t.method),n=this._registrations.get(e),r=n?.registrations.get(t.id);if(!r)throw Error(`No registration for method ${t.method} with id ${t.id}`);r?.handlerDisposables.forEach(e=>e.dispose()),n?.registrations.delete(t.id)}return{ok:null}}))}_registerCapabilityOptions(e){let t=this._registrations.get(e.capability);if(t||(t=new n7,this._registrations.set(e.capability,t)),t.registrations.has(e.id))throw Error(`Handler for method ${e.capability.method} with id ${e.id} already registered`);t.registrations.set(e.id,e);for(let n of t.handlers)(n.handleStaticCapability||!e.isFromStatic)&&e.handlerDisposables.set(n,n.handler(e.options))}setServerCapabilities(e){if(this._serverCapabilities)throw Error(`Server capabilities already set`);this._serverCapabilities=e;for(let t of Object.values(j5)){let n=this._dynamicFromStatic.getOptions(t,e);n&&this._registerCapabilityOptions(new e7(t.method,t,n,!0))}}getClientCapabilities(){let e={};for(let t of this._staticCapabilities)r7(e,t.cap);return e}addStaticClientCapabilities(e){let t={cap:e};return this._staticCapabilities.add(t),{dispose:()=>{this._staticCapabilities.delete(t)}}}registerCapabilityHandler(e,t,n){let r=this._registrations.get(e);r||(r=new n7,this._registrations.set(e,r));let i=new $We(e,t,n);r.handlers.add(i);for(let e of r.registrations.values())(i.handleStaticCapability||!e.isFromStatic)&&e.handlerDisposables.set(i,n(e.options));return{dispose:()=>{r.handlers.delete(i);for(let e of r.registrations.values()){let t=e.handlerDisposables.get(i);t&&(t.dispose(),e.handlerDisposables.delete(i))}}}}},$We=class{constructor(e,t,n){this.capability=e,this.handleStaticCapability=t,this.handler=n}},e7=class{constructor(e,t,n,r){Z8(this,`handlerDisposables`,new Map),this.id=e,this.capability=t,this.options=n,this.isFromStatic=r}},eGe=new Map([...Object.values(j5)].map(e=>[e.method,e]));function t7(e){let t=eGe.get(e);if(!t)throw Error(`No capability found for method ${e}`);return t}var n7=class{constructor(){Z8(this,`handlers`,new Set),Z8(this,`registrations`,new Map)}},tGe=class e{constructor(){Z8(this,`_mappings`,new Map)}static create(){let t=new e;return t.set(j5.textDocumentDidChange,e=>{if(e.textDocumentSync!==void 0)return typeof e.textDocumentSync==`object`?{syncKind:e.textDocumentSync.change??DUe.None,documentSelector:null}:{syncKind:e.textDocumentSync,documentSelector:null}}),t.set(j5.textDocumentCompletion,e=>e.completionProvider),t.set(j5.textDocumentHover,e=>e.hoverProvider),t.set(j5.textDocumentSignatureHelp,e=>e.signatureHelpProvider),t.set(j5.textDocumentDefinition,e=>e.definitionProvider),t.set(j5.textDocumentReferences,e=>e.referencesProvider),t.set(j5.textDocumentDocumentHighlight,e=>e.documentHighlightProvider),t.set(j5.textDocumentDocumentSymbol,e=>e.documentSymbolProvider),t.set(j5.textDocumentCodeAction,e=>e.codeActionProvider),t.set(j5.textDocumentCodeLens,e=>e.codeLensProvider),t.set(j5.textDocumentDocumentLink,e=>e.documentLinkProvider),t.set(j5.textDocumentFormatting,e=>e.documentFormattingProvider),t.set(j5.textDocumentRangeFormatting,e=>e.documentRangeFormattingProvider),t.set(j5.textDocumentOnTypeFormatting,e=>e.documentOnTypeFormattingProvider),t.set(j5.textDocumentRename,e=>e.renameProvider),t.set(j5.textDocumentFoldingRange,e=>e.foldingRangeProvider),t.set(j5.textDocumentDeclaration,e=>e.declarationProvider),t.set(j5.textDocumentTypeDefinition,e=>e.typeDefinitionProvider),t.set(j5.textDocumentImplementation,e=>e.implementationProvider),t.set(j5.textDocumentDocumentColor,e=>e.colorProvider),t.set(j5.textDocumentSelectionRange,e=>e.selectionRangeProvider),t.set(j5.textDocumentLinkedEditingRange,e=>e.linkedEditingRangeProvider),t.set(j5.textDocumentPrepareCallHierarchy,e=>e.callHierarchyProvider),t.set(j5.textDocumentSemanticTokensFull,e=>e.semanticTokensProvider),t.set(j5.textDocumentInlayHint,e=>e.inlayHintProvider),t.set(j5.textDocumentInlineValue,e=>e.inlineValueProvider),t.set(j5.textDocumentDiagnostic,e=>e.diagnosticProvider),t.set(j5.textDocumentMoniker,e=>e.monikerProvider),t.set(j5.textDocumentPrepareTypeHierarchy,e=>e.typeHierarchyProvider),t.set(j5.workspaceSymbol,e=>e.workspaceSymbolProvider),t.set(j5.workspaceExecuteCommand,e=>e.executeCommandProvider),t}set(e,t){if(this._mappings.has(e.method))throw Error(`Capability for method ${e.method} already registered`);this._mappings.set(e.method,t)}getOptions(e,t){let n=this._mappings.get(e.method);if(n)return n(t)}};function r7(e,t){for(let n of Object.keys(t)){let r=t[n];if(r===void 0)continue;let i=e[n];if(i===void 0){e[n]=r;continue}if(typeof r!=`object`||!r){e[n]=r;continue}if(typeof i!=`object`||!i){e[n]=r;continue}r7(i,r)}}var nGe=class extends P5{constructor(e,t){super(),Z8(this,`_managedModels`,new Map),Z8(this,`_managedModelsReverse`,new Map),Z8(this,`_started`,!1),this._server=e,this._capabilities=t,this._register(this._capabilities.addStaticClientCapabilities({textDocument:{synchronization:{dynamicRegistration:!0,willSave:!1,willSaveWaitUntil:!1,didSave:!1}}})),this._register(t.registerCapabilityHandler(j5.textDocumentDidChange,!0,e=>{if(this._started)return{dispose:()=>{}};this._started=!0,this._register(W6.onDidCreateModel(e=>{this._getOrCreateManagedModel(e)}));for(let e of W6.getModels())this._getOrCreateManagedModel(e);return{dispose:()=>{}}}))}_getOrCreateManagedModel(e){if(!this._started)throw Error(`Not started`);let t=e.uri.toString(!0).toLowerCase(),n=this._managedModels.get(e);return n||(n=new rGe(e,this._server),this._managedModels.set(e,n),this._managedModelsReverse.set(t,e)),e.onWillDispose(()=>{n.dispose(),this._managedModels.delete(e),this._managedModelsReverse.delete(t)}),n}translateBack(e,t){let n=e.uri.toLowerCase(),r=this._managedModelsReverse.get(n);if(!r)throw Error(`No text model for uri ${n}`);return{textModel:r,position:new I6(t.line+1,t.character+1)}}translateBackRange(e,t){let n=e.uri.toLowerCase(),r=this._managedModelsReverse.get(n);if(!r)throw Error(`No text model for uri ${n}`);return{textModel:r,range:new L6(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}}translate(e,t){return{textDocument:{uri:e.uri.toString(!0)},position:{line:t.lineNumber-1,character:t.column-1}}}translateRange(e,t){return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}},rGe=class extends P5{constructor(e,t){super(),this._textModel=e,this._api=t;let n=e.uri.toString(!0).toLowerCase();this._api.textDocumentDidOpen({textDocument:{languageId:e.getLanguageId(),uri:n,version:e.getVersionId(),text:e.getValue()}}),this._register(e.onDidChangeContent(t=>{let r=t.changes.map(e=>iGe(e));this._api.textDocumentDidChange({textDocument:{uri:n,version:e.getVersionId()},contentChanges:r})})),this._register({dispose:()=>{this._api.textDocumentDidClose({textDocument:{uri:n}})}})}};function iGe(e){return{range:aGe(e.range),rangeLength:e.rangeLength,text:e.text}}function aGe(e){return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}var oGe=class{constructor(e){Z8(this,`_connection`),Z8(this,`_capabilitiesRegistry`),Z8(this,`_bridge`),Z8(this,`_initPromise`);let t=u5.fromTransport(e),n=M5.getServer(t,{});t.startListen(),this._capabilitiesRegistry=new QWe(t),this._bridge=new nGe(n.server,this._capabilitiesRegistry),this._connection=new ZWe(n.server,this._bridge,this._capabilitiesRegistry,t),this.createFeatures(),this._initPromise=this._init()}async _init(){let e=await this._connection.server.initialize({processId:null,capabilities:this._capabilitiesRegistry.getClientCapabilities(),rootUri:null});this._connection.server.initialized({}),this._capabilitiesRegistry.setServerCapabilities(e.capabilities)}createFeatures(){let e=new F5;return e.add(new tWe(this._connection)),e.add(new aWe(this._connection)),e.add(new cWe(this._connection)),e.add(new uWe(this._connection)),e.add(new fWe(this._connection)),e.add(new mWe(this._connection)),e.add(new gWe(this._connection)),e.add(new vWe(this._connection)),e.add(new bWe(this._connection)),e.add(new SWe(this._connection)),e.add(new TWe(this._connection)),e.add(new OWe(this._connection)),e.add(new AWe(this._connection)),e.add(new MWe(this._connection)),e.add(new PWe(this._connection)),e.add(new IWe(this._connection)),e.add(new RWe(this._connection)),e.add(new BWe(this._connection)),e.add(new HWe(this._connection)),e.add(new WWe(this._connection)),e.add(new qWe(this._connection)),e.add(new YWe(this._connection)),e}},i7=null;typeof WebSocket<`u`?i7=WebSocket:typeof MozWebSocket<`u`?i7=MozWebSocket:typeof global<`u`?i7=global.WebSocket||global.MozWebSocket:typeof window<`u`?i7=window.WebSocket||window.MozWebSocket:typeof self<`u`&&(i7=self.WebSocket||self.MozWebSocket);var sGe=i7;function cGe(e){return`host`in e?{address:`${e.forceTls?`wss`:`ws`}://${e.host}:${e.port}`}:e}var lGe=class e extends o5{constructor(e){super(),Z8(this,`socket`),Z8(this,`errorEmitter`,new i5),Z8(this,`onError`,this.errorEmitter),this.socket=e,e.onmessage=e=>{try{let t=e.data;if(typeof t==`string`){let e=JSON.parse(t);this._dispatchReceivedMessage(e)}else throw Error(`Not supported`)}catch(e){this.errorEmitter.fire({error:e})}},e.onclose=e=>{this._onConnectionClosed()}}static connectTo(t){let n=new sGe(cGe(t).address);return new Promise((t,r)=>{n.onerror=e=>{r(e)},n.onopen=()=>{t(new e(n))}})}static fromWebSocket(t){return new e(t)}close(){this.socket.close()}dispose(){this.close()}_sendImpl(e){let t=JSON.stringify(e);return new Promise((e,n)=>{this.socket.send(t,t=>{t?n(t):e()})})}toString(){return`${this.id}@${this.socket.url}`}},a7=class extends o5{constructor(e,t=void 0,n=void 0){super(),Z8(this,`_windowLike`),Z8(this,`_source`),Z8(this,`_loadingState`),Z8(this,`_disposed`,!1),Z8(this,`_messageHandler`,({data:e,source:t})=>{this._source&&t!==this._source||typeof e==`object`&&e&&this._dispatchReceivedMessage(e)}),this._windowLike=e,this._source=t,this._loadingState=n,this._windowLike.addEventListener(`message`,this._messageHandler)}async _sendImpl(e){if(this._disposed)throw Error(`Transport is disposed`);this._loadingState&&!this._loadingState.loaded&&await this._loadingState.onLoaded,this._windowLike.postMessage(e)}toString(){return`${this.id}@${this._windowLike}`}dispose(){this._disposed||(this._disposed=!0,this._windowLike.removeEventListener(`message`,this._messageHandler))}};function uGe(e){if(typeof window>`u`)throw Error(`call this function from the main browser thread`);return new a7(e)}function dGe(e){if(typeof window>`u`)throw Error(`call this function from the main browser thread`);return new a7(e.contentWindow,e.contentWindow,{loaded:window.document.readyState===`complete`,onLoaded:new Promise(e=>{window.addEventListener(`load`,()=>e())})})}function fGe(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var o7=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:fGe(`defaultWorkerFactory`,{createScriptURL:e=>e});function pGe(e){let t=e.label,n=globalThis.MonacoEnvironment;if(n){if(typeof n.getWorker==`function`)return n.getWorker(`workerMain.js`,t);if(typeof n.getWorkerUrl==`function`){let e=n.getWorkerUrl(`workerMain.js`,t);return new Worker(o7?o7.createScriptURL(e):e,{name:t,type:`module`})}}if(e.createWorker)return e.createWorker();throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function s7(e){let t=Promise.resolve(pGe({label:e.label??`monaco-editor-worker`,moduleId:e.moduleId,createWorker:e.createWorker})).then(t=>(t.postMessage(`ignore`),t.postMessage(e.createData),t));return W6.createWebWorker({worker:t,host:e.host,keepIdleModels:e.keepIdleModels})}function c7(){return oze}globalThis.MonacoEnvironment?.globalAPI&&(globalThis.monaco=c7());var mGe=e({CancellationTokenSource:()=>M6,Emitter:()=>N6,KeyCode:()=>P6,KeyMod:()=>F6,MarkerSeverity:()=>B6,MarkerTag:()=>V6,Position:()=>I6,Range:()=>L6,Selection:()=>R6,SelectionDirection:()=>z6,Token:()=>U6,Uri:()=>H6,createWebWorker:()=>s7,css:()=>g8,editor:()=>W6,html:()=>w8,json:()=>P8,languages:()=>Q,lsp:()=>lUe,typescript:()=>L8}),l7=c7();l7.languages.css=g8,l7.languages.html=w8,l7.languages.typescript=L8,l7.languages.json=P8;var hGe=12e4,u7=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>hGe&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=s7({moduleId:`vs/language/css/cssWorker`,createWorker:()=>new Worker(new URL(`/assets/css.worker-BDCmgL4U.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},gGe;(function(e){function t(e){return typeof e==`string`}e.is=t})(gGe||={});var d7;(function(e){function t(e){return typeof e==`string`}e.is=t})(d7||={});var _Ge;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(_Ge||={});var f7;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(f7||={});var p7;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=f7.MAX_VALUE),t===Number.MAX_VALUE&&(t=f7.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&$.uinteger(t.line)&&$.uinteger(t.character)}e.is=n})(p7||={});var m7;(function(e){function t(e,t,n,r){if($.uinteger(e)&&$.uinteger(t)&&$.uinteger(n)&&$.uinteger(r))return{start:p7.create(e,t),end:p7.create(n,r)};if(p7.is(e)&&p7.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&p7.is(t.start)&&p7.is(t.end)}e.is=n})(m7||={});var h7;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&m7.is(t.range)&&($.string(t.uri)||$.undefined(t.uri))}e.is=n})(h7||={});var vGe;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&m7.is(t.targetRange)&&$.string(t.targetUri)&&m7.is(t.targetSelectionRange)&&(m7.is(t.originSelectionRange)||$.undefined(t.originSelectionRange))}e.is=n})(vGe||={});var g7;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&$.numberRange(t.red,0,1)&&$.numberRange(t.green,0,1)&&$.numberRange(t.blue,0,1)&&$.numberRange(t.alpha,0,1)}e.is=n})(g7||={});var yGe;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&m7.is(t.range)&&g7.is(t.color)}e.is=n})(yGe||={});var bGe;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&$.string(t.label)&&($.undefined(t.textEdit)||S7.is(t))&&($.undefined(t.additionalTextEdits)||$.typedArray(t.additionalTextEdits,S7.is))}e.is=n})(bGe||={});var _7;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(_7||={});var xGe;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return $.defined(n)&&(o.startCharacter=n),$.defined(r)&&(o.endCharacter=r),$.defined(i)&&(o.kind=i),$.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&$.uinteger(t.startLine)&&$.uinteger(t.startLine)&&($.undefined(t.startCharacter)||$.uinteger(t.startCharacter))&&($.undefined(t.endCharacter)||$.uinteger(t.endCharacter))&&($.undefined(t.kind)||$.string(t.kind))}e.is=n})(xGe||={});var v7;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&h7.is(t.location)&&$.string(t.message)}e.is=n})(v7||={});var y7;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(y7||={});var SGe;(function(e){e.Unnecessary=1,e.Deprecated=2})(SGe||={});var CGe;(function(e){function t(e){let t=e;return $.objectLiteral(t)&&$.string(t.href)}e.is=t})(CGe||={});var b7;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return $.defined(n)&&(o.severity=n),$.defined(r)&&(o.code=r),$.defined(i)&&(o.source=i),$.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return $.defined(t)&&m7.is(t.range)&&$.string(t.message)&&($.number(t.severity)||$.undefined(t.severity))&&($.integer(t.code)||$.string(t.code)||$.undefined(t.code))&&($.undefined(t.codeDescription)||$.string(t.codeDescription?.href))&&($.string(t.source)||$.undefined(t.source))&&($.undefined(t.relatedInformation)||$.typedArray(t.relatedInformation,v7.is))}e.is=n})(b7||={});var x7;(function(e){function t(e,t,...n){let r={title:e,command:t};return $.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return $.defined(t)&&$.string(t.title)&&$.string(t.command)}e.is=n})(x7||={});var S7;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return $.objectLiteral(t)&&$.string(t.newText)&&m7.is(t.range)}e.is=i})(S7||={});var C7;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&$.string(t.label)&&($.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&($.string(t.description)||t.description===void 0)}e.is=n})(C7||={});var w7;(function(e){function t(e){let t=e;return $.string(t)}e.is=t})(w7||={});var wGe;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return S7.is(t)&&(C7.is(t.annotationId)||w7.is(t.annotationId))}e.is=i})(wGe||={});var T7;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&A7.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(T7||={});var E7;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&$.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||$.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||$.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||w7.is(t.annotationId))}e.is=n})(E7||={});var D7;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&$.string(t.oldUri)&&$.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||$.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||$.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||w7.is(t.annotationId))}e.is=n})(D7||={});var O7;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&$.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||$.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||$.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||w7.is(t.annotationId))}e.is=n})(O7||={});var k7;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>$.string(e.kind)?E7.is(e)||D7.is(e)||O7.is(e):T7.is(e)))}e.is=t})(k7||={});var TGe;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return $.defined(t)&&$.string(t.uri)}e.is=n})(TGe||={});var EGe;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&$.string(t.uri)&&$.integer(t.version)}e.is=n})(EGe||={});var A7;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&$.string(t.uri)&&(t.version===null||$.integer(t.version))}e.is=n})(A7||={});var DGe;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return $.defined(t)&&$.string(t.uri)&&$.string(t.languageId)&&$.integer(t.version)&&$.string(t.text)}e.is=n})(DGe||={});var j7;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(j7||={});var M7;(function(e){function t(e){let t=e;return $.objectLiteral(e)&&j7.is(t.kind)&&$.string(t.value)}e.is=t})(M7||={});var N7;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(N7||={});var P7;(function(e){e.PlainText=1,e.Snippet=2})(P7||={});var OGe;(function(e){e.Deprecated=1})(OGe||={});var kGe;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&$.string(t.newText)&&m7.is(t.insert)&&m7.is(t.replace)}e.is=n})(kGe||={});var AGe;(function(e){e.asIs=1,e.adjustIndentation=2})(AGe||={});var jGe;(function(e){function t(e){let t=e;return t&&($.string(t.detail)||t.detail===void 0)&&($.string(t.description)||t.description===void 0)}e.is=t})(jGe||={});var MGe;(function(e){function t(e){return{label:e}}e.create=t})(MGe||={});var NGe;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(NGe||={});var F7;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return $.string(t)||$.objectLiteral(t)&&$.string(t.language)&&$.string(t.value)}e.is=n})(F7||={});var PGe;(function(e){function t(e){let t=e;return!!t&&$.objectLiteral(t)&&(M7.is(t.contents)||F7.is(t.contents)||$.typedArray(t.contents,F7.is))&&(e.range===void 0||m7.is(e.range))}e.is=t})(PGe||={});var FGe;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(FGe||={});var IGe;(function(e){function t(e,t,...n){let r={label:e};return $.defined(t)&&(r.documentation=t),r.parameters=$.defined(n)?n:[],r}e.create=t})(IGe||={});var I7;(function(e){e.Text=1,e.Read=2,e.Write=3})(I7||={});var LGe;(function(e){function t(e,t){let n={range:e};return $.number(t)&&(n.kind=t),n}e.create=t})(LGe||={});var L7;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(L7||={});var RGe;(function(e){e.Deprecated=1})(RGe||={});var zGe;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(zGe||={});var BGe;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(BGe||={});var VGe;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&$.string(t.name)&&$.number(t.kind)&&m7.is(t.range)&&m7.is(t.selectionRange)&&(t.detail===void 0||$.string(t.detail))&&(t.deprecated===void 0||$.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(VGe||={});var HGe;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(HGe||={});var R7;(function(e){e.Invoked=1,e.Automatic=2})(R7||={});var UGe;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return $.defined(t)&&$.typedArray(t.diagnostics,b7.is)&&(t.only===void 0||$.typedArray(t.only,$.string))&&(t.triggerKind===void 0||t.triggerKind===R7.Invoked||t.triggerKind===R7.Automatic)}e.is=n})(UGe||={});var WGe;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):x7.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&$.string(t.title)&&(t.diagnostics===void 0||$.typedArray(t.diagnostics,b7.is))&&(t.kind===void 0||$.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||x7.is(t.command))&&(t.isPreferred===void 0||$.boolean(t.isPreferred))&&(t.edit===void 0||k7.is(t.edit))}e.is=n})(WGe||={});var GGe;(function(e){function t(e,t){let n={range:e};return $.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return $.defined(t)&&m7.is(t.range)&&($.undefined(t.command)||x7.is(t.command))}e.is=n})(GGe||={});var KGe;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&$.uinteger(t.tabSize)&&$.boolean(t.insertSpaces)}e.is=n})(KGe||={});var qGe;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return $.defined(t)&&m7.is(t.range)&&($.undefined(t.target)||$.string(t.target))}e.is=n})(qGe||={});var JGe;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return $.objectLiteral(n)&&m7.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(JGe||={});var YGe;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(YGe||={});var XGe;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(XGe||={});var ZGe;(function(e){function t(e){let t=e;return $.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(ZGe||={});var QGe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&m7.is(t.range)&&$.string(t.text)}e.is=n})(QGe||={});var $Ge;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&m7.is(t.range)&&$.boolean(t.caseSensitiveLookup)&&($.string(t.variableName)||t.variableName===void 0)}e.is=n})($Ge||={});var eKe;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&m7.is(t.range)&&($.string(t.expression)||t.expression===void 0)}e.is=n})(eKe||={});var tKe;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&m7.is(e.stoppedLocation)}e.is=n})(tKe||={});var z7;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(z7||={});var B7;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&(t.tooltip===void 0||$.string(t.tooltip)||M7.is(t.tooltip))&&(t.location===void 0||h7.is(t.location))&&(t.command===void 0||x7.is(t.command))}e.is=n})(B7||={});var nKe;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&p7.is(t.position)&&($.string(t.label)||$.typedArray(t.label,B7.is))&&(t.kind===void 0||z7.is(t.kind))&&t.textEdits===void 0||$.typedArray(t.textEdits,S7.is)&&(t.tooltip===void 0||$.string(t.tooltip)||M7.is(t.tooltip))&&(t.paddingLeft===void 0||$.boolean(t.paddingLeft))&&(t.paddingRight===void 0||$.boolean(t.paddingRight))}e.is=n})(nKe||={});var rKe;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(rKe||={});var iKe;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(iKe||={});var aKe;(function(e){function t(e){return{items:e}}e.create=t})(aKe||={});var oKe;(function(e){e.Invoked=0,e.Automatic=1})(oKe||={});var sKe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(sKe||={});var cKe;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(cKe||={});var lKe;(function(e){function t(e){let t=e;return $.objectLiteral(t)&&d7.is(t.uri)&&$.string(t.name)}e.is=t})(lKe||={});var uKe;(function(e){function t(e,t,n,r){return new dKe(e,t,n,r)}e.create=t;function n(e){let t=e;return!!($.defined(t)&&$.string(t.uri)&&($.undefined(t.languageId)||$.string(t.languageId))&&$.uinteger(t.lineCount)&&$.func(t.getText)&&$.func(t.positionAt)&&$.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(uKe||={});var dKe=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
1182
+ \`\`\``,isTrusted:!0}}var cWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{signatureHelp:{dynamicRegistration:!0,contextSupport:!0,signatureInformation:{documentationFormat:[w5.Markdown,w5.PlainText],parameterInformation:{labelOffsetSupport:!0},activeParameterSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentSignatureHelp,!0,e=>Q.registerSignatureHelpProvider(G5(e.documentSelector),new lWe(this._connection,e))))}},lWe=class{constructor(e,t){Z8(this,`signatureHelpTriggerCharacters`),Z8(this,`signatureHelpRetriggerCharacters`),this._client=e,this._capabilities=t,this.signatureHelpTriggerCharacters=t.triggerCharacters,this.signatureHelpRetriggerCharacters=t.retriggerCharacters}async provideSignatureHelp(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentSignatureHelp({textDocument:i.textDocument,position:i.position,context:{triggerKind:ZUe(r.triggerKind),triggerCharacter:r.triggerCharacter,isRetrigger:r.isRetrigger}});return a?{value:{signatures:a.signatures.map(e=>({label:e.label,documentation:Y5(e.documentation),parameters:e.parameters?.map(e=>({label:e.label,documentation:Y5(e.documentation)}))||[],activeParameter:e.activeParameter})),activeSignature:a.activeSignature||0,activeParameter:a.activeParameter||0},dispose:()=>{}}:null}};function Y5(e){if(e)return typeof e==`string`?e:{value:e.value,isTrusted:!0}}var uWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{definition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDefinition,!0,e=>Q.registerDefinitionProvider(G5(e.documentSelector),new dWe(this._connection,e))))}},dWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDefinition(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W5(e,this._client)):W5(i,this._client):null}},fWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{declaration:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDeclaration,!0,e=>Q.registerDeclarationProvider(G5(e.documentSelector),new pWe(this._connection,e))))}},pWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDeclaration(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDeclaration({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W5(e,this._client)):W5(i,this._client):null}},mWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{typeDefinition:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentTypeDefinition,!0,e=>Q.registerTypeDefinitionProvider(G5(e.documentSelector),new hWe(this._connection,e))))}},hWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideTypeDefinition(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentTypeDefinition({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W5(e,this._client)):W5(i,this._client):null}},gWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{implementation:{dynamicRegistration:!0,linkSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentImplementation,!0,e=>Q.registerImplementationProvider(G5(e.documentSelector),new _We(this._connection,e))))}},_We=class{constructor(e,t){this._client=e,this._capabilities=t}async provideImplementation(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentImplementation({textDocument:r.textDocument,position:r.position});return i?Array.isArray(i)?i.map(e=>W5(e,this._client)):W5(i,this._client):null}},vWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{references:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentReferences,!0,e=>Q.registerReferenceProvider(G5(e.documentSelector),new yWe(this._connection,e))))}},yWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideReferences(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentReferences({textDocument:i.textDocument,position:i.position,context:{includeDeclaration:n.includeDeclaration}});return a?a.map(e=>{let t=this._client.bridge.translateBackRange({uri:e.uri},e.range);return{uri:t.textModel.uri,range:t.range}}):null}},bWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentHighlight:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDocumentHighlight,!0,e=>Q.registerDocumentHighlightProvider(G5(e.documentSelector),new xWe(this._connection,e))))}},xWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentHighlights(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentDocumentHighlight({textDocument:r.textDocument,position:r.position});return i?i.map(e=>({range:this._client.bridge.translateBackRange(r.textDocument,e.range).range,kind:HUe(e.kind)})):null}},SWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentSymbol:{dynamicRegistration:!0,hierarchicalDocumentSymbolSupport:!0,symbolKind:{valueSet:Array.from(z5.keys())},tagSupport:{valueSet:[y5.Deprecated]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDocumentSymbol,!0,e=>Q.registerDocumentSymbolProvider(G5(e.documentSelector),new CWe(this._connection,e))))}},CWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentSymbols(e,t){let n=this._client.bridge.translate(e,new I6(1,1)),r=await this._client.server.textDocumentDocumentSymbol({textDocument:n.textDocument});return r?Array.isArray(r)&&r.length>0?`location`in r[0]?r.map(e=>wWe(e,this._client)):r.map(e=>X5(e,this._client,n.textDocument)):[]:null}};function X5(e,t,n){return{name:e.name,detail:e.detail||``,kind:B5(e.kind),tags:e.tags?.map(e=>V5(e)).filter(e=>e!==void 0)||[],range:t.bridge.translateBackRange(n,e.range).range,selectionRange:t.bridge.translateBackRange(n,e.selectionRange).range,children:e.children?.map(e=>X5(e,t,n))||[]}}function wWe(e,t){return{name:e.name,detail:``,kind:B5(e.kind),tags:e.tags?.map(e=>V5(e)).filter(e=>e!==void 0)||[],range:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,selectionRange:t.bridge.translateBackRange({uri:e.location.uri},e.location.range).range,children:[]}}var TWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rename:{dynamicRegistration:!0,prepareSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentRename,!0,e=>Q.registerRenameProvider(G5(e.documentSelector),new EWe(this._connection,e))))}},EWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideRenameEdits(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentRename({textDocument:i.textDocument,position:i.position,newName:n});return a?DWe(a,this._client):null}async resolveRenameLocation(e,t,n){if(!this._capabilities.prepareProvider)return null;let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentPrepareRename({textDocument:r.textDocument,position:r.position});if(!i)return null;if(`range`in i&&`placeholder`in i)return{range:this._client.bridge.translateBackRange(r.textDocument,i.range).range,text:i.placeholder};if(`defaultBehavior`in i)return null;if(`start`in i&&`end`in i){let t=this._client.bridge.translateBackRange(r.textDocument,i).range;return{range:t,text:e.getValueInRange(t)}}return null}};function DWe(e,t){let n=[];if(e.changes)for(let r in e.changes){let i=e.changes[r];for(let e of i){let i=t.bridge.translateBackRange({uri:r},e.range);n.push({resource:i.textModel.uri,versionId:void 0,textEdit:{range:i.range,text:e.newText}})}}if(e.documentChanges){for(let r of e.documentChanges)if(`textDocument`in r){let e=r.textDocument.uri;for(let i of r.edits){let a=t.bridge.translateBackRange({uri:e},i.range);n.push({resource:a.textModel.uri,versionId:r.textDocument.version,textEdit:{range:a.range,text:i.newText}})}}}return{edits:n}}var OWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeAction:{dynamicRegistration:!0,codeActionLiteralSupport:{codeActionKind:{valueSet:Array.from(I5.keys())}},isPreferredSupport:!0,disabledSupport:!0,dataSupport:!0,resolveSupport:{properties:[`edit`]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentCodeAction,!0,e=>Q.registerCodeActionProvider(G5(e.documentSelector),new kWe(this._connection,e))))}},kWe=class{constructor(e,t){Z8(this,`resolveCodeAction`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCodeAction=async(e,t)=>{if(e._lspAction){let t=await this._client.server.codeActionResolve(e._lspAction);t.edit&&(e.edit=Z5(t.edit,this._client)),t.command&&(e.command=U5(t.command))}return e})}async provideCodeActions(e,t,n,r){let i=this._client.bridge.translate(e,t.getStartPosition()),a=await this._client.server.textDocumentCodeAction({textDocument:i.textDocument,range:this._client.bridge.translateRange(e,t),context:{diagnostics:n.markers.map(t=>({range:this._client.bridge.translateRange(e,L6.lift(t)),message:t.message,severity:KUe(t.severity)})),triggerKind:NUe(n.trigger)}});return a?{actions:(Array.isArray(a)?a:[a]).map(e=>{if(`title`in e&&!(`kind`in e)){let t=e;return{title:t.title,command:U5(t)}}{let t=e;return{title:t.title,kind:jUe(t.kind),isPreferred:t.isPreferred,disabled:t.disabled?.reason,edit:t.edit?Z5(t.edit,this._client):void 0,command:U5(t.command),_lspAction:t}}}),dispose:()=>{}}:null}};function Z5(e,t){let n=[];if(e.changes)for(let r in e.changes){let i=e.changes[r];for(let e of i){let i=t.bridge.translateBackRange({uri:r},e.range);n.push({resource:i.textModel.uri,versionId:void 0,textEdit:{range:i.range,text:e.newText}})}}if(e.documentChanges){for(let r of e.documentChanges)if(`textDocument`in r){let e=r.textDocument.uri;for(let i of r.edits){let a=t.bridge.translateBackRange({uri:e},i.range);n.push({resource:a.textModel.uri,versionId:r.textDocument.version??void 0,textEdit:{range:a.range,text:i.newText}})}}}return{edits:n}}var AWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{codeLens:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentCodeLens,!0,e=>Q.registerCodeLensProvider(G5(e.documentSelector),new jWe(this._connection,e))))}},jWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideCodeLenses(e,t){let n=this._client.bridge.translate(e,new I6(1,1)),r=await this._client.server.textDocumentCodeLens({textDocument:n.textDocument});return r?{lenses:r.map(t=>({range:N5(this._client.bridge.translateBackRange(n.textDocument,t.range),e).range,command:U5(t.command),_lspCodeLens:t})),dispose:()=>{}}:null}async resolveCodeLens(e,t,n){if(!this._capabilities.resolveProvider||!t._lspCodeLens)return t;let r=await this._client.server.codeLensResolve(t._lspCodeLens);return r.command&&(t.command={id:r.command.command,title:r.command.title,arguments:r.command.arguments}),t}},MWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{documentLink:{dynamicRegistration:!0,tooltipSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDocumentLink,!0,e=>Q.registerLinkProvider(G5(e.documentSelector),new NWe(this._connection,e))))}},NWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideLinks(e,t){let n=this._client.bridge.translate(e,new I6(1,1)),r=await this._client.server.textDocumentDocumentLink({textDocument:n.textDocument});return r?{links:r.map(e=>({range:this._client.bridge.translateBackRange(n.textDocument,e.range).range,url:e.target,tooltip:e.tooltip}))}:null}async resolveLink(e,t){return this._capabilities.resolveProvider,e}},PWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{formatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentFormatting,!0,e=>Q.registerDocumentFormattingEditProvider(G5(e.documentSelector),new FWe(this._connection,e))))}},FWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentFormattingEdits(e,t,n){let r=this._client.bridge.translate(e,new I6(1,1)),i=await this._client.server.textDocumentFormatting({textDocument:r.textDocument,options:{tabSize:t.tabSize,insertSpaces:t.insertSpaces}});return i?i.map(e=>({range:this._client.bridge.translateBackRange(r.textDocument,e.range).range,text:e.newText})):null}},IWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{rangeFormatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentRangeFormatting,!0,e=>Q.registerDocumentRangeFormattingEditProvider(G5(e.documentSelector),new LWe(this._connection,e))))}},LWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideDocumentRangeFormattingEdits(e,t,n,r){let i=this._client.bridge.translate(e,t.getStartPosition()),a=await this._client.server.textDocumentRangeFormatting({textDocument:i.textDocument,range:this._client.bridge.translateRange(e,t),options:{tabSize:n.tabSize,insertSpaces:n.insertSpaces}});return a?a.map(e=>({range:this._client.bridge.translateBackRange(i.textDocument,e.range).range,text:e.newText})):null}},RWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{onTypeFormatting:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentOnTypeFormatting,!0,e=>Q.registerOnTypeFormattingEditProvider(G5(e.documentSelector),new zWe(this._connection,e))))}},zWe=class{constructor(e,t){Z8(this,`autoFormatTriggerCharacters`),this._client=e,this._capabilities=t,this.autoFormatTriggerCharacters=[t.firstTriggerCharacter,...t.moreTriggerCharacter||[]]}async provideOnTypeFormattingEdits(e,t,n,r,i){let a=this._client.bridge.translate(e,t),o=await this._client.server.textDocumentOnTypeFormatting({textDocument:a.textDocument,position:a.position,ch:n,options:{tabSize:r.tabSize,insertSpaces:r.insertSpaces}});return o?o.map(e=>({range:this._client.bridge.translateBackRange(a.textDocument,e.range).range,text:e.newText})):null}},BWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{foldingRange:{dynamicRegistration:!0,rangeLimit:5e3,lineFoldingOnly:!1,foldingRangeKind:{valueSet:[_5.Comment,_5.Imports,_5.Region]}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentFoldingRange,!0,e=>Q.registerFoldingRangeProvider(G5(e.documentSelector),new VWe(this._connection,e))))}},VWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideFoldingRanges(e,t,n){let r=this._client.bridge.translate(e,new I6(1,1)),i=await this._client.server.textDocumentFoldingRange({textDocument:r.textDocument});return i?i.map(e=>({start:e.startLine+1,end:e.endLine+1,kind:WUe(e.kind)})):null}},HWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{selectionRange:{dynamicRegistration:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentSelectionRange,!0,e=>Q.registerSelectionRangeProvider(G5(e.documentSelector),new UWe(this._connection,e))))}},UWe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideSelectionRanges(e,t,n){let r=this._client.bridge.translate(e,t[0]),i=await this._client.server.textDocumentSelectionRange({textDocument:r.textDocument,positions:t.map(t=>this._client.bridge.translate(e,t).position)});return i?i.map(e=>this.convertSelectionRange(e,r.textDocument)):null}convertSelectionRange(e,t){let n=[],r=e;for(;r;)n.push({range:this._client.bridge.translateBackRange(t,r.range).range}),r=r.parent;return n}},WWe=class extends P5{constructor(e){super(),Z8(this,`_providers`,new Set),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{inlayHint:{dynamicRegistration:!0,resolveSupport:{properties:[`tooltip`,`textEdits`,`label.tooltip`,`label.location`,`label.command`]}}},workspace:{inlayHint:{refreshSupport:!0}}})),this._register(this._connection.connection.registerRequestHandler(M5.client.workspaceInlayHintRefresh,async()=>{for(let e of this._providers)e.refresh();return{ok:null}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentInlayHint,!0,e=>{let t=new GWe(this._connection,e);this._providers.add(t);let n=Q.registerInlayHintsProvider(G5(e.documentSelector),t);return{dispose:()=>{this._providers.delete(t),n.dispose()}}}))}},GWe=class{constructor(e,t){Z8(this,`_onDidChangeInlayHints`,new N6),Z8(this,`onDidChangeInlayHints`,this._onDidChangeInlayHints.event),Z8(this,`resolveInlayHint`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveInlayHint=async(e,t)=>{let n=await this._client.server.inlayHintResolve(e._lspInlayHint);return n.tooltip&&(e.tooltip=$5(n.tooltip)),n.label!==e._lspInlayHint.label&&(e.label=Q5(n.label)),n.textEdits&&(e.textEdits=n.textEdits.map(t=>({range:this._client.bridge.translateBackRange({uri:e._targetUri},t.range).range,text:t.newText}))),e})}refresh(){this._onDidChangeInlayHints.fire()}async provideInlayHints(e,t,n){let r=this._client.bridge.translate(e,t.getStartPosition()),i=await KWe(async()=>await this._client.server.textDocumentInlayHint({textDocument:r.textDocument,range:this._client.bridge.translateRange(e,t)}));return i?{hints:i.map(t=>({label:Q5(t.label),position:N5(this._client.bridge.translateBack(r.textDocument,t.position),e).position,kind:$Ue(t.kind),tooltip:$5(t.tooltip),paddingLeft:t.paddingLeft,paddingRight:t.paddingRight,textEdits:t.textEdits?.map(t=>({range:N5(this._client.bridge.translateBackRange(r.textDocument,t.range),e).range,text:t.newText})),_lspInlayHint:t,_targetUri:r.textDocument.uri})),dispose:()=>{}}:null}};async function KWe(e){for(let t=3;;t--)try{return await e()}catch(e){if(e.message===`content modified`&&t>0)continue;throw e}}function Q5(e){return typeof e==`string`?e:e.map(e=>{let t={label:e.value,tooltip:$5(e.tooltip),command:U5(e.command)};return e.location&&(t.location={uri:H6.parse(e.location.uri),range:new L6(e.location.range.start.line+1,e.location.range.start.character+1,e.location.range.end.line+1,e.location.range.end.character+1)}),t})}function $5(e){if(e)return typeof e==`string`?e:{value:e.value,isTrusted:!0}}var qWe=class extends P5{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{semanticTokens:{dynamicRegistration:!0,requests:{range:!0,full:{delta:!0}},tokenTypes:[`namespace`,`type`,`class`,`enum`,`interface`,`struct`,`typeParameter`,`parameter`,`variable`,`property`,`enumMember`,`event`,`function`,`method`,`macro`,`keyword`,`modifier`,`comment`,`string`,`number`,`regexp`,`operator`,`decorator`],tokenModifiers:[`declaration`,`definition`,`readonly`,`static`,`deprecated`,`abstract`,`async`,`modification`,`documentation`,`defaultLibrary`],formats:[AUe.Relative],overlappingTokenSupport:!1,multilineTokenSupport:!0}}})),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentSemanticTokensFull,!0,e=>Q.registerDocumentSemanticTokensProvider(G5(e.documentSelector),new JWe(this._connection,e))))}},JWe=class{constructor(e,t){this._client=e,this._capabilities=t}getLegend(){return{tokenTypes:this._capabilities.legend.tokenTypes,tokenModifiers:this._capabilities.legend.tokenModifiers}}releaseDocumentSemanticTokens(e){}async provideDocumentSemanticTokens(e,t,n){let r=this._client.bridge.translate(e,e.getPositionAt(0)),i=this._capabilities.full;if(t&&i&&typeof i==`object`&&i.delta){let e=await this._client.server.textDocumentSemanticTokensFullDelta({textDocument:r.textDocument,previousResultId:t});return e?`edits`in e?{resultId:e.resultId,edits:e.edits.map(e=>({start:e.start,deleteCount:e.deleteCount,data:e.data?new Uint32Array(e.data):void 0}))}:{resultId:e.resultId,data:new Uint32Array(e.data)}:null}let a=await this._client.server.textDocumentSemanticTokensFull({textDocument:r.textDocument});return a?{resultId:a.resultId,data:new Uint32Array(a.data)}:null}async provideDocumentSemanticTokensEdits(e,t,n){return this.provideDocumentSemanticTokens(e,t,n)}},YWe=class extends P5{constructor(e){super(),Z8(this,`_diagnosticsMarkerOwner`,`lsp`),Z8(this,`_pullDiagnosticProviders`,new Map),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{publishDiagnostics:{relatedInformation:!0,tagSupport:{valueSet:[...H5.keys()]},versionSupport:!0,codeDescriptionSupport:!0,dataSupport:!0},diagnostic:{dynamicRegistration:!0,relatedDocumentSupport:!0}}})),this._register(this._connection.connection.registerNotificationHandler(M5.client.textDocumentPublishDiagnostics,e=>this._handlePublishDiagnostics(e))),this._register(this._connection.capabilities.registerCapabilityHandler(j5.textDocumentDiagnostic,!0,e=>{let t=new F5;for(let n of W6.getModels())this._addPullDiagnosticProvider(n,e,t);return t.add(W6.onDidCreateModel(n=>{this._addPullDiagnosticProvider(n,e,t)})),t}))}_addPullDiagnosticProvider(e,t,n){if(e.getLanguageId(),!eWe(e,t.documentSelector))return;let r=new XWe(e,this._connection,this._diagnosticsMarkerOwner,t);this._pullDiagnosticProviders.set(e,r),n.add(r),n.add(e.onWillDispose(()=>{this._pullDiagnosticProviders.delete(e)}))}_handlePublishDiagnostics(e){let t=e.uri;try{let n=this._connection.bridge.translateBack({uri:t},{line:0,character:0}).textModel;if(!n||n.isDisposed())return;let r=e.diagnostics.map(e=>K5(e));W6.setModelMarkers(n,this._diagnosticsMarkerOwner,r)}catch(e){console.debug(`Could not set diagnostics for ${t}:`,e)}}},XWe=class extends P5{constructor(e,t,n,r){super(),Z8(this,`_updateHandle`),Z8(this,`_previousResultId`),this._model=e,this._connection=t,this._markerOwner=n,this._capability=r,this._register(this._model.onDidChangeContent(()=>{this._scheduleDiagnosticUpdate()})),this._scheduleDiagnosticUpdate()}_scheduleDiagnosticUpdate(){this._updateHandle!==void 0&&clearTimeout(this._updateHandle),this._updateHandle=window.setTimeout(()=>{this._updateHandle=void 0,this._requestDiagnostics()},500)}async _requestDiagnostics(){if(!this._model.isDisposed())try{let e=this._connection.bridge.translate(this._model,new I6(1,1)),t=await this._connection.server.textDocumentDiagnostic({textDocument:e.textDocument,identifier:this._capability.identifier,previousResultId:this._previousResultId});if(this._model.isDisposed())return;this._handleDiagnosticReport(t)}catch(e){console.error(`Error requesting diagnostics:`,e)}}_handleDiagnosticReport(e){if(e.kind===`full`){this._previousResultId=e.resultId;let t=e.items.map(e=>K5(e));W6.setModelMarkers(this._model,this._markerOwner,t),`relatedDocuments`in e&&e.relatedDocuments&&this._handleRelatedDocuments(e.relatedDocuments)}else e.kind===`unchanged`&&(this._previousResultId=e.resultId)}_handleRelatedDocuments(e){for(let[t,n]of Object.entries(e))try{let e=this._connection.bridge.translateBack({uri:t},{line:0,character:0}).textModel;if(!e||e.isDisposed())continue;if(n.kind===`full`){let t=n.items.map(e=>K5(e));W6.setModelMarkers(e,this._markerOwner,t)}}catch(e){console.debug(`Could not set related diagnostics for ${t}:`,e)}}dispose(){this._updateHandle!==void 0&&(clearTimeout(this._updateHandle),this._updateHandle=void 0),super.dispose()}},ZWe=class{constructor(e,t,n,r){this.server=e,this.bridge=t,this.capabilities=n,this.connection=r}},QWe=class extends P5{constructor(e){super(),Z8(this,`_staticCapabilities`,new Set),Z8(this,`_dynamicFromStatic`,tGe.create()),Z8(this,`_registrations`,new Map),Z8(this,`_serverCapabilities`),this._connection=e,this._register(this._connection.registerRequestHandler(M5.client.clientRegisterCapability,async e=>{for(let t of e.registrations){let e=t7(t.method),n=new e7(t.id,e,t.registerOptions,!1);this._registerCapabilityOptions(n)}return{ok:null}})),this._register(this._connection.registerRequestHandler(M5.client.clientUnregisterCapability,async e=>{for(let t of e.unregisterations){let e=t7(t.method),n=this._registrations.get(e),r=n?.registrations.get(t.id);if(!r)throw Error(`No registration for method ${t.method} with id ${t.id}`);r?.handlerDisposables.forEach(e=>e.dispose()),n?.registrations.delete(t.id)}return{ok:null}}))}_registerCapabilityOptions(e){let t=this._registrations.get(e.capability);if(t||(t=new n7,this._registrations.set(e.capability,t)),t.registrations.has(e.id))throw Error(`Handler for method ${e.capability.method} with id ${e.id} already registered`);t.registrations.set(e.id,e);for(let n of t.handlers)(n.handleStaticCapability||!e.isFromStatic)&&e.handlerDisposables.set(n,n.handler(e.options))}setServerCapabilities(e){if(this._serverCapabilities)throw Error(`Server capabilities already set`);this._serverCapabilities=e;for(let t of Object.values(j5)){let n=this._dynamicFromStatic.getOptions(t,e);n&&this._registerCapabilityOptions(new e7(t.method,t,n,!0))}}getClientCapabilities(){let e={};for(let t of this._staticCapabilities)r7(e,t.cap);return e}addStaticClientCapabilities(e){let t={cap:e};return this._staticCapabilities.add(t),{dispose:()=>{this._staticCapabilities.delete(t)}}}registerCapabilityHandler(e,t,n){let r=this._registrations.get(e);r||(r=new n7,this._registrations.set(e,r));let i=new $We(e,t,n);r.handlers.add(i);for(let e of r.registrations.values())(i.handleStaticCapability||!e.isFromStatic)&&e.handlerDisposables.set(i,n(e.options));return{dispose:()=>{r.handlers.delete(i);for(let e of r.registrations.values()){let t=e.handlerDisposables.get(i);t&&(t.dispose(),e.handlerDisposables.delete(i))}}}}},$We=class{constructor(e,t,n){this.capability=e,this.handleStaticCapability=t,this.handler=n}},e7=class{constructor(e,t,n,r){Z8(this,`handlerDisposables`,new Map),this.id=e,this.capability=t,this.options=n,this.isFromStatic=r}},eGe=new Map([...Object.values(j5)].map(e=>[e.method,e]));function t7(e){let t=eGe.get(e);if(!t)throw Error(`No capability found for method ${e}`);return t}var n7=class{constructor(){Z8(this,`handlers`,new Set),Z8(this,`registrations`,new Map)}},tGe=class e{constructor(){Z8(this,`_mappings`,new Map)}static create(){let t=new e;return t.set(j5.textDocumentDidChange,e=>{if(e.textDocumentSync!==void 0)return typeof e.textDocumentSync==`object`?{syncKind:e.textDocumentSync.change??DUe.None,documentSelector:null}:{syncKind:e.textDocumentSync,documentSelector:null}}),t.set(j5.textDocumentCompletion,e=>e.completionProvider),t.set(j5.textDocumentHover,e=>e.hoverProvider),t.set(j5.textDocumentSignatureHelp,e=>e.signatureHelpProvider),t.set(j5.textDocumentDefinition,e=>e.definitionProvider),t.set(j5.textDocumentReferences,e=>e.referencesProvider),t.set(j5.textDocumentDocumentHighlight,e=>e.documentHighlightProvider),t.set(j5.textDocumentDocumentSymbol,e=>e.documentSymbolProvider),t.set(j5.textDocumentCodeAction,e=>e.codeActionProvider),t.set(j5.textDocumentCodeLens,e=>e.codeLensProvider),t.set(j5.textDocumentDocumentLink,e=>e.documentLinkProvider),t.set(j5.textDocumentFormatting,e=>e.documentFormattingProvider),t.set(j5.textDocumentRangeFormatting,e=>e.documentRangeFormattingProvider),t.set(j5.textDocumentOnTypeFormatting,e=>e.documentOnTypeFormattingProvider),t.set(j5.textDocumentRename,e=>e.renameProvider),t.set(j5.textDocumentFoldingRange,e=>e.foldingRangeProvider),t.set(j5.textDocumentDeclaration,e=>e.declarationProvider),t.set(j5.textDocumentTypeDefinition,e=>e.typeDefinitionProvider),t.set(j5.textDocumentImplementation,e=>e.implementationProvider),t.set(j5.textDocumentDocumentColor,e=>e.colorProvider),t.set(j5.textDocumentSelectionRange,e=>e.selectionRangeProvider),t.set(j5.textDocumentLinkedEditingRange,e=>e.linkedEditingRangeProvider),t.set(j5.textDocumentPrepareCallHierarchy,e=>e.callHierarchyProvider),t.set(j5.textDocumentSemanticTokensFull,e=>e.semanticTokensProvider),t.set(j5.textDocumentInlayHint,e=>e.inlayHintProvider),t.set(j5.textDocumentInlineValue,e=>e.inlineValueProvider),t.set(j5.textDocumentDiagnostic,e=>e.diagnosticProvider),t.set(j5.textDocumentMoniker,e=>e.monikerProvider),t.set(j5.textDocumentPrepareTypeHierarchy,e=>e.typeHierarchyProvider),t.set(j5.workspaceSymbol,e=>e.workspaceSymbolProvider),t.set(j5.workspaceExecuteCommand,e=>e.executeCommandProvider),t}set(e,t){if(this._mappings.has(e.method))throw Error(`Capability for method ${e.method} already registered`);this._mappings.set(e.method,t)}getOptions(e,t){let n=this._mappings.get(e.method);if(n)return n(t)}};function r7(e,t){for(let n of Object.keys(t)){let r=t[n];if(r===void 0)continue;let i=e[n];if(i===void 0){e[n]=r;continue}if(typeof r!=`object`||!r){e[n]=r;continue}if(typeof i!=`object`||!i){e[n]=r;continue}r7(i,r)}}var nGe=class extends P5{constructor(e,t){super(),Z8(this,`_managedModels`,new Map),Z8(this,`_managedModelsReverse`,new Map),Z8(this,`_started`,!1),this._server=e,this._capabilities=t,this._register(this._capabilities.addStaticClientCapabilities({textDocument:{synchronization:{dynamicRegistration:!0,willSave:!1,willSaveWaitUntil:!1,didSave:!1}}})),this._register(t.registerCapabilityHandler(j5.textDocumentDidChange,!0,e=>{if(this._started)return{dispose:()=>{}};this._started=!0,this._register(W6.onDidCreateModel(e=>{this._getOrCreateManagedModel(e)}));for(let e of W6.getModels())this._getOrCreateManagedModel(e);return{dispose:()=>{}}}))}_getOrCreateManagedModel(e){if(!this._started)throw Error(`Not started`);let t=e.uri.toString(!0).toLowerCase(),n=this._managedModels.get(e);return n||(n=new rGe(e,this._server),this._managedModels.set(e,n),this._managedModelsReverse.set(t,e)),e.onWillDispose(()=>{n.dispose(),this._managedModels.delete(e),this._managedModelsReverse.delete(t)}),n}translateBack(e,t){let n=e.uri.toLowerCase(),r=this._managedModelsReverse.get(n);if(!r)throw Error(`No text model for uri ${n}`);return{textModel:r,position:new I6(t.line+1,t.character+1)}}translateBackRange(e,t){let n=e.uri.toLowerCase(),r=this._managedModelsReverse.get(n);if(!r)throw Error(`No text model for uri ${n}`);return{textModel:r,range:new L6(t.start.line+1,t.start.character+1,t.end.line+1,t.end.character+1)}}translate(e,t){return{textDocument:{uri:e.uri.toString(!0)},position:{line:t.lineNumber-1,character:t.column-1}}}translateRange(e,t){return{start:{line:t.startLineNumber-1,character:t.startColumn-1},end:{line:t.endLineNumber-1,character:t.endColumn-1}}}},rGe=class extends P5{constructor(e,t){super(),this._textModel=e,this._api=t;let n=e.uri.toString(!0).toLowerCase();this._api.textDocumentDidOpen({textDocument:{languageId:e.getLanguageId(),uri:n,version:e.getVersionId(),text:e.getValue()}}),this._register(e.onDidChangeContent(t=>{let r=t.changes.map(e=>iGe(e));this._api.textDocumentDidChange({textDocument:{uri:n,version:e.getVersionId()},contentChanges:r})})),this._register({dispose:()=>{this._api.textDocumentDidClose({textDocument:{uri:n}})}})}};function iGe(e){return{range:aGe(e.range),rangeLength:e.rangeLength,text:e.text}}function aGe(e){return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}var oGe=class{constructor(e){Z8(this,`_connection`),Z8(this,`_capabilitiesRegistry`),Z8(this,`_bridge`),Z8(this,`_initPromise`);let t=u5.fromTransport(e),n=M5.getServer(t,{});t.startListen(),this._capabilitiesRegistry=new QWe(t),this._bridge=new nGe(n.server,this._capabilitiesRegistry),this._connection=new ZWe(n.server,this._bridge,this._capabilitiesRegistry,t),this.createFeatures(),this._initPromise=this._init()}async _init(){let e=await this._connection.server.initialize({processId:null,capabilities:this._capabilitiesRegistry.getClientCapabilities(),rootUri:null});this._connection.server.initialized({}),this._capabilitiesRegistry.setServerCapabilities(e.capabilities)}createFeatures(){let e=new F5;return e.add(new tWe(this._connection)),e.add(new aWe(this._connection)),e.add(new cWe(this._connection)),e.add(new uWe(this._connection)),e.add(new fWe(this._connection)),e.add(new mWe(this._connection)),e.add(new gWe(this._connection)),e.add(new vWe(this._connection)),e.add(new bWe(this._connection)),e.add(new SWe(this._connection)),e.add(new TWe(this._connection)),e.add(new OWe(this._connection)),e.add(new AWe(this._connection)),e.add(new MWe(this._connection)),e.add(new PWe(this._connection)),e.add(new IWe(this._connection)),e.add(new RWe(this._connection)),e.add(new BWe(this._connection)),e.add(new HWe(this._connection)),e.add(new WWe(this._connection)),e.add(new qWe(this._connection)),e.add(new YWe(this._connection)),e}},i7=null;typeof WebSocket<`u`?i7=WebSocket:typeof MozWebSocket<`u`?i7=MozWebSocket:typeof global<`u`?i7=global.WebSocket||global.MozWebSocket:typeof window<`u`?i7=window.WebSocket||window.MozWebSocket:typeof self<`u`&&(i7=self.WebSocket||self.MozWebSocket);var sGe=i7;function cGe(e){return`host`in e?{address:`${e.forceTls?`wss`:`ws`}://${e.host}:${e.port}`}:e}var lGe=class e extends o5{constructor(e){super(),Z8(this,`socket`),Z8(this,`errorEmitter`,new i5),Z8(this,`onError`,this.errorEmitter),this.socket=e,e.onmessage=e=>{try{let t=e.data;if(typeof t==`string`){let e=JSON.parse(t);this._dispatchReceivedMessage(e)}else throw Error(`Not supported`)}catch(e){this.errorEmitter.fire({error:e})}},e.onclose=e=>{this._onConnectionClosed()}}static connectTo(t){let n=new sGe(cGe(t).address);return new Promise((t,r)=>{n.onerror=e=>{r(e)},n.onopen=()=>{t(new e(n))}})}static fromWebSocket(t){return new e(t)}close(){this.socket.close()}dispose(){this.close()}_sendImpl(e){let t=JSON.stringify(e);return new Promise((e,n)=>{this.socket.send(t,t=>{t?n(t):e()})})}toString(){return`${this.id}@${this.socket.url}`}},a7=class extends o5{constructor(e,t=void 0,n=void 0){super(),Z8(this,`_windowLike`),Z8(this,`_source`),Z8(this,`_loadingState`),Z8(this,`_disposed`,!1),Z8(this,`_messageHandler`,({data:e,source:t})=>{this._source&&t!==this._source||typeof e==`object`&&e&&this._dispatchReceivedMessage(e)}),this._windowLike=e,this._source=t,this._loadingState=n,this._windowLike.addEventListener(`message`,this._messageHandler)}async _sendImpl(e){if(this._disposed)throw Error(`Transport is disposed`);this._loadingState&&!this._loadingState.loaded&&await this._loadingState.onLoaded,this._windowLike.postMessage(e)}toString(){return`${this.id}@${this._windowLike}`}dispose(){this._disposed||(this._disposed=!0,this._windowLike.removeEventListener(`message`,this._messageHandler))}};function uGe(e){if(typeof window>`u`)throw Error(`call this function from the main browser thread`);return new a7(e)}function dGe(e){if(typeof window>`u`)throw Error(`call this function from the main browser thread`);return new a7(e.contentWindow,e.contentWindow,{loaded:window.document.readyState===`complete`,onLoaded:new Promise(e=>{window.addEventListener(`load`,()=>e())})})}function fGe(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var o7=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:fGe(`defaultWorkerFactory`,{createScriptURL:e=>e});function pGe(e){let t=e.label,n=globalThis.MonacoEnvironment;if(n){if(typeof n.getWorker==`function`)return n.getWorker(`workerMain.js`,t);if(typeof n.getWorkerUrl==`function`){let e=n.getWorkerUrl(`workerMain.js`,t);return new Worker(o7?o7.createScriptURL(e):e,{name:t,type:`module`})}}if(e.createWorker)return e.createWorker();throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function s7(e){let t=Promise.resolve(pGe({label:e.label??`monaco-editor-worker`,moduleId:e.moduleId,createWorker:e.createWorker})).then(t=>(t.postMessage(`ignore`),t.postMessage(e.createData),t));return W6.createWebWorker({worker:t,host:e.host,keepIdleModels:e.keepIdleModels})}function c7(){return oze}globalThis.MonacoEnvironment?.globalAPI&&(globalThis.monaco=c7());var mGe=e({CancellationTokenSource:()=>M6,Emitter:()=>N6,KeyCode:()=>P6,KeyMod:()=>F6,MarkerSeverity:()=>B6,MarkerTag:()=>V6,Position:()=>I6,Range:()=>L6,Selection:()=>R6,SelectionDirection:()=>z6,Token:()=>U6,Uri:()=>H6,createWebWorker:()=>s7,css:()=>g8,editor:()=>W6,html:()=>w8,json:()=>P8,languages:()=>Q,lsp:()=>lUe,typescript:()=>L8}),l7=c7();l7.languages.css=g8,l7.languages.html=w8,l7.languages.typescript=L8,l7.languages.json=P8;var hGe=12e4,u7=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>hGe&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=s7({moduleId:`vs/language/css/cssWorker`,createWorker:()=>new Worker(new URL(`/assets/css.worker-DFdt6_zu.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},gGe;(function(e){function t(e){return typeof e==`string`}e.is=t})(gGe||={});var d7;(function(e){function t(e){return typeof e==`string`}e.is=t})(d7||={});var _Ge;(function(e){e.MIN_VALUE=-2147483648,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(_Ge||={});var f7;(function(e){e.MIN_VALUE=0,e.MAX_VALUE=2147483647;function t(t){return typeof t==`number`&&e.MIN_VALUE<=t&&t<=e.MAX_VALUE}e.is=t})(f7||={});var p7;(function(e){function t(e,t){return e===Number.MAX_VALUE&&(e=f7.MAX_VALUE),t===Number.MAX_VALUE&&(t=f7.MAX_VALUE),{line:e,character:t}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&$.uinteger(t.line)&&$.uinteger(t.character)}e.is=n})(p7||={});var m7;(function(e){function t(e,t,n,r){if($.uinteger(e)&&$.uinteger(t)&&$.uinteger(n)&&$.uinteger(r))return{start:p7.create(e,t),end:p7.create(n,r)};if(p7.is(e)&&p7.is(t))return{start:e,end:t};throw Error(`Range#create called with invalid arguments[${e}, ${t}, ${n}, ${r}]`)}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&p7.is(t.start)&&p7.is(t.end)}e.is=n})(m7||={});var h7;(function(e){function t(e,t){return{uri:e,range:t}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&m7.is(t.range)&&($.string(t.uri)||$.undefined(t.uri))}e.is=n})(h7||={});var vGe;(function(e){function t(e,t,n,r){return{targetUri:e,targetRange:t,targetSelectionRange:n,originSelectionRange:r}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&m7.is(t.targetRange)&&$.string(t.targetUri)&&m7.is(t.targetSelectionRange)&&(m7.is(t.originSelectionRange)||$.undefined(t.originSelectionRange))}e.is=n})(vGe||={});var g7;(function(e){function t(e,t,n,r){return{red:e,green:t,blue:n,alpha:r}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&$.numberRange(t.red,0,1)&&$.numberRange(t.green,0,1)&&$.numberRange(t.blue,0,1)&&$.numberRange(t.alpha,0,1)}e.is=n})(g7||={});var yGe;(function(e){function t(e,t){return{range:e,color:t}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&m7.is(t.range)&&g7.is(t.color)}e.is=n})(yGe||={});var bGe;(function(e){function t(e,t,n){return{label:e,textEdit:t,additionalTextEdits:n}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&$.string(t.label)&&($.undefined(t.textEdit)||S7.is(t))&&($.undefined(t.additionalTextEdits)||$.typedArray(t.additionalTextEdits,S7.is))}e.is=n})(bGe||={});var _7;(function(e){e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`})(_7||={});var xGe;(function(e){function t(e,t,n,r,i,a){let o={startLine:e,endLine:t};return $.defined(n)&&(o.startCharacter=n),$.defined(r)&&(o.endCharacter=r),$.defined(i)&&(o.kind=i),$.defined(a)&&(o.collapsedText=a),o}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&$.uinteger(t.startLine)&&$.uinteger(t.startLine)&&($.undefined(t.startCharacter)||$.uinteger(t.startCharacter))&&($.undefined(t.endCharacter)||$.uinteger(t.endCharacter))&&($.undefined(t.kind)||$.string(t.kind))}e.is=n})(xGe||={});var v7;(function(e){function t(e,t){return{location:e,message:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&h7.is(t.location)&&$.string(t.message)}e.is=n})(v7||={});var y7;(function(e){e.Error=1,e.Warning=2,e.Information=3,e.Hint=4})(y7||={});var SGe;(function(e){e.Unnecessary=1,e.Deprecated=2})(SGe||={});var CGe;(function(e){function t(e){let t=e;return $.objectLiteral(t)&&$.string(t.href)}e.is=t})(CGe||={});var b7;(function(e){function t(e,t,n,r,i,a){let o={range:e,message:t};return $.defined(n)&&(o.severity=n),$.defined(r)&&(o.code=r),$.defined(i)&&(o.source=i),$.defined(a)&&(o.relatedInformation=a),o}e.create=t;function n(e){let t=e;return $.defined(t)&&m7.is(t.range)&&$.string(t.message)&&($.number(t.severity)||$.undefined(t.severity))&&($.integer(t.code)||$.string(t.code)||$.undefined(t.code))&&($.undefined(t.codeDescription)||$.string(t.codeDescription?.href))&&($.string(t.source)||$.undefined(t.source))&&($.undefined(t.relatedInformation)||$.typedArray(t.relatedInformation,v7.is))}e.is=n})(b7||={});var x7;(function(e){function t(e,t,...n){let r={title:e,command:t};return $.defined(n)&&n.length>0&&(r.arguments=n),r}e.create=t;function n(e){let t=e;return $.defined(t)&&$.string(t.title)&&$.string(t.command)}e.is=n})(x7||={});var S7;(function(e){function t(e,t){return{range:e,newText:t}}e.replace=t;function n(e,t){return{range:{start:e,end:e},newText:t}}e.insert=n;function r(e){return{range:e,newText:``}}e.del=r;function i(e){let t=e;return $.objectLiteral(t)&&$.string(t.newText)&&m7.is(t.range)}e.is=i})(S7||={});var C7;(function(e){function t(e,t,n){let r={label:e};return t!==void 0&&(r.needsConfirmation=t),n!==void 0&&(r.description=n),r}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&$.string(t.label)&&($.boolean(t.needsConfirmation)||t.needsConfirmation===void 0)&&($.string(t.description)||t.description===void 0)}e.is=n})(C7||={});var w7;(function(e){function t(e){let t=e;return $.string(t)}e.is=t})(w7||={});var wGe;(function(e){function t(e,t,n){return{range:e,newText:t,annotationId:n}}e.replace=t;function n(e,t,n){return{range:{start:e,end:e},newText:t,annotationId:n}}e.insert=n;function r(e,t){return{range:e,newText:``,annotationId:t}}e.del=r;function i(e){let t=e;return S7.is(t)&&(C7.is(t.annotationId)||w7.is(t.annotationId))}e.is=i})(wGe||={});var T7;(function(e){function t(e,t){return{textDocument:e,edits:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&A7.is(t.textDocument)&&Array.isArray(t.edits)}e.is=n})(T7||={});var E7;(function(e){function t(e,t,n){let r={kind:`create`,uri:e};return t!==void 0&&(t.overwrite!==void 0||t.ignoreIfExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`create`&&$.string(t.uri)&&(t.options===void 0||(t.options.overwrite===void 0||$.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||$.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||w7.is(t.annotationId))}e.is=n})(E7||={});var D7;(function(e){function t(e,t,n,r){let i={kind:`rename`,oldUri:e,newUri:t};return n!==void 0&&(n.overwrite!==void 0||n.ignoreIfExists!==void 0)&&(i.options=n),r!==void 0&&(i.annotationId=r),i}e.create=t;function n(e){let t=e;return t&&t.kind===`rename`&&$.string(t.oldUri)&&$.string(t.newUri)&&(t.options===void 0||(t.options.overwrite===void 0||$.boolean(t.options.overwrite))&&(t.options.ignoreIfExists===void 0||$.boolean(t.options.ignoreIfExists)))&&(t.annotationId===void 0||w7.is(t.annotationId))}e.is=n})(D7||={});var O7;(function(e){function t(e,t,n){let r={kind:`delete`,uri:e};return t!==void 0&&(t.recursive!==void 0||t.ignoreIfNotExists!==void 0)&&(r.options=t),n!==void 0&&(r.annotationId=n),r}e.create=t;function n(e){let t=e;return t&&t.kind===`delete`&&$.string(t.uri)&&(t.options===void 0||(t.options.recursive===void 0||$.boolean(t.options.recursive))&&(t.options.ignoreIfNotExists===void 0||$.boolean(t.options.ignoreIfNotExists)))&&(t.annotationId===void 0||w7.is(t.annotationId))}e.is=n})(O7||={});var k7;(function(e){function t(e){let t=e;return t&&(t.changes!==void 0||t.documentChanges!==void 0)&&(t.documentChanges===void 0||t.documentChanges.every(e=>$.string(e.kind)?E7.is(e)||D7.is(e)||O7.is(e):T7.is(e)))}e.is=t})(k7||={});var TGe;(function(e){function t(e){return{uri:e}}e.create=t;function n(e){let t=e;return $.defined(t)&&$.string(t.uri)}e.is=n})(TGe||={});var EGe;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&$.string(t.uri)&&$.integer(t.version)}e.is=n})(EGe||={});var A7;(function(e){function t(e,t){return{uri:e,version:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&$.string(t.uri)&&(t.version===null||$.integer(t.version))}e.is=n})(A7||={});var DGe;(function(e){function t(e,t,n,r){return{uri:e,languageId:t,version:n,text:r}}e.create=t;function n(e){let t=e;return $.defined(t)&&$.string(t.uri)&&$.string(t.languageId)&&$.integer(t.version)&&$.string(t.text)}e.is=n})(DGe||={});var j7;(function(e){e.PlainText=`plaintext`,e.Markdown=`markdown`;function t(t){let n=t;return n===e.PlainText||n===e.Markdown}e.is=t})(j7||={});var M7;(function(e){function t(e){let t=e;return $.objectLiteral(e)&&j7.is(t.kind)&&$.string(t.value)}e.is=t})(M7||={});var N7;(function(e){e.Text=1,e.Method=2,e.Function=3,e.Constructor=4,e.Field=5,e.Variable=6,e.Class=7,e.Interface=8,e.Module=9,e.Property=10,e.Unit=11,e.Value=12,e.Enum=13,e.Keyword=14,e.Snippet=15,e.Color=16,e.File=17,e.Reference=18,e.Folder=19,e.EnumMember=20,e.Constant=21,e.Struct=22,e.Event=23,e.Operator=24,e.TypeParameter=25})(N7||={});var P7;(function(e){e.PlainText=1,e.Snippet=2})(P7||={});var OGe;(function(e){e.Deprecated=1})(OGe||={});var kGe;(function(e){function t(e,t,n){return{newText:e,insert:t,replace:n}}e.create=t;function n(e){let t=e;return t&&$.string(t.newText)&&m7.is(t.insert)&&m7.is(t.replace)}e.is=n})(kGe||={});var AGe;(function(e){e.asIs=1,e.adjustIndentation=2})(AGe||={});var jGe;(function(e){function t(e){let t=e;return t&&($.string(t.detail)||t.detail===void 0)&&($.string(t.description)||t.description===void 0)}e.is=t})(jGe||={});var MGe;(function(e){function t(e){return{label:e}}e.create=t})(MGe||={});var NGe;(function(e){function t(e,t){return{items:e||[],isIncomplete:!!t}}e.create=t})(NGe||={});var F7;(function(e){function t(e){return e.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}e.fromPlainText=t;function n(e){let t=e;return $.string(t)||$.objectLiteral(t)&&$.string(t.language)&&$.string(t.value)}e.is=n})(F7||={});var PGe;(function(e){function t(e){let t=e;return!!t&&$.objectLiteral(t)&&(M7.is(t.contents)||F7.is(t.contents)||$.typedArray(t.contents,F7.is))&&(e.range===void 0||m7.is(e.range))}e.is=t})(PGe||={});var FGe;(function(e){function t(e,t){return t?{label:e,documentation:t}:{label:e}}e.create=t})(FGe||={});var IGe;(function(e){function t(e,t,...n){let r={label:e};return $.defined(t)&&(r.documentation=t),r.parameters=$.defined(n)?n:[],r}e.create=t})(IGe||={});var I7;(function(e){e.Text=1,e.Read=2,e.Write=3})(I7||={});var LGe;(function(e){function t(e,t){let n={range:e};return $.number(t)&&(n.kind=t),n}e.create=t})(LGe||={});var L7;(function(e){e.File=1,e.Module=2,e.Namespace=3,e.Package=4,e.Class=5,e.Method=6,e.Property=7,e.Field=8,e.Constructor=9,e.Enum=10,e.Interface=11,e.Function=12,e.Variable=13,e.Constant=14,e.String=15,e.Number=16,e.Boolean=17,e.Array=18,e.Object=19,e.Key=20,e.Null=21,e.EnumMember=22,e.Struct=23,e.Event=24,e.Operator=25,e.TypeParameter=26})(L7||={});var RGe;(function(e){e.Deprecated=1})(RGe||={});var zGe;(function(e){function t(e,t,n,r,i){let a={name:e,kind:t,location:{uri:r,range:n}};return i&&(a.containerName=i),a}e.create=t})(zGe||={});var BGe;(function(e){function t(e,t,n,r){return r===void 0?{name:e,kind:t,location:{uri:n}}:{name:e,kind:t,location:{uri:n,range:r}}}e.create=t})(BGe||={});var VGe;(function(e){function t(e,t,n,r,i,a){let o={name:e,detail:t,kind:n,range:r,selectionRange:i};return a!==void 0&&(o.children=a),o}e.create=t;function n(e){let t=e;return t&&$.string(t.name)&&$.number(t.kind)&&m7.is(t.range)&&m7.is(t.selectionRange)&&(t.detail===void 0||$.string(t.detail))&&(t.deprecated===void 0||$.boolean(t.deprecated))&&(t.children===void 0||Array.isArray(t.children))&&(t.tags===void 0||Array.isArray(t.tags))}e.is=n})(VGe||={});var HGe;(function(e){e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`})(HGe||={});var R7;(function(e){e.Invoked=1,e.Automatic=2})(R7||={});var UGe;(function(e){function t(e,t,n){let r={diagnostics:e};return t!=null&&(r.only=t),n!=null&&(r.triggerKind=n),r}e.create=t;function n(e){let t=e;return $.defined(t)&&$.typedArray(t.diagnostics,b7.is)&&(t.only===void 0||$.typedArray(t.only,$.string))&&(t.triggerKind===void 0||t.triggerKind===R7.Invoked||t.triggerKind===R7.Automatic)}e.is=n})(UGe||={});var WGe;(function(e){function t(e,t,n){let r={title:e},i=!0;return typeof t==`string`?(i=!1,r.kind=t):x7.is(t)?r.command=t:r.edit=t,i&&n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return t&&$.string(t.title)&&(t.diagnostics===void 0||$.typedArray(t.diagnostics,b7.is))&&(t.kind===void 0||$.string(t.kind))&&(t.edit!==void 0||t.command!==void 0)&&(t.command===void 0||x7.is(t.command))&&(t.isPreferred===void 0||$.boolean(t.isPreferred))&&(t.edit===void 0||k7.is(t.edit))}e.is=n})(WGe||={});var GGe;(function(e){function t(e,t){let n={range:e};return $.defined(t)&&(n.data=t),n}e.create=t;function n(e){let t=e;return $.defined(t)&&m7.is(t.range)&&($.undefined(t.command)||x7.is(t.command))}e.is=n})(GGe||={});var KGe;(function(e){function t(e,t){return{tabSize:e,insertSpaces:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&$.uinteger(t.tabSize)&&$.boolean(t.insertSpaces)}e.is=n})(KGe||={});var qGe;(function(e){function t(e,t,n){return{range:e,target:t,data:n}}e.create=t;function n(e){let t=e;return $.defined(t)&&m7.is(t.range)&&($.undefined(t.target)||$.string(t.target))}e.is=n})(qGe||={});var JGe;(function(e){function t(e,t){return{range:e,parent:t}}e.create=t;function n(t){let n=t;return $.objectLiteral(n)&&m7.is(n.range)&&(n.parent===void 0||e.is(n.parent))}e.is=n})(JGe||={});var YGe;(function(e){e.namespace=`namespace`,e.type=`type`,e.class=`class`,e.enum=`enum`,e.interface=`interface`,e.struct=`struct`,e.typeParameter=`typeParameter`,e.parameter=`parameter`,e.variable=`variable`,e.property=`property`,e.enumMember=`enumMember`,e.event=`event`,e.function=`function`,e.method=`method`,e.macro=`macro`,e.keyword=`keyword`,e.modifier=`modifier`,e.comment=`comment`,e.string=`string`,e.number=`number`,e.regexp=`regexp`,e.operator=`operator`,e.decorator=`decorator`})(YGe||={});var XGe;(function(e){e.declaration=`declaration`,e.definition=`definition`,e.readonly=`readonly`,e.static=`static`,e.deprecated=`deprecated`,e.abstract=`abstract`,e.async=`async`,e.modification=`modification`,e.documentation=`documentation`,e.defaultLibrary=`defaultLibrary`})(XGe||={});var ZGe;(function(e){function t(e){let t=e;return $.objectLiteral(t)&&(t.resultId===void 0||typeof t.resultId==`string`)&&Array.isArray(t.data)&&(t.data.length===0||typeof t.data[0]==`number`)}e.is=t})(ZGe||={});var QGe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t;function n(e){let t=e;return t!=null&&m7.is(t.range)&&$.string(t.text)}e.is=n})(QGe||={});var $Ge;(function(e){function t(e,t,n){return{range:e,variableName:t,caseSensitiveLookup:n}}e.create=t;function n(e){let t=e;return t!=null&&m7.is(t.range)&&$.boolean(t.caseSensitiveLookup)&&($.string(t.variableName)||t.variableName===void 0)}e.is=n})($Ge||={});var eKe;(function(e){function t(e,t){return{range:e,expression:t}}e.create=t;function n(e){let t=e;return t!=null&&m7.is(t.range)&&($.string(t.expression)||t.expression===void 0)}e.is=n})(eKe||={});var tKe;(function(e){function t(e,t){return{frameId:e,stoppedLocation:t}}e.create=t;function n(e){let t=e;return $.defined(t)&&m7.is(e.stoppedLocation)}e.is=n})(tKe||={});var z7;(function(e){e.Type=1,e.Parameter=2;function t(e){return e===1||e===2}e.is=t})(z7||={});var B7;(function(e){function t(e){return{value:e}}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&(t.tooltip===void 0||$.string(t.tooltip)||M7.is(t.tooltip))&&(t.location===void 0||h7.is(t.location))&&(t.command===void 0||x7.is(t.command))}e.is=n})(B7||={});var nKe;(function(e){function t(e,t,n){let r={position:e,label:t};return n!==void 0&&(r.kind=n),r}e.create=t;function n(e){let t=e;return $.objectLiteral(t)&&p7.is(t.position)&&($.string(t.label)||$.typedArray(t.label,B7.is))&&(t.kind===void 0||z7.is(t.kind))&&t.textEdits===void 0||$.typedArray(t.textEdits,S7.is)&&(t.tooltip===void 0||$.string(t.tooltip)||M7.is(t.tooltip))&&(t.paddingLeft===void 0||$.boolean(t.paddingLeft))&&(t.paddingRight===void 0||$.boolean(t.paddingRight))}e.is=n})(nKe||={});var rKe;(function(e){function t(e){return{kind:`snippet`,value:e}}e.createSnippet=t})(rKe||={});var iKe;(function(e){function t(e,t,n,r){return{insertText:e,filterText:t,range:n,command:r}}e.create=t})(iKe||={});var aKe;(function(e){function t(e){return{items:e}}e.create=t})(aKe||={});var oKe;(function(e){e.Invoked=0,e.Automatic=1})(oKe||={});var sKe;(function(e){function t(e,t){return{range:e,text:t}}e.create=t})(sKe||={});var cKe;(function(e){function t(e,t){return{triggerKind:e,selectedCompletionInfo:t}}e.create=t})(cKe||={});var lKe;(function(e){function t(e){let t=e;return $.objectLiteral(t)&&d7.is(t.uri)&&$.string(t.name)}e.is=t})(lKe||={});var uKe;(function(e){function t(e,t,n,r){return new dKe(e,t,n,r)}e.create=t;function n(e){let t=e;return!!($.defined(t)&&$.string(t.uri)&&($.undefined(t.languageId)||$.string(t.languageId))&&$.uinteger(t.lineCount)&&$.func(t.getText)&&$.func(t.positionAt)&&$.func(t.offsetAt))}e.is=n;function r(e,t){let n=e.getText(),r=i(t,(e,t)=>{let n=e.range.start.line-t.range.start.line;return n===0?e.range.start.character-t.range.start.character:n}),a=n.length;for(let t=r.length-1;t>=0;t--){let i=r[t],o=e.offsetAt(i.range.start),s=e.offsetAt(i.range.end);if(s<=a)n=n.substring(0,o)+i.newText+n.substring(s,n.length);else throw Error(`Overlapping edit`);a=o}return n}e.applyEdits=r;function i(e,t){if(e.length<=1)return e;let n=e.length/2|0,r=e.slice(0,n),a=e.slice(n);i(r,t),i(a,t);let o=0,s=0,c=0;for(;o<r.length&&s<a.length;)t(r[o],a[s])<=0?e[c++]=r[o++]:e[c++]=a[s++];for(;o<r.length;)e[c++]=r[o++];for(;s<a.length;)e[c++]=a[s++];return e}})(uKe||={});var dKe=class{constructor(e,t,n,r){this._uri=e,this._languageId=t,this._version=n,this._content=r,this._lineOffsets=void 0}get uri(){return this._uri}get languageId(){return this._languageId}get version(){return this._version}getText(e){if(e){let t=this.offsetAt(e.start),n=this.offsetAt(e.end);return this._content.substring(t,n)}return this._content}update(e,t){this._content=e.text,this._version=t,this._lineOffsets=void 0}getLineOffsets(){if(this._lineOffsets===void 0){let e=[],t=this._content,n=!0;for(let r=0;r<t.length;r++){n&&=(e.push(r),!1);let i=t.charAt(r);n=i===`\r`||i===`
1183
1183
  `,i===`\r`&&r+1<t.length&&t.charAt(r+1)===`
1184
1184
  `&&r++}n&&t.length>0&&e.push(t.length),this._lineOffsets=e}return this._lineOffsets}positionAt(e){e=Math.max(Math.min(e,this._content.length),0);let t=this.getLineOffsets(),n=0,r=t.length;if(r===0)return p7.create(0,e);for(;n<r;){let i=Math.floor((n+r)/2);t[i]>e?r=i:n=i+1}let i=n-1;return p7.create(i,e-t[i])}offsetAt(e){let t=this.getLineOffsets();if(e.line>=t.length)return this._content.length;if(e.line<0)return 0;let n=t[e.line],r=e.line+1<t.length?t[e.line+1]:this._content.length;return Math.max(Math.min(n+e.character,r),n)}get lineCount(){return this.getLineOffsets().length}},$;(function(e){let t=Object.prototype.toString;function n(e){return e!==void 0}e.defined=n;function r(e){return e===void 0}e.undefined=r;function i(e){return e===!0||e===!1}e.boolean=i;function a(e){return t.call(e)===`[object String]`}e.string=a;function o(e){return t.call(e)===`[object Number]`}e.number=o;function s(e,n,r){return t.call(e)===`[object Number]`&&n<=e&&e<=r}e.numberRange=s;function c(e){return t.call(e)===`[object Number]`&&-2147483648<=e&&e<=2147483647}e.integer=c;function l(e){return t.call(e)===`[object Number]`&&0<=e&&e<=2147483647}e.uinteger=l;function u(e){return t.call(e)===`[object Function]`}e.func=u;function d(e){return typeof e==`object`&&!!e}e.objectLiteral=d;function f(e,t){return Array.isArray(e)&&e.every(t)}e.typedArray=f})($||={});var V7=class{constructor(e,t,n){this._languageId=e,this._worker=t,this._disposables=[],this._listener=Object.create(null);let r=e=>{let t=e.getLanguageId();if(t!==this._languageId)return;let n;this._listener[e.uri.toString()]=e.onDidChangeContent(()=>{window.clearTimeout(n),n=window.setTimeout(()=>this._doValidate(e.uri,t),500)}),this._doValidate(e.uri,t)},i=e=>{W6.setModelMarkers(e,this._languageId,[]);let t=e.uri.toString(),n=this._listener[t];n&&(n.dispose(),delete this._listener[t])};this._disposables.push(W6.onDidCreateModel(r)),this._disposables.push(W6.onWillDisposeModel(i)),this._disposables.push(W6.onDidChangeModelLanguage(e=>{i(e.model),r(e.model)})),this._disposables.push(n(e=>{W6.getModels().forEach(e=>{e.getLanguageId()===this._languageId&&(i(e),r(e))})})),this._disposables.push({dispose:()=>{W6.getModels().forEach(i);for(let e in this._listener)this._listener[e].dispose()}}),W6.getModels().forEach(r)}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables.length=0}_doValidate(e,t){this._worker(e).then(t=>t.doValidation(e.toString())).then(n=>{let r=n.map(t=>pKe(e,t)),i=W6.getModel(e);i&&i.getLanguageId()===t&&W6.setModelMarkers(i,t,r)}).then(void 0,e=>{console.error(e)})}};function fKe(e){switch(e){case y7.Error:return B6.Error;case y7.Warning:return B6.Warning;case y7.Information:return B6.Info;case y7.Hint:return B6.Hint;default:return B6.Info}}function pKe(e,t){let n=typeof t.code==`number`?String(t.code):t.code;return{severity:fKe(t.severity),startLineNumber:t.range.start.line+1,startColumn:t.range.start.character+1,endLineNumber:t.range.end.line+1,endColumn:t.range.end.character+1,message:t.message,code:n,source:t.source}}var H7=class{constructor(e,t){this._worker=e,this._triggerCharacters=t}get triggerCharacters(){return this._triggerCharacters}provideCompletionItems(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doComplete(i.toString(),U7(t))).then(n=>{if(!n)return;let r=e.getWordUntilPosition(t),i=new L6(t.lineNumber,r.startColumn,t.lineNumber,r.endColumn),a=n.items.map(e=>{let t={label:e.label,insertText:e.insertText||e.label,sortText:e.sortText,filterText:e.filterText,documentation:e.documentation,detail:e.detail,command:gKe(e.command),range:i,kind:hKe(e.kind)};return e.textEdit&&(t.range=mKe(e.textEdit)?{insert:G7(e.textEdit.insert),replace:G7(e.textEdit.replace)}:G7(e.textEdit.range),t.insertText=e.textEdit.newText),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(K7)),e.insertTextFormat===P7.Snippet&&(t.insertTextRules=Q.CompletionItemInsertTextRule.InsertAsSnippet),t});return{isIncomplete:n.isIncomplete,suggestions:a}})}};function U7(e){if(e)return{character:e.column-1,line:e.lineNumber-1}}function W7(e){if(e)return{start:{line:e.startLineNumber-1,character:e.startColumn-1},end:{line:e.endLineNumber-1,character:e.endColumn-1}}}function G7(e){if(e)return new L6(e.start.line+1,e.start.character+1,e.end.line+1,e.end.character+1)}function mKe(e){return e.insert!==void 0&&e.replace!==void 0}function hKe(e){let t=Q.CompletionItemKind;switch(e){case N7.Text:return t.Text;case N7.Method:return t.Method;case N7.Function:return t.Function;case N7.Constructor:return t.Constructor;case N7.Field:return t.Field;case N7.Variable:return t.Variable;case N7.Class:return t.Class;case N7.Interface:return t.Interface;case N7.Module:return t.Module;case N7.Property:return t.Property;case N7.Unit:return t.Unit;case N7.Value:return t.Value;case N7.Enum:return t.Enum;case N7.Keyword:return t.Keyword;case N7.Snippet:return t.Snippet;case N7.Color:return t.Color;case N7.File:return t.File;case N7.Reference:return t.Reference}return t.Property}function K7(e){if(e)return{range:G7(e.range),text:e.newText}}function gKe(e){return e&&e.command===`editor.action.triggerSuggest`?{id:e.command,title:e.title,arguments:e.arguments}:void 0}var q7=class{constructor(e){this._worker=e}provideHover(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.doHover(r.toString(),U7(t))).then(e=>{if(e)return{range:G7(e.range),contents:vKe(e.contents)}})}};function _Ke(e){return e&&typeof e==`object`&&typeof e.kind==`string`}function J7(e){return typeof e==`string`?{value:e}:_Ke(e)?e.kind===`plaintext`?{value:e.value.replace(/[\\`*_{}[\]()#+\-.!]/g,`\\$&`)}:{value:e.value}:{value:"```"+e.language+`
1185
- `+e.value+"\n```\n"}}function vKe(e){if(e)return Array.isArray(e)?e.map(J7):[J7(e)]}var Y7=class{constructor(e){this._worker=e}provideDocumentHighlights(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDocumentHighlights(r.toString(),U7(t))).then(e=>{if(e)return e.map(e=>({range:G7(e.range),kind:yKe(e.kind)}))})}};function yKe(e){switch(e){case I7.Read:return Q.DocumentHighlightKind.Read;case I7.Write:return Q.DocumentHighlightKind.Write;case I7.Text:return Q.DocumentHighlightKind.Text}return Q.DocumentHighlightKind.Text}var X7=class{constructor(e){this._worker=e}provideDefinition(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDefinition(r.toString(),U7(t))).then(e=>{if(e)return[Z7(e)]})}};function Z7(e){return{uri:H6.parse(e.uri),range:G7(e.range)}}var Q7=class{constructor(e){this._worker=e}provideReferences(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.findReferences(i.toString(),U7(t))).then(e=>{if(e)return e.map(Z7)})}},$7=class{constructor(e){this._worker=e}provideRenameEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doRename(i.toString(),U7(t),n)).then(e=>bKe(e))}};function bKe(e){if(!e||!e.changes)return;let t=[];for(let n in e.changes){let r=H6.parse(n);for(let i of e.changes[n])t.push({resource:r,versionId:void 0,textEdit:{range:G7(i.range),text:i.newText}})}return{edits:t}}var e9=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>xKe(e)?t9(e):{name:e.name,detail:``,containerName:e.containerName,kind:n9(e.kind),range:G7(e.location.range),selectionRange:G7(e.location.range),tags:[]})})}};function xKe(e){return`children`in e}function t9(e){return{name:e.name,detail:e.detail??``,kind:n9(e.kind),range:G7(e.range),selectionRange:G7(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(e=>t9(e))}}function n9(e){let t=Q.SymbolKind;switch(e){case L7.File:return t.File;case L7.Module:return t.Module;case L7.Namespace:return t.Namespace;case L7.Package:return t.Package;case L7.Class:return t.Class;case L7.Method:return t.Method;case L7.Property:return t.Property;case L7.Field:return t.Field;case L7.Constructor:return t.Constructor;case L7.Enum:return t.Enum;case L7.Interface:return t.Interface;case L7.Function:return t.Function;case L7.Variable:return t.Variable;case L7.Constant:return t.Constant;case L7.String:return t.String;case L7.Number:return t.Number;case L7.Boolean:return t.Boolean;case L7.Array:return t.Array}return t.Function}var r9=class{constructor(e){this._worker=e}provideLinks(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentLinks(n.toString())).then(e=>{if(e)return{links:e.map(e=>({range:G7(e.range),url:e.target}))}})}},i9=class{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.format(r.toString(),null,o9(t)).then(e=>{if(e&&e.length!==0)return e.map(K7)}))}},a9=class{constructor(e){this._worker=e,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.format(i.toString(),W7(t),o9(n)).then(e=>{if(e&&e.length!==0)return e.map(K7)}))}};function o9(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var s9=class{constructor(e){this._worker=e}provideDocumentColors(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentColors(n.toString())).then(e=>{if(e)return e.map(e=>({color:e.color,range:G7(e.range)}))})}provideColorPresentations(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getColorPresentations(r.toString(),t.color,W7(t.range))).then(e=>{if(e)return e.map(e=>{let t={label:e.label};return e.textEdit&&(t.textEdit=K7(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(K7)),t})})}},c9=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{let t={start:e.startLine+1,end:e.endLine+1};return e.kind!==void 0&&(t.kind=SKe(e.kind)),t})})}};function SKe(e){switch(e){case _7.Comment:return Q.FoldingRangeKind.Comment;case _7.Imports:return Q.FoldingRangeKind.Imports;case _7.Region:return Q.FoldingRangeKind.Region}}var l9=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(U7))).then(e=>{if(e)return e.map(e=>{let t=[];for(;e;)t.push({range:G7(e.range)}),e=e.parent;return t})})}},CKe=e({CompletionAdapter:()=>H7,DefinitionAdapter:()=>X7,DiagnosticsAdapter:()=>V7,DocumentColorAdapter:()=>s9,DocumentFormattingEditProvider:()=>i9,DocumentHighlightAdapter:()=>Y7,DocumentLinkAdapter:()=>r9,DocumentRangeFormattingEditProvider:()=>a9,DocumentSymbolAdapter:()=>e9,FoldingRangeAdapter:()=>c9,HoverAdapter:()=>q7,ReferenceAdapter:()=>Q7,RenameAdapter:()=>$7,SelectionRangeAdapter:()=>l9,WorkerManager:()=>u7,fromPosition:()=>U7,fromRange:()=>W7,setupMode:()=>wKe,toRange:()=>G7,toTextEdit:()=>K7});function wKe(e){let t=[],n=[],r=new u7(e);t.push(r);let i=(...e)=>r.getLanguageServiceWorker(...e);function a(){let{languageId:t,modeConfiguration:r}=e;d9(n),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new H7(i,[`/`,`-`,`:`]))),r.hovers&&n.push(Q.registerHoverProvider(t,new q7(i))),r.documentHighlights&&n.push(Q.registerDocumentHighlightProvider(t,new Y7(i))),r.definitions&&n.push(Q.registerDefinitionProvider(t,new X7(i))),r.references&&n.push(Q.registerReferenceProvider(t,new Q7(i))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new e9(i))),r.rename&&n.push(Q.registerRenameProvider(t,new $7(i))),r.colors&&n.push(Q.registerColorProvider(t,new s9(i))),r.foldingRanges&&n.push(Q.registerFoldingRangeProvider(t,new c9(i))),r.diagnostics&&n.push(new V7(t,i,e.onDidChange)),r.selectionRanges&&n.push(Q.registerSelectionRangeProvider(t,new l9(i))),r.documentFormattingEdits&&n.push(Q.registerDocumentFormattingEditProvider(t,new i9(i))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new a9(i)))}return a(),t.push(u9(n)),u9(t)}function u9(e){return{dispose:()=>d9(e)}}function d9(e){for(;e.length;)e.pop().dispose()}var TKe=12e4,f9=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>TKe&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=s7({moduleId:`vs/language/html/htmlWorker`,createWorker:()=>new Worker(new URL(`/assets/html.worker-DG8hnSJR.js`,``+import.meta.url),{type:`module`}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},EKe=e({CompletionAdapter:()=>H7,DefinitionAdapter:()=>X7,DiagnosticsAdapter:()=>V7,DocumentColorAdapter:()=>s9,DocumentFormattingEditProvider:()=>i9,DocumentHighlightAdapter:()=>Y7,DocumentLinkAdapter:()=>r9,DocumentRangeFormattingEditProvider:()=>a9,DocumentSymbolAdapter:()=>e9,FoldingRangeAdapter:()=>c9,HoverAdapter:()=>q7,ReferenceAdapter:()=>Q7,RenameAdapter:()=>$7,SelectionRangeAdapter:()=>l9,WorkerManager:()=>f9,fromPosition:()=>U7,fromRange:()=>W7,setupMode:()=>OKe,setupMode1:()=>DKe,toRange:()=>G7,toTextEdit:()=>K7}),p9=class extends H7{constructor(e){super(e,[`.`,`:`,`<`,`"`,`=`,`/`])}};function DKe(e){let t=new f9(e),n=(...e)=>t.getLanguageServiceWorker(...e),r=e.languageId;Q.registerCompletionItemProvider(r,new p9(n)),Q.registerHoverProvider(r,new q7(n)),Q.registerDocumentHighlightProvider(r,new Y7(n)),Q.registerLinkProvider(r,new r9(n)),Q.registerFoldingRangeProvider(r,new c9(n)),Q.registerDocumentSymbolProvider(r,new e9(n)),Q.registerSelectionRangeProvider(r,new l9(n)),Q.registerRenameProvider(r,new $7(n)),r===`html`&&(Q.registerDocumentFormattingEditProvider(r,new i9(n)),Q.registerDocumentRangeFormattingEditProvider(r,new a9(n)))}function OKe(e){let t=[],n=[],r=new f9(e);t.push(r);let i=(...e)=>r.getLanguageServiceWorker(...e);function a(){let{languageId:t,modeConfiguration:r}=e;h9(n),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new p9(i))),r.hovers&&n.push(Q.registerHoverProvider(t,new q7(i))),r.documentHighlights&&n.push(Q.registerDocumentHighlightProvider(t,new Y7(i))),r.links&&n.push(Q.registerLinkProvider(t,new r9(i))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new e9(i))),r.rename&&n.push(Q.registerRenameProvider(t,new $7(i))),r.foldingRanges&&n.push(Q.registerFoldingRangeProvider(t,new c9(i))),r.selectionRanges&&n.push(Q.registerSelectionRangeProvider(t,new l9(i))),r.documentFormattingEdits&&n.push(Q.registerDocumentFormattingEditProvider(t,new i9(i))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new a9(i)))}return a(),t.push(m9(n)),m9(t)}function m9(e){return{dispose:()=>h9(e)}}function h9(e){for(;e.length;)e.pop().dispose()}var kKe=12e4,g9=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>kKe&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=s7({moduleId:`vs/language/json/jsonWorker`,createWorker:()=>new Worker(new URL(`/assets/json.worker-CxwlJRnL.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};function AKe(e,t=!1){let n=e.length,r=0,i=``,a=0,o=16,s=0,c=0,l=0,u=0,d=0;function f(t,n){let i=0,a=0;for(;i<t;){let t=e.charCodeAt(r);if(t>=48&&t<=57)a=a*16+t-48;else if(t>=65&&t<=70)a=a*16+t-65+10;else if(t>=97&&t<=102)a=a*16+t-97+10;else break;r++,i++}return i<t&&(a=-1),a}function p(e){r=e,i=``,a=0,o=16,d=0}function m(){let t=r;if(e.charCodeAt(r)===48)r++;else for(r++;r<e.length&&y9(e.charCodeAt(r));)r++;if(r<e.length&&e.charCodeAt(r)===46){if(r++,r<e.length&&y9(e.charCodeAt(r)))for(r++;r<e.length&&y9(e.charCodeAt(r));)r++;else return d=3,e.substring(t,r)}let n=r;if(r<e.length&&(e.charCodeAt(r)===69||e.charCodeAt(r)===101)){if(r++,(r<e.length&&e.charCodeAt(r)===43||e.charCodeAt(r)===45)&&r++,r<e.length&&y9(e.charCodeAt(r))){for(r++;r<e.length&&y9(e.charCodeAt(r));)r++;n=r}else d=3}return e.substring(t,n)}function h(){let t=``,i=r;for(;;){if(r>=n){t+=e.substring(i,r),d=2;break}let a=e.charCodeAt(r);if(a===34){t+=e.substring(i,r),r++;break}if(a===92){if(t+=e.substring(i,r),r++,r>=n){d=2;break}switch(e.charCodeAt(r++)){case 34:t+=`"`;break;case 92:t+=`\\`;break;case 47:t+=`/`;break;case 98:t+=`\b`;break;case 102:t+=`\f`;break;case 110:t+=`
1185
+ `+e.value+"\n```\n"}}function vKe(e){if(e)return Array.isArray(e)?e.map(J7):[J7(e)]}var Y7=class{constructor(e){this._worker=e}provideDocumentHighlights(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDocumentHighlights(r.toString(),U7(t))).then(e=>{if(e)return e.map(e=>({range:G7(e.range),kind:yKe(e.kind)}))})}};function yKe(e){switch(e){case I7.Read:return Q.DocumentHighlightKind.Read;case I7.Write:return Q.DocumentHighlightKind.Write;case I7.Text:return Q.DocumentHighlightKind.Text}return Q.DocumentHighlightKind.Text}var X7=class{constructor(e){this._worker=e}provideDefinition(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.findDefinition(r.toString(),U7(t))).then(e=>{if(e)return[Z7(e)]})}};function Z7(e){return{uri:H6.parse(e.uri),range:G7(e.range)}}var Q7=class{constructor(e){this._worker=e}provideReferences(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.findReferences(i.toString(),U7(t))).then(e=>{if(e)return e.map(Z7)})}},$7=class{constructor(e){this._worker=e}provideRenameEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.doRename(i.toString(),U7(t),n)).then(e=>bKe(e))}};function bKe(e){if(!e||!e.changes)return;let t=[];for(let n in e.changes){let r=H6.parse(n);for(let i of e.changes[n])t.push({resource:r,versionId:void 0,textEdit:{range:G7(i.range),text:i.newText}})}return{edits:t}}var e9=class{constructor(e){this._worker=e}provideDocumentSymbols(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentSymbols(n.toString())).then(e=>{if(e)return e.map(e=>xKe(e)?t9(e):{name:e.name,detail:``,containerName:e.containerName,kind:n9(e.kind),range:G7(e.location.range),selectionRange:G7(e.location.range),tags:[]})})}};function xKe(e){return`children`in e}function t9(e){return{name:e.name,detail:e.detail??``,kind:n9(e.kind),range:G7(e.range),selectionRange:G7(e.selectionRange),tags:e.tags??[],children:(e.children??[]).map(e=>t9(e))}}function n9(e){let t=Q.SymbolKind;switch(e){case L7.File:return t.File;case L7.Module:return t.Module;case L7.Namespace:return t.Namespace;case L7.Package:return t.Package;case L7.Class:return t.Class;case L7.Method:return t.Method;case L7.Property:return t.Property;case L7.Field:return t.Field;case L7.Constructor:return t.Constructor;case L7.Enum:return t.Enum;case L7.Interface:return t.Interface;case L7.Function:return t.Function;case L7.Variable:return t.Variable;case L7.Constant:return t.Constant;case L7.String:return t.String;case L7.Number:return t.Number;case L7.Boolean:return t.Boolean;case L7.Array:return t.Array}return t.Function}var r9=class{constructor(e){this._worker=e}provideLinks(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentLinks(n.toString())).then(e=>{if(e)return{links:e.map(e=>({range:G7(e.range),url:e.target}))}})}},i9=class{constructor(e){this._worker=e}provideDocumentFormattingEdits(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.format(r.toString(),null,o9(t)).then(e=>{if(e&&e.length!==0)return e.map(K7)}))}},a9=class{constructor(e){this._worker=e,this.canFormatMultipleRanges=!1}provideDocumentRangeFormattingEdits(e,t,n,r){let i=e.uri;return this._worker(i).then(e=>e.format(i.toString(),W7(t),o9(n)).then(e=>{if(e&&e.length!==0)return e.map(K7)}))}};function o9(e){return{tabSize:e.tabSize,insertSpaces:e.insertSpaces}}var s9=class{constructor(e){this._worker=e}provideDocumentColors(e,t){let n=e.uri;return this._worker(n).then(e=>e.findDocumentColors(n.toString())).then(e=>{if(e)return e.map(e=>({color:e.color,range:G7(e.range)}))})}provideColorPresentations(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getColorPresentations(r.toString(),t.color,W7(t.range))).then(e=>{if(e)return e.map(e=>{let t={label:e.label};return e.textEdit&&(t.textEdit=K7(e.textEdit)),e.additionalTextEdits&&(t.additionalTextEdits=e.additionalTextEdits.map(K7)),t})})}},c9=class{constructor(e){this._worker=e}provideFoldingRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getFoldingRanges(r.toString(),t)).then(e=>{if(e)return e.map(e=>{let t={start:e.startLine+1,end:e.endLine+1};return e.kind!==void 0&&(t.kind=SKe(e.kind)),t})})}};function SKe(e){switch(e){case _7.Comment:return Q.FoldingRangeKind.Comment;case _7.Imports:return Q.FoldingRangeKind.Imports;case _7.Region:return Q.FoldingRangeKind.Region}}var l9=class{constructor(e){this._worker=e}provideSelectionRanges(e,t,n){let r=e.uri;return this._worker(r).then(e=>e.getSelectionRanges(r.toString(),t.map(U7))).then(e=>{if(e)return e.map(e=>{let t=[];for(;e;)t.push({range:G7(e.range)}),e=e.parent;return t})})}},CKe=e({CompletionAdapter:()=>H7,DefinitionAdapter:()=>X7,DiagnosticsAdapter:()=>V7,DocumentColorAdapter:()=>s9,DocumentFormattingEditProvider:()=>i9,DocumentHighlightAdapter:()=>Y7,DocumentLinkAdapter:()=>r9,DocumentRangeFormattingEditProvider:()=>a9,DocumentSymbolAdapter:()=>e9,FoldingRangeAdapter:()=>c9,HoverAdapter:()=>q7,ReferenceAdapter:()=>Q7,RenameAdapter:()=>$7,SelectionRangeAdapter:()=>l9,WorkerManager:()=>u7,fromPosition:()=>U7,fromRange:()=>W7,setupMode:()=>wKe,toRange:()=>G7,toTextEdit:()=>K7});function wKe(e){let t=[],n=[],r=new u7(e);t.push(r);let i=(...e)=>r.getLanguageServiceWorker(...e);function a(){let{languageId:t,modeConfiguration:r}=e;d9(n),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new H7(i,[`/`,`-`,`:`]))),r.hovers&&n.push(Q.registerHoverProvider(t,new q7(i))),r.documentHighlights&&n.push(Q.registerDocumentHighlightProvider(t,new Y7(i))),r.definitions&&n.push(Q.registerDefinitionProvider(t,new X7(i))),r.references&&n.push(Q.registerReferenceProvider(t,new Q7(i))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new e9(i))),r.rename&&n.push(Q.registerRenameProvider(t,new $7(i))),r.colors&&n.push(Q.registerColorProvider(t,new s9(i))),r.foldingRanges&&n.push(Q.registerFoldingRangeProvider(t,new c9(i))),r.diagnostics&&n.push(new V7(t,i,e.onDidChange)),r.selectionRanges&&n.push(Q.registerSelectionRangeProvider(t,new l9(i))),r.documentFormattingEdits&&n.push(Q.registerDocumentFormattingEditProvider(t,new i9(i))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new a9(i)))}return a(),t.push(u9(n)),u9(t)}function u9(e){return{dispose:()=>d9(e)}}function d9(e){for(;e.length;)e.pop().dispose()}var TKe=12e4,f9=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>TKe&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=s7({moduleId:`vs/language/html/htmlWorker`,createWorker:()=>new Worker(new URL(`/assets/html.worker-JUzsMP-j.js`,``+import.meta.url),{type:`module`}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},EKe=e({CompletionAdapter:()=>H7,DefinitionAdapter:()=>X7,DiagnosticsAdapter:()=>V7,DocumentColorAdapter:()=>s9,DocumentFormattingEditProvider:()=>i9,DocumentHighlightAdapter:()=>Y7,DocumentLinkAdapter:()=>r9,DocumentRangeFormattingEditProvider:()=>a9,DocumentSymbolAdapter:()=>e9,FoldingRangeAdapter:()=>c9,HoverAdapter:()=>q7,ReferenceAdapter:()=>Q7,RenameAdapter:()=>$7,SelectionRangeAdapter:()=>l9,WorkerManager:()=>f9,fromPosition:()=>U7,fromRange:()=>W7,setupMode:()=>OKe,setupMode1:()=>DKe,toRange:()=>G7,toTextEdit:()=>K7}),p9=class extends H7{constructor(e){super(e,[`.`,`:`,`<`,`"`,`=`,`/`])}};function DKe(e){let t=new f9(e),n=(...e)=>t.getLanguageServiceWorker(...e),r=e.languageId;Q.registerCompletionItemProvider(r,new p9(n)),Q.registerHoverProvider(r,new q7(n)),Q.registerDocumentHighlightProvider(r,new Y7(n)),Q.registerLinkProvider(r,new r9(n)),Q.registerFoldingRangeProvider(r,new c9(n)),Q.registerDocumentSymbolProvider(r,new e9(n)),Q.registerSelectionRangeProvider(r,new l9(n)),Q.registerRenameProvider(r,new $7(n)),r===`html`&&(Q.registerDocumentFormattingEditProvider(r,new i9(n)),Q.registerDocumentRangeFormattingEditProvider(r,new a9(n)))}function OKe(e){let t=[],n=[],r=new f9(e);t.push(r);let i=(...e)=>r.getLanguageServiceWorker(...e);function a(){let{languageId:t,modeConfiguration:r}=e;h9(n),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new p9(i))),r.hovers&&n.push(Q.registerHoverProvider(t,new q7(i))),r.documentHighlights&&n.push(Q.registerDocumentHighlightProvider(t,new Y7(i))),r.links&&n.push(Q.registerLinkProvider(t,new r9(i))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new e9(i))),r.rename&&n.push(Q.registerRenameProvider(t,new $7(i))),r.foldingRanges&&n.push(Q.registerFoldingRangeProvider(t,new c9(i))),r.selectionRanges&&n.push(Q.registerSelectionRangeProvider(t,new l9(i))),r.documentFormattingEdits&&n.push(Q.registerDocumentFormattingEditProvider(t,new i9(i))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new a9(i)))}return a(),t.push(m9(n)),m9(t)}function m9(e){return{dispose:()=>h9(e)}}function h9(e){for(;e.length;)e.pop().dispose()}var kKe=12e4,g9=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),3e4),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>kKe&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=s7({moduleId:`vs/language/json/jsonWorker`,createWorker:()=>new Worker(new URL(`/assets/json.worker-B4dEhy0e.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{languageSettings:this._defaults.diagnosticsOptions,languageId:this._defaults.languageId,enableSchemaRequest:this._defaults.diagnosticsOptions.enableSchemaRequest}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};function AKe(e,t=!1){let n=e.length,r=0,i=``,a=0,o=16,s=0,c=0,l=0,u=0,d=0;function f(t,n){let i=0,a=0;for(;i<t;){let t=e.charCodeAt(r);if(t>=48&&t<=57)a=a*16+t-48;else if(t>=65&&t<=70)a=a*16+t-65+10;else if(t>=97&&t<=102)a=a*16+t-97+10;else break;r++,i++}return i<t&&(a=-1),a}function p(e){r=e,i=``,a=0,o=16,d=0}function m(){let t=r;if(e.charCodeAt(r)===48)r++;else for(r++;r<e.length&&y9(e.charCodeAt(r));)r++;if(r<e.length&&e.charCodeAt(r)===46){if(r++,r<e.length&&y9(e.charCodeAt(r)))for(r++;r<e.length&&y9(e.charCodeAt(r));)r++;else return d=3,e.substring(t,r)}let n=r;if(r<e.length&&(e.charCodeAt(r)===69||e.charCodeAt(r)===101)){if(r++,(r<e.length&&e.charCodeAt(r)===43||e.charCodeAt(r)===45)&&r++,r<e.length&&y9(e.charCodeAt(r))){for(r++;r<e.length&&y9(e.charCodeAt(r));)r++;n=r}else d=3}return e.substring(t,n)}function h(){let t=``,i=r;for(;;){if(r>=n){t+=e.substring(i,r),d=2;break}let a=e.charCodeAt(r);if(a===34){t+=e.substring(i,r),r++;break}if(a===92){if(t+=e.substring(i,r),r++,r>=n){d=2;break}switch(e.charCodeAt(r++)){case 34:t+=`"`;break;case 92:t+=`\\`;break;case 47:t+=`/`;break;case 98:t+=`\b`;break;case 102:t+=`\f`;break;case 110:t+=`
1186
1186
  `;break;case 114:t+=`\r`;break;case 116:t+=` `;break;case 117:let e=f(4);e>=0?t+=String.fromCharCode(e):d=4;break;default:d=5}i=r;continue}if(a>=0&&a<=31){if(v9(a)){t+=e.substring(i,r),d=2;break}d=6}r++}return t}function g(){if(i=``,d=0,a=r,c=s,u=l,r>=n)return a=n,o=17;let t=e.charCodeAt(r);if(_9(t)){do r++,i+=String.fromCharCode(t),t=e.charCodeAt(r);while(_9(t));return o=15}if(v9(t))return r++,i+=String.fromCharCode(t),t===13&&e.charCodeAt(r)===10&&(r++,i+=`
1187
1187
  `),s++,l=r,o=14;switch(t){case 123:return r++,o=1;case 125:return r++,o=2;case 91:return r++,o=3;case 93:return r++,o=4;case 58:return r++,o=6;case 44:return r++,o=5;case 34:return r++,i=h(),o=10;case 47:let c=r-1;if(e.charCodeAt(r+1)===47){for(r+=2;r<n&&!v9(e.charCodeAt(r));)r++;return i=e.substring(c,r),o=12}if(e.charCodeAt(r+1)===42){r+=2;let t=n-1,a=!1;for(;r<t;){let t=e.charCodeAt(r);if(t===42&&e.charCodeAt(r+1)===47){r+=2,a=!0;break}r++,v9(t)&&(t===13&&e.charCodeAt(r)===10&&r++,s++,l=r)}return a||(r++,d=1),i=e.substring(c,r),o=13}return i+=String.fromCharCode(t),r++,o=16;case 45:if(i+=String.fromCharCode(t),r++,r===n||!y9(e.charCodeAt(r)))return o=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return i+=m(),o=11;default:for(;r<n&&_(t);)r++,t=e.charCodeAt(r);if(a!==r){switch(i=e.substring(a,r),i){case`true`:return o=8;case`false`:return o=9;case`null`:return o=7}return o=16}return i+=String.fromCharCode(t),r++,o=16}}function _(e){if(_9(e)||v9(e))return!1;switch(e){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}function v(){let e;do e=g();while(e>=12&&e<=15);return e}return{setPosition:p,getPosition:()=>r,scan:t?v:g,getToken:()=>o,getTokenValue:()=>i,getTokenOffset:()=>a,getTokenLength:()=>r-a,getTokenStartLine:()=>c,getTokenStartCharacter:()=>a-u,getTokenError:()=>d}}function _9(e){return e===32||e===9}function v9(e){return e===10||e===13}function y9(e){return e>=48&&e<=57}var jKe;(function(e){e[e.lineFeed=10]=`lineFeed`,e[e.carriageReturn=13]=`carriageReturn`,e[e.space=32]=`space`,e[e._0=48]=`_0`,e[e._1=49]=`_1`,e[e._2=50]=`_2`,e[e._3=51]=`_3`,e[e._4=52]=`_4`,e[e._5=53]=`_5`,e[e._6=54]=`_6`,e[e._7=55]=`_7`,e[e._8=56]=`_8`,e[e._9=57]=`_9`,e[e.a=97]=`a`,e[e.b=98]=`b`,e[e.c=99]=`c`,e[e.d=100]=`d`,e[e.e=101]=`e`,e[e.f=102]=`f`,e[e.g=103]=`g`,e[e.h=104]=`h`,e[e.i=105]=`i`,e[e.j=106]=`j`,e[e.k=107]=`k`,e[e.l=108]=`l`,e[e.m=109]=`m`,e[e.n=110]=`n`,e[e.o=111]=`o`,e[e.p=112]=`p`,e[e.q=113]=`q`,e[e.r=114]=`r`,e[e.s=115]=`s`,e[e.t=116]=`t`,e[e.u=117]=`u`,e[e.v=118]=`v`,e[e.w=119]=`w`,e[e.x=120]=`x`,e[e.y=121]=`y`,e[e.z=122]=`z`,e[e.A=65]=`A`,e[e.B=66]=`B`,e[e.C=67]=`C`,e[e.D=68]=`D`,e[e.E=69]=`E`,e[e.F=70]=`F`,e[e.G=71]=`G`,e[e.H=72]=`H`,e[e.I=73]=`I`,e[e.J=74]=`J`,e[e.K=75]=`K`,e[e.L=76]=`L`,e[e.M=77]=`M`,e[e.N=78]=`N`,e[e.O=79]=`O`,e[e.P=80]=`P`,e[e.Q=81]=`Q`,e[e.R=82]=`R`,e[e.S=83]=`S`,e[e.T=84]=`T`,e[e.U=85]=`U`,e[e.V=86]=`V`,e[e.W=87]=`W`,e[e.X=88]=`X`,e[e.Y=89]=`Y`,e[e.Z=90]=`Z`,e[e.asterisk=42]=`asterisk`,e[e.backslash=92]=`backslash`,e[e.closeBrace=125]=`closeBrace`,e[e.closeBracket=93]=`closeBracket`,e[e.colon=58]=`colon`,e[e.comma=44]=`comma`,e[e.dot=46]=`dot`,e[e.doubleQuote=34]=`doubleQuote`,e[e.minus=45]=`minus`,e[e.openBrace=123]=`openBrace`,e[e.openBracket=91]=`openBracket`,e[e.plus=43]=`plus`,e[e.slash=47]=`slash`,e[e.formFeed=12]=`formFeed`,e[e.tab=9]=`tab`})(jKe||={}),Array(20).fill(0).map((e,t)=>` `.repeat(t));var b9=200;Array(b9).fill(0).map((e,t)=>`
1188
1188
  `+` `.repeat(t)),Array(b9).fill(0).map((e,t)=>`\r`+` `.repeat(t)),Array(b9).fill(0).map((e,t)=>`\r
1189
1189
  `+` `.repeat(t)),Array(b9).fill(0).map((e,t)=>`
1190
1190
  `+` `.repeat(t)),Array(b9).fill(0).map((e,t)=>`\r`+` `.repeat(t)),Array(b9).fill(0).map((e,t)=>`\r
1191
- `+` `.repeat(t));var MKe;(function(e){e.DEFAULT={allowTrailingComma:!1}})(MKe||={});var NKe=AKe,PKe;(function(e){e[e.None=0]=`None`,e[e.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=4]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=6]=`InvalidCharacter`})(PKe||={});var FKe;(function(e){e[e.OpenBraceToken=1]=`OpenBraceToken`,e[e.CloseBraceToken=2]=`CloseBraceToken`,e[e.OpenBracketToken=3]=`OpenBracketToken`,e[e.CloseBracketToken=4]=`CloseBracketToken`,e[e.CommaToken=5]=`CommaToken`,e[e.ColonToken=6]=`ColonToken`,e[e.NullKeyword=7]=`NullKeyword`,e[e.TrueKeyword=8]=`TrueKeyword`,e[e.FalseKeyword=9]=`FalseKeyword`,e[e.StringLiteral=10]=`StringLiteral`,e[e.NumericLiteral=11]=`NumericLiteral`,e[e.LineCommentTrivia=12]=`LineCommentTrivia`,e[e.BlockCommentTrivia=13]=`BlockCommentTrivia`,e[e.LineBreakTrivia=14]=`LineBreakTrivia`,e[e.Trivia=15]=`Trivia`,e[e.Unknown=16]=`Unknown`,e[e.EOF=17]=`EOF`})(FKe||={});var IKe;(function(e){e[e.InvalidSymbol=1]=`InvalidSymbol`,e[e.InvalidNumberFormat=2]=`InvalidNumberFormat`,e[e.PropertyNameExpected=3]=`PropertyNameExpected`,e[e.ValueExpected=4]=`ValueExpected`,e[e.ColonExpected=5]=`ColonExpected`,e[e.CommaExpected=6]=`CommaExpected`,e[e.CloseBraceExpected=7]=`CloseBraceExpected`,e[e.CloseBracketExpected=8]=`CloseBracketExpected`,e[e.EndOfFileExpected=9]=`EndOfFileExpected`,e[e.InvalidCommentToken=10]=`InvalidCommentToken`,e[e.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=14]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=16]=`InvalidCharacter`})(IKe||={});function LKe(e){return{getInitialState:()=>new w9(null,null,!1,null),tokenize:(t,n)=>qKe(e,t,n)}}var x9=`delimiter.bracket.json`,S9=`delimiter.array.json`,RKe=`delimiter.colon.json`,zKe=`delimiter.comma.json`,BKe=`keyword.json`,VKe=`keyword.json`,HKe=`string.value.json`,UKe=`number.json`,WKe=`string.key.json`,GKe=`comment.block.json`,KKe=`comment.line.json`,C9=class e{constructor(e,t){this.parent=e,this.type=t}static pop(e){return e?e.parent:null}static push(t,n){return new e(t,n)}static equals(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;for(;e&&t;){if(e===t)return!0;if(e.type!==t.type)return!1;e=e.parent,t=t.parent}return!0}},w9=class e{constructor(e,t,n,r){this._state=e,this.scanError=t,this.lastWasColon=n,this.parents=r}clone(){return new e(this._state,this.scanError,this.lastWasColon,this.parents)}equals(t){return t===this?!0:!t||!(t instanceof e)?!1:this.scanError===t.scanError&&this.lastWasColon===t.lastWasColon&&C9.equals(this.parents,t.parents)}getStateData(){return this._state}setStateData(e){this._state=e}};function qKe(e,t,n,r=0){let i=0,a=!1;switch(n.scanError){case 2:t=`"`+t,i=1;break;case 1:t=`/*`+t,i=2}let o=NKe(t),s=n.lastWasColon,c=n.parents,l={tokens:[],endState:n.clone()};for(;;){let e=r+o.getPosition(),u=``,d=o.scan();if(d===17)break;if(e===r+o.getPosition())throw Error(`Scanner did not advance, next 3 characters are: `+t.substr(o.getPosition(),3));switch(a&&(e-=i),a=i>0,d){case 1:c=C9.push(c,0),u=x9,s=!1;break;case 2:c=C9.pop(c),u=x9,s=!1;break;case 3:c=C9.push(c,1),u=S9,s=!1;break;case 4:c=C9.pop(c),u=S9,s=!1;break;case 6:u=RKe,s=!0;break;case 5:u=zKe,s=!1;break;case 8:case 9:u=BKe,s=!1;break;case 7:u=VKe,s=!1;break;case 10:let e=(c?c.type:0)===1;u=s||e?HKe:WKe,s=!1;break;case 11:u=UKe,s=!1}switch(d){case 12:u=KKe;break;case 13:u=GKe}l.endState=new w9(n.getStateData(),o.getTokenError(),s,c),l.tokens.push({startIndex:e,scopes:u})}return l}var JKe=e({CompletionAdapter:()=>H7,DefinitionAdapter:()=>X7,DiagnosticsAdapter:()=>V7,DocumentColorAdapter:()=>s9,DocumentFormattingEditProvider:()=>i9,DocumentHighlightAdapter:()=>Y7,DocumentLinkAdapter:()=>r9,DocumentRangeFormattingEditProvider:()=>a9,DocumentSymbolAdapter:()=>e9,FoldingRangeAdapter:()=>c9,HoverAdapter:()=>q7,ReferenceAdapter:()=>Q7,RenameAdapter:()=>$7,SelectionRangeAdapter:()=>l9,WorkerManager:()=>g9,fromPosition:()=>U7,fromRange:()=>W7,getWorker:()=>YKe,setupMode:()=>ZKe,toRange:()=>G7,toTextEdit:()=>K7}),T9;function YKe(){return new Promise((e,t)=>{if(!T9)return t(`JSON not registered!`);e(T9)})}var XKe=class extends V7{constructor(e,t,n){super(e,t,n.onDidChange),this._disposables.push(W6.onWillDisposeModel(e=>{this._resetSchema(e.uri)})),this._disposables.push(W6.onDidChangeModelLanguage(e=>{this._resetSchema(e.model.uri)}))}_resetSchema(e){this._worker().then(t=>{t.resetSchema(e.toString())})}};function ZKe(e){let t=[],n=[],r=new g9(e);t.push(r),T9=(...e)=>r.getLanguageServiceWorker(...e);function i(){let{languageId:t,modeConfiguration:r}=e;D9(n),r.documentFormattingEdits&&n.push(Q.registerDocumentFormattingEditProvider(t,new i9(T9))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new a9(T9))),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new H7(T9,[` `,`:`,`"`]))),r.hovers&&n.push(Q.registerHoverProvider(t,new q7(T9))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new e9(T9))),r.tokens&&n.push(Q.setTokensProvider(t,LKe(!0))),r.colors&&n.push(Q.registerColorProvider(t,new s9(T9))),r.foldingRanges&&n.push(Q.registerFoldingRangeProvider(t,new c9(T9))),r.diagnostics&&n.push(new XKe(t,T9,e)),r.selectionRanges&&n.push(Q.registerSelectionRangeProvider(t,new l9(T9)))}i(),t.push(Q.setLanguageConfiguration(e.languageId,QKe));let a=e.modeConfiguration;return e.onDidChange(e=>{e.modeConfiguration!==a&&(a=e.modeConfiguration,i())}),t.push(E9(n)),E9(t)}function E9(e){return{dispose:()=>D9(e)}}function D9(e){for(;e.length;)e.pop().dispose()}var QKe={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`]},{open:`[`,close:`]`,notIn:[`string`]},{open:`"`,close:`"`,notIn:[`string`]}]},O9=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=s7({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(`/assets/ts.worker-DgFMIcEs.js`,``+import.meta.url),{type:`module`}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(W6.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},k9={};k9[`lib.d.ts`]=!0,k9[`lib.decorators.d.ts`]=!0,k9[`lib.decorators.legacy.d.ts`]=!0,k9[`lib.dom.asynciterable.d.ts`]=!0,k9[`lib.dom.d.ts`]=!0,k9[`lib.dom.iterable.d.ts`]=!0,k9[`lib.es2015.collection.d.ts`]=!0,k9[`lib.es2015.core.d.ts`]=!0,k9[`lib.es2015.d.ts`]=!0,k9[`lib.es2015.generator.d.ts`]=!0,k9[`lib.es2015.iterable.d.ts`]=!0,k9[`lib.es2015.promise.d.ts`]=!0,k9[`lib.es2015.proxy.d.ts`]=!0,k9[`lib.es2015.reflect.d.ts`]=!0,k9[`lib.es2015.symbol.d.ts`]=!0,k9[`lib.es2015.symbol.wellknown.d.ts`]=!0,k9[`lib.es2016.array.include.d.ts`]=!0,k9[`lib.es2016.d.ts`]=!0,k9[`lib.es2016.full.d.ts`]=!0,k9[`lib.es2016.intl.d.ts`]=!0,k9[`lib.es2017.arraybuffer.d.ts`]=!0,k9[`lib.es2017.d.ts`]=!0,k9[`lib.es2017.date.d.ts`]=!0,k9[`lib.es2017.full.d.ts`]=!0,k9[`lib.es2017.intl.d.ts`]=!0,k9[`lib.es2017.object.d.ts`]=!0,k9[`lib.es2017.sharedmemory.d.ts`]=!0,k9[`lib.es2017.string.d.ts`]=!0,k9[`lib.es2017.typedarrays.d.ts`]=!0,k9[`lib.es2018.asyncgenerator.d.ts`]=!0,k9[`lib.es2018.asynciterable.d.ts`]=!0,k9[`lib.es2018.d.ts`]=!0,k9[`lib.es2018.full.d.ts`]=!0,k9[`lib.es2018.intl.d.ts`]=!0,k9[`lib.es2018.promise.d.ts`]=!0,k9[`lib.es2018.regexp.d.ts`]=!0,k9[`lib.es2019.array.d.ts`]=!0,k9[`lib.es2019.d.ts`]=!0,k9[`lib.es2019.full.d.ts`]=!0,k9[`lib.es2019.intl.d.ts`]=!0,k9[`lib.es2019.object.d.ts`]=!0,k9[`lib.es2019.string.d.ts`]=!0,k9[`lib.es2019.symbol.d.ts`]=!0,k9[`lib.es2020.bigint.d.ts`]=!0,k9[`lib.es2020.d.ts`]=!0,k9[`lib.es2020.date.d.ts`]=!0,k9[`lib.es2020.full.d.ts`]=!0,k9[`lib.es2020.intl.d.ts`]=!0,k9[`lib.es2020.number.d.ts`]=!0,k9[`lib.es2020.promise.d.ts`]=!0,k9[`lib.es2020.sharedmemory.d.ts`]=!0,k9[`lib.es2020.string.d.ts`]=!0,k9[`lib.es2020.symbol.wellknown.d.ts`]=!0,k9[`lib.es2021.d.ts`]=!0,k9[`lib.es2021.full.d.ts`]=!0,k9[`lib.es2021.intl.d.ts`]=!0,k9[`lib.es2021.promise.d.ts`]=!0,k9[`lib.es2021.string.d.ts`]=!0,k9[`lib.es2021.weakref.d.ts`]=!0,k9[`lib.es2022.array.d.ts`]=!0,k9[`lib.es2022.d.ts`]=!0,k9[`lib.es2022.error.d.ts`]=!0,k9[`lib.es2022.full.d.ts`]=!0,k9[`lib.es2022.intl.d.ts`]=!0,k9[`lib.es2022.object.d.ts`]=!0,k9[`lib.es2022.regexp.d.ts`]=!0,k9[`lib.es2022.string.d.ts`]=!0,k9[`lib.es2023.array.d.ts`]=!0,k9[`lib.es2023.collection.d.ts`]=!0,k9[`lib.es2023.d.ts`]=!0,k9[`lib.es2023.full.d.ts`]=!0,k9[`lib.es2023.intl.d.ts`]=!0,k9[`lib.es2024.arraybuffer.d.ts`]=!0,k9[`lib.es2024.collection.d.ts`]=!0,k9[`lib.es2024.d.ts`]=!0,k9[`lib.es2024.full.d.ts`]=!0,k9[`lib.es2024.object.d.ts`]=!0,k9[`lib.es2024.promise.d.ts`]=!0,k9[`lib.es2024.regexp.d.ts`]=!0,k9[`lib.es2024.sharedmemory.d.ts`]=!0,k9[`lib.es2024.string.d.ts`]=!0,k9[`lib.es5.d.ts`]=!0,k9[`lib.es6.d.ts`]=!0,k9[`lib.esnext.array.d.ts`]=!0,k9[`lib.esnext.collection.d.ts`]=!0,k9[`lib.esnext.d.ts`]=!0,k9[`lib.esnext.decorators.d.ts`]=!0,k9[`lib.esnext.disposable.d.ts`]=!0,k9[`lib.esnext.error.d.ts`]=!0,k9[`lib.esnext.float16.d.ts`]=!0,k9[`lib.esnext.full.d.ts`]=!0,k9[`lib.esnext.intl.d.ts`]=!0,k9[`lib.esnext.iterator.d.ts`]=!0,k9[`lib.esnext.promise.d.ts`]=!0,k9[`lib.esnext.sharedmemory.d.ts`]=!0,k9[`lib.scripthost.d.ts`]=!0,k9[`lib.webworker.asynciterable.d.ts`]=!0,k9[`lib.webworker.d.ts`]=!0,k9[`lib.webworker.importscripts.d.ts`]=!0,k9[`lib.webworker.iterable.d.ts`]=!0;function A9(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=A9(i,t,n);return r}function j9(e){return e?e.map(e=>e.text).join(``):``}var M9=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},N9=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e?e.path.indexOf(`/lib.`)===0&&!!k9[e.path.slice(1)]:!1}getOrCreateModel(e){let t=H6.parse(e),n=W6.getModel(t);if(n)return n;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return W6.createModel(this._libFiles[t.path.slice(1)],`typescript`,t);let r=G8.getExtraLibs()[e];return r?W6.createModel(r.content,`typescript`,t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},P9=class extends M9{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),a=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():W6.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),a.dispose(),clearTimeout(r)}},t()},a=e=>{W6.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(W6.onDidCreateModel(e=>i(e))),this._disposables.push(W6.onWillDisposeModel(a)),this._disposables.push(W6.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of W6.getModels())a(e)}});let o=()=>{for(let e of W6.getModels())a(e),i(e)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),W6.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:a}=this._defaults.getDiagnosticsOptions();r||n.push(t.getSyntacticDiagnostics(e.uri.toString())),i||n.push(t.getSemanticDiagnostics(e.uri.toString())),a||n.push(t.getSuggestionDiagnostics(e.uri.toString()));let o=await Promise.all(n);if(!o||e.isDisposed())return;let s=o.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),c=s.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?H6.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&W6.setModelMarkers(e,this._selector,s.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:i,column:a}=e.getPositionAt(n),{lineNumber:o,column:s}=e.getPositionAt(n+r),c=[];return t.reportsUnnecessary&&c.push(V6.Unnecessary),t.reportsDeprecated&&c.push(V6.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s,message:A9(t.messageText,`
1191
+ `+` `.repeat(t));var MKe;(function(e){e.DEFAULT={allowTrailingComma:!1}})(MKe||={});var NKe=AKe,PKe;(function(e){e[e.None=0]=`None`,e[e.UnexpectedEndOfComment=1]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=2]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=3]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=4]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=5]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=6]=`InvalidCharacter`})(PKe||={});var FKe;(function(e){e[e.OpenBraceToken=1]=`OpenBraceToken`,e[e.CloseBraceToken=2]=`CloseBraceToken`,e[e.OpenBracketToken=3]=`OpenBracketToken`,e[e.CloseBracketToken=4]=`CloseBracketToken`,e[e.CommaToken=5]=`CommaToken`,e[e.ColonToken=6]=`ColonToken`,e[e.NullKeyword=7]=`NullKeyword`,e[e.TrueKeyword=8]=`TrueKeyword`,e[e.FalseKeyword=9]=`FalseKeyword`,e[e.StringLiteral=10]=`StringLiteral`,e[e.NumericLiteral=11]=`NumericLiteral`,e[e.LineCommentTrivia=12]=`LineCommentTrivia`,e[e.BlockCommentTrivia=13]=`BlockCommentTrivia`,e[e.LineBreakTrivia=14]=`LineBreakTrivia`,e[e.Trivia=15]=`Trivia`,e[e.Unknown=16]=`Unknown`,e[e.EOF=17]=`EOF`})(FKe||={});var IKe;(function(e){e[e.InvalidSymbol=1]=`InvalidSymbol`,e[e.InvalidNumberFormat=2]=`InvalidNumberFormat`,e[e.PropertyNameExpected=3]=`PropertyNameExpected`,e[e.ValueExpected=4]=`ValueExpected`,e[e.ColonExpected=5]=`ColonExpected`,e[e.CommaExpected=6]=`CommaExpected`,e[e.CloseBraceExpected=7]=`CloseBraceExpected`,e[e.CloseBracketExpected=8]=`CloseBracketExpected`,e[e.EndOfFileExpected=9]=`EndOfFileExpected`,e[e.InvalidCommentToken=10]=`InvalidCommentToken`,e[e.UnexpectedEndOfComment=11]=`UnexpectedEndOfComment`,e[e.UnexpectedEndOfString=12]=`UnexpectedEndOfString`,e[e.UnexpectedEndOfNumber=13]=`UnexpectedEndOfNumber`,e[e.InvalidUnicode=14]=`InvalidUnicode`,e[e.InvalidEscapeCharacter=15]=`InvalidEscapeCharacter`,e[e.InvalidCharacter=16]=`InvalidCharacter`})(IKe||={});function LKe(e){return{getInitialState:()=>new w9(null,null,!1,null),tokenize:(t,n)=>qKe(e,t,n)}}var x9=`delimiter.bracket.json`,S9=`delimiter.array.json`,RKe=`delimiter.colon.json`,zKe=`delimiter.comma.json`,BKe=`keyword.json`,VKe=`keyword.json`,HKe=`string.value.json`,UKe=`number.json`,WKe=`string.key.json`,GKe=`comment.block.json`,KKe=`comment.line.json`,C9=class e{constructor(e,t){this.parent=e,this.type=t}static pop(e){return e?e.parent:null}static push(t,n){return new e(t,n)}static equals(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;for(;e&&t;){if(e===t)return!0;if(e.type!==t.type)return!1;e=e.parent,t=t.parent}return!0}},w9=class e{constructor(e,t,n,r){this._state=e,this.scanError=t,this.lastWasColon=n,this.parents=r}clone(){return new e(this._state,this.scanError,this.lastWasColon,this.parents)}equals(t){return t===this?!0:!t||!(t instanceof e)?!1:this.scanError===t.scanError&&this.lastWasColon===t.lastWasColon&&C9.equals(this.parents,t.parents)}getStateData(){return this._state}setStateData(e){this._state=e}};function qKe(e,t,n,r=0){let i=0,a=!1;switch(n.scanError){case 2:t=`"`+t,i=1;break;case 1:t=`/*`+t,i=2}let o=NKe(t),s=n.lastWasColon,c=n.parents,l={tokens:[],endState:n.clone()};for(;;){let e=r+o.getPosition(),u=``,d=o.scan();if(d===17)break;if(e===r+o.getPosition())throw Error(`Scanner did not advance, next 3 characters are: `+t.substr(o.getPosition(),3));switch(a&&(e-=i),a=i>0,d){case 1:c=C9.push(c,0),u=x9,s=!1;break;case 2:c=C9.pop(c),u=x9,s=!1;break;case 3:c=C9.push(c,1),u=S9,s=!1;break;case 4:c=C9.pop(c),u=S9,s=!1;break;case 6:u=RKe,s=!0;break;case 5:u=zKe,s=!1;break;case 8:case 9:u=BKe,s=!1;break;case 7:u=VKe,s=!1;break;case 10:let e=(c?c.type:0)===1;u=s||e?HKe:WKe,s=!1;break;case 11:u=UKe,s=!1}switch(d){case 12:u=KKe;break;case 13:u=GKe}l.endState=new w9(n.getStateData(),o.getTokenError(),s,c),l.tokens.push({startIndex:e,scopes:u})}return l}var JKe=e({CompletionAdapter:()=>H7,DefinitionAdapter:()=>X7,DiagnosticsAdapter:()=>V7,DocumentColorAdapter:()=>s9,DocumentFormattingEditProvider:()=>i9,DocumentHighlightAdapter:()=>Y7,DocumentLinkAdapter:()=>r9,DocumentRangeFormattingEditProvider:()=>a9,DocumentSymbolAdapter:()=>e9,FoldingRangeAdapter:()=>c9,HoverAdapter:()=>q7,ReferenceAdapter:()=>Q7,RenameAdapter:()=>$7,SelectionRangeAdapter:()=>l9,WorkerManager:()=>g9,fromPosition:()=>U7,fromRange:()=>W7,getWorker:()=>YKe,setupMode:()=>ZKe,toRange:()=>G7,toTextEdit:()=>K7}),T9;function YKe(){return new Promise((e,t)=>{if(!T9)return t(`JSON not registered!`);e(T9)})}var XKe=class extends V7{constructor(e,t,n){super(e,t,n.onDidChange),this._disposables.push(W6.onWillDisposeModel(e=>{this._resetSchema(e.uri)})),this._disposables.push(W6.onDidChangeModelLanguage(e=>{this._resetSchema(e.model.uri)}))}_resetSchema(e){this._worker().then(t=>{t.resetSchema(e.toString())})}};function ZKe(e){let t=[],n=[],r=new g9(e);t.push(r),T9=(...e)=>r.getLanguageServiceWorker(...e);function i(){let{languageId:t,modeConfiguration:r}=e;D9(n),r.documentFormattingEdits&&n.push(Q.registerDocumentFormattingEditProvider(t,new i9(T9))),r.documentRangeFormattingEdits&&n.push(Q.registerDocumentRangeFormattingEditProvider(t,new a9(T9))),r.completionItems&&n.push(Q.registerCompletionItemProvider(t,new H7(T9,[` `,`:`,`"`]))),r.hovers&&n.push(Q.registerHoverProvider(t,new q7(T9))),r.documentSymbols&&n.push(Q.registerDocumentSymbolProvider(t,new e9(T9))),r.tokens&&n.push(Q.setTokensProvider(t,LKe(!0))),r.colors&&n.push(Q.registerColorProvider(t,new s9(T9))),r.foldingRanges&&n.push(Q.registerFoldingRangeProvider(t,new c9(T9))),r.diagnostics&&n.push(new XKe(t,T9,e)),r.selectionRanges&&n.push(Q.registerSelectionRangeProvider(t,new l9(T9)))}i(),t.push(Q.setLanguageConfiguration(e.languageId,QKe));let a=e.modeConfiguration;return e.onDidChange(e=>{e.modeConfiguration!==a&&(a=e.modeConfiguration,i())}),t.push(E9(n)),E9(t)}function E9(e){return{dispose:()=>D9(e)}}function D9(e){for(;e.length;)e.pop().dispose()}var QKe={wordPattern:/(-?\d*\.\d\w*)|([^\[\{\]\}\:\"\,\s]+)/g,comments:{lineComment:`//`,blockComment:[`/*`,`*/`]},brackets:[[`{`,`}`],[`[`,`]`]],autoClosingPairs:[{open:`{`,close:`}`,notIn:[`string`]},{open:`[`,close:`]`,notIn:[`string`]},{open:`"`,close:`"`,notIn:[`string`]}]},O9=class{constructor(e,t){this._modeId=e,this._defaults=t,this._worker=null,this._client=null,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker()),this._updateExtraLibsToken=0,this._extraLibsChangeListener=this._defaults.onDidExtraLibsChange(()=>this._updateExtraLibs())}dispose(){this._configChangeListener.dispose(),this._extraLibsChangeListener.dispose(),this._stopWorker()}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}async _updateExtraLibs(){if(!this._worker)return;let e=++this._updateExtraLibsToken,t=await this._worker.getProxy();this._updateExtraLibsToken===e&&t.updateExtraLibs(this._defaults.getExtraLibs())}_getClient(){return this._client||=(async()=>(this._worker=s7({moduleId:`vs/language/typescript/tsWorker`,createWorker:()=>new Worker(new URL(`/assets/ts.worker-CmEKzkmF.js`,``+import.meta.url),{type:`module`}),label:this._modeId,keepIdleModels:!0,createData:{compilerOptions:this._defaults.getCompilerOptions(),extraLibs:this._defaults.getExtraLibs(),customWorkerPath:this._defaults.workerOptions.customWorkerPath,inlayHintsOptions:this._defaults.inlayHintsOptions}}),this._defaults.getEagerModelSync()?await this._worker.withSyncedResources(W6.getModels().filter(e=>e.getLanguageId()===this._modeId).map(e=>e.uri)):await this._worker.getProxy()))(),this._client}async getLanguageServiceWorker(...e){let t=await this._getClient();return this._worker&&await this._worker.withSyncedResources(e),t}},k9={};k9[`lib.d.ts`]=!0,k9[`lib.decorators.d.ts`]=!0,k9[`lib.decorators.legacy.d.ts`]=!0,k9[`lib.dom.asynciterable.d.ts`]=!0,k9[`lib.dom.d.ts`]=!0,k9[`lib.dom.iterable.d.ts`]=!0,k9[`lib.es2015.collection.d.ts`]=!0,k9[`lib.es2015.core.d.ts`]=!0,k9[`lib.es2015.d.ts`]=!0,k9[`lib.es2015.generator.d.ts`]=!0,k9[`lib.es2015.iterable.d.ts`]=!0,k9[`lib.es2015.promise.d.ts`]=!0,k9[`lib.es2015.proxy.d.ts`]=!0,k9[`lib.es2015.reflect.d.ts`]=!0,k9[`lib.es2015.symbol.d.ts`]=!0,k9[`lib.es2015.symbol.wellknown.d.ts`]=!0,k9[`lib.es2016.array.include.d.ts`]=!0,k9[`lib.es2016.d.ts`]=!0,k9[`lib.es2016.full.d.ts`]=!0,k9[`lib.es2016.intl.d.ts`]=!0,k9[`lib.es2017.arraybuffer.d.ts`]=!0,k9[`lib.es2017.d.ts`]=!0,k9[`lib.es2017.date.d.ts`]=!0,k9[`lib.es2017.full.d.ts`]=!0,k9[`lib.es2017.intl.d.ts`]=!0,k9[`lib.es2017.object.d.ts`]=!0,k9[`lib.es2017.sharedmemory.d.ts`]=!0,k9[`lib.es2017.string.d.ts`]=!0,k9[`lib.es2017.typedarrays.d.ts`]=!0,k9[`lib.es2018.asyncgenerator.d.ts`]=!0,k9[`lib.es2018.asynciterable.d.ts`]=!0,k9[`lib.es2018.d.ts`]=!0,k9[`lib.es2018.full.d.ts`]=!0,k9[`lib.es2018.intl.d.ts`]=!0,k9[`lib.es2018.promise.d.ts`]=!0,k9[`lib.es2018.regexp.d.ts`]=!0,k9[`lib.es2019.array.d.ts`]=!0,k9[`lib.es2019.d.ts`]=!0,k9[`lib.es2019.full.d.ts`]=!0,k9[`lib.es2019.intl.d.ts`]=!0,k9[`lib.es2019.object.d.ts`]=!0,k9[`lib.es2019.string.d.ts`]=!0,k9[`lib.es2019.symbol.d.ts`]=!0,k9[`lib.es2020.bigint.d.ts`]=!0,k9[`lib.es2020.d.ts`]=!0,k9[`lib.es2020.date.d.ts`]=!0,k9[`lib.es2020.full.d.ts`]=!0,k9[`lib.es2020.intl.d.ts`]=!0,k9[`lib.es2020.number.d.ts`]=!0,k9[`lib.es2020.promise.d.ts`]=!0,k9[`lib.es2020.sharedmemory.d.ts`]=!0,k9[`lib.es2020.string.d.ts`]=!0,k9[`lib.es2020.symbol.wellknown.d.ts`]=!0,k9[`lib.es2021.d.ts`]=!0,k9[`lib.es2021.full.d.ts`]=!0,k9[`lib.es2021.intl.d.ts`]=!0,k9[`lib.es2021.promise.d.ts`]=!0,k9[`lib.es2021.string.d.ts`]=!0,k9[`lib.es2021.weakref.d.ts`]=!0,k9[`lib.es2022.array.d.ts`]=!0,k9[`lib.es2022.d.ts`]=!0,k9[`lib.es2022.error.d.ts`]=!0,k9[`lib.es2022.full.d.ts`]=!0,k9[`lib.es2022.intl.d.ts`]=!0,k9[`lib.es2022.object.d.ts`]=!0,k9[`lib.es2022.regexp.d.ts`]=!0,k9[`lib.es2022.string.d.ts`]=!0,k9[`lib.es2023.array.d.ts`]=!0,k9[`lib.es2023.collection.d.ts`]=!0,k9[`lib.es2023.d.ts`]=!0,k9[`lib.es2023.full.d.ts`]=!0,k9[`lib.es2023.intl.d.ts`]=!0,k9[`lib.es2024.arraybuffer.d.ts`]=!0,k9[`lib.es2024.collection.d.ts`]=!0,k9[`lib.es2024.d.ts`]=!0,k9[`lib.es2024.full.d.ts`]=!0,k9[`lib.es2024.object.d.ts`]=!0,k9[`lib.es2024.promise.d.ts`]=!0,k9[`lib.es2024.regexp.d.ts`]=!0,k9[`lib.es2024.sharedmemory.d.ts`]=!0,k9[`lib.es2024.string.d.ts`]=!0,k9[`lib.es5.d.ts`]=!0,k9[`lib.es6.d.ts`]=!0,k9[`lib.esnext.array.d.ts`]=!0,k9[`lib.esnext.collection.d.ts`]=!0,k9[`lib.esnext.d.ts`]=!0,k9[`lib.esnext.decorators.d.ts`]=!0,k9[`lib.esnext.disposable.d.ts`]=!0,k9[`lib.esnext.error.d.ts`]=!0,k9[`lib.esnext.float16.d.ts`]=!0,k9[`lib.esnext.full.d.ts`]=!0,k9[`lib.esnext.intl.d.ts`]=!0,k9[`lib.esnext.iterator.d.ts`]=!0,k9[`lib.esnext.promise.d.ts`]=!0,k9[`lib.esnext.sharedmemory.d.ts`]=!0,k9[`lib.scripthost.d.ts`]=!0,k9[`lib.webworker.asynciterable.d.ts`]=!0,k9[`lib.webworker.d.ts`]=!0,k9[`lib.webworker.importscripts.d.ts`]=!0,k9[`lib.webworker.iterable.d.ts`]=!0;function A9(e,t,n=0){if(typeof e==`string`)return e;if(e===void 0)return``;let r=``;if(n){r+=t;for(let e=0;e<n;e++)r+=` `}if(r+=e.messageText,n++,e.next)for(let i of e.next)r+=A9(i,t,n);return r}function j9(e){return e?e.map(e=>e.text).join(``):``}var M9=class{constructor(e){this._worker=e}_textSpanToRange(e,t){let n=e.getPositionAt(t.start),r=e.getPositionAt(t.start+t.length),{lineNumber:i,column:a}=n,{lineNumber:o,column:s}=r;return{startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s}}},N9=class{constructor(e){this._worker=e,this._libFiles={},this._hasFetchedLibFiles=!1,this._fetchLibFilesPromise=null}isLibFile(e){return e?e.path.indexOf(`/lib.`)===0&&!!k9[e.path.slice(1)]:!1}getOrCreateModel(e){let t=H6.parse(e),n=W6.getModel(t);if(n)return n;if(this.isLibFile(t)&&this._hasFetchedLibFiles)return W6.createModel(this._libFiles[t.path.slice(1)],`typescript`,t);let r=G8.getExtraLibs()[e];return r?W6.createModel(r.content,`typescript`,t):null}_containsLibFile(e){for(let t of e)if(this.isLibFile(t))return!0;return!1}async fetchLibFilesIfNecessary(e){this._containsLibFile(e)&&await this._fetchLibFiles()}_fetchLibFiles(){return this._fetchLibFilesPromise||=this._worker().then(e=>e.getLibFiles()).then(e=>{this._hasFetchedLibFiles=!0,this._libFiles=e}),this._fetchLibFilesPromise}},P9=class extends M9{constructor(e,t,n,r){super(r),this._libFiles=e,this._defaults=t,this._selector=n,this._disposables=[],this._listener=Object.create(null);let i=e=>{if(e.getLanguageId()!==n)return;let t=()=>{let{onlyVisible:t}=this._defaults.getDiagnosticsOptions();t?e.isAttachedToEditor()&&this._doValidate(e):this._doValidate(e)},r,i=e.onDidChangeContent(()=>{clearTimeout(r),r=window.setTimeout(t,500)}),a=e.onDidChangeAttached(()=>{let{onlyVisible:n}=this._defaults.getDiagnosticsOptions();n&&(e.isAttachedToEditor()?t():W6.setModelMarkers(e,this._selector,[]))});this._listener[e.uri.toString()]={dispose(){i.dispose(),a.dispose(),clearTimeout(r)}},t()},a=e=>{W6.setModelMarkers(e,this._selector,[]);let t=e.uri.toString();this._listener[t]&&(this._listener[t].dispose(),delete this._listener[t])};this._disposables.push(W6.onDidCreateModel(e=>i(e))),this._disposables.push(W6.onWillDisposeModel(a)),this._disposables.push(W6.onDidChangeModelLanguage(e=>{a(e.model),i(e.model)})),this._disposables.push({dispose(){for(let e of W6.getModels())a(e)}});let o=()=>{for(let e of W6.getModels())a(e),i(e)};this._disposables.push(this._defaults.onDidChange(o)),this._disposables.push(this._defaults.onDidExtraLibsChange(o)),W6.getModels().forEach(e=>i(e))}dispose(){this._disposables.forEach(e=>e&&e.dispose()),this._disposables=[]}async _doValidate(e){let t=await this._worker(e.uri);if(e.isDisposed())return;let n=[],{noSyntaxValidation:r,noSemanticValidation:i,noSuggestionDiagnostics:a}=this._defaults.getDiagnosticsOptions();r||n.push(t.getSyntacticDiagnostics(e.uri.toString())),i||n.push(t.getSemanticDiagnostics(e.uri.toString())),a||n.push(t.getSuggestionDiagnostics(e.uri.toString()));let o=await Promise.all(n);if(!o||e.isDisposed())return;let s=o.reduce((e,t)=>t.concat(e),[]).filter(e=>(this._defaults.getDiagnosticsOptions().diagnosticCodesToIgnore||[]).indexOf(e.code)===-1),c=s.map(e=>e.relatedInformation||[]).reduce((e,t)=>t.concat(e),[]).map(e=>e.file?H6.parse(e.file.fileName):null);await this._libFiles.fetchLibFilesIfNecessary(c),!e.isDisposed()&&W6.setModelMarkers(e,this._selector,s.map(t=>this._convertDiagnostics(e,t)))}_convertDiagnostics(e,t){let n=t.start||0,r=t.length||1,{lineNumber:i,column:a}=e.getPositionAt(n),{lineNumber:o,column:s}=e.getPositionAt(n+r),c=[];return t.reportsUnnecessary&&c.push(V6.Unnecessary),t.reportsDeprecated&&c.push(V6.Deprecated),{severity:this._tsDiagnosticCategoryToMarkerSeverity(t.category),startLineNumber:i,startColumn:a,endLineNumber:o,endColumn:s,message:A9(t.messageText,`
1192
1192
  `),code:t.code.toString(),tags:c,relatedInformation:this._convertRelatedInformation(e,t.relatedInformation)}}_convertRelatedInformation(e,t){if(!t)return[];let n=[];return t.forEach(t=>{let r=e;if(t.file&&(r=this._libFiles.getOrCreateModel(t.file.fileName)),!r)return;let i=t.start||0,a=t.length||1,{lineNumber:o,column:s}=r.getPositionAt(i),{lineNumber:c,column:l}=r.getPositionAt(i+a);n.push({resource:r.uri,startLineNumber:o,startColumn:s,endLineNumber:c,endColumn:l,message:A9(t.messageText,`
1193
1193
  `)})}),n}_tsDiagnosticCategoryToMarkerSeverity(e){switch(e){case 1:return B6.Error;case 3:return B6.Info;case 0:return B6.Warning;case 2:return B6.Hint}return B6.Info}},F9=class e extends M9{get triggerCharacters(){return[`.`]}async provideCompletionItems(t,n,r,i){let a=t.getWordUntilPosition(n),o=new L6(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn),s=t.uri,c=t.getOffsetAt(n),l=await this._worker(s);if(t.isDisposed())return;let u=await l.getCompletionsAtPosition(s.toString(),c);if(u&&!t.isDisposed())return{suggestions:u.entries.map(r=>{let i=o;if(r.replacementSpan){let e=t.getPositionAt(r.replacementSpan.start),n=t.getPositionAt(r.replacementSpan.start+r.replacementSpan.length);i=new L6(e.lineNumber,e.column,n.lineNumber,n.column)}let a=[];return r.kindModifiers!==void 0&&r.kindModifiers.indexOf(`deprecated`)!==-1&&a.push(Q.CompletionItemTag.Deprecated),{uri:s,position:n,offset:c,range:i,label:r.name,insertText:r.name,sortText:r.sortText,kind:e.convertKind(r.kind),tags:a}})}}async resolveCompletionItem(t,n){let r=t,i=r.uri,a=r.position,o=r.offset,s=await(await this._worker(i)).getCompletionEntryDetails(i.toString(),o,r.label);return s?{uri:i,position:a,label:s.name,kind:e.convertKind(s.kind),detail:j9(s.displayParts),documentation:{value:e.createDocumentationString(s)}}:r}static convertKind(e){switch(e){case U9.primitiveType:case U9.keyword:return Q.CompletionItemKind.Keyword;case U9.variable:case U9.localVariable:return Q.CompletionItemKind.Variable;case U9.memberVariable:case U9.memberGetAccessor:case U9.memberSetAccessor:return Q.CompletionItemKind.Field;case U9.function:case U9.memberFunction:case U9.constructSignature:case U9.callSignature:case U9.indexSignature:return Q.CompletionItemKind.Function;case U9.enum:return Q.CompletionItemKind.Enum;case U9.module:return Q.CompletionItemKind.Module;case U9.class:return Q.CompletionItemKind.Class;case U9.interface:return Q.CompletionItemKind.Interface;case U9.warning:return Q.CompletionItemKind.File}return Q.CompletionItemKind.Property}static createDocumentationString(e){let t=j9(e.documentation);if(e.tags)for(let n of e.tags)t+=`
1194
1194