@actualwave/react-native-codeditor 1.1.0 → 1.2.0

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 (62) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +16 -6
  3. package/SKILL.md +469 -0
  4. package/THIRD_PARTY_NOTICES +120 -0
  5. package/app.plugin.js +1 -1
  6. package/lib/module/CodeEditor.js +69 -2
  7. package/lib/typescript/src/CodeEditor.d.ts +20 -2
  8. package/lib/typescript/src/EditorAPI.d.ts +42 -1
  9. package/lib/typescript/src/WebViewAPI.d.ts +4 -1
  10. package/lib/typescript/src/index.d.ts +1 -1
  11. package/package.json +12 -4
  12. package/src/assets/codemirror/@actualwave_codemirror-lang-embed-core.js +39 -0
  13. package/src/assets/codemirror/@actualwave_codemirror-lang-embed-css.js +19 -0
  14. package/src/assets/codemirror/@actualwave_codemirror-lang-embed-glsl.js +1 -0
  15. package/src/assets/codemirror/@actualwave_codemirror-lang-embed-graphql.js +50 -0
  16. package/src/assets/codemirror/@actualwave_codemirror-lang-embed-icu-messageformat.js +1 -0
  17. package/src/assets/codemirror/@actualwave_codemirror-lang-embed-react-native.js +6 -0
  18. package/src/assets/codemirror/@actualwave_codemirror-lang-embed-sksl.js +7 -0
  19. package/src/assets/codemirror/@actualwave_codemirror-lang-embed-sql.js +5 -0
  20. package/src/assets/codemirror/@actualwave_codemirror-lang-embed-tailwind.js +63 -0
  21. package/src/assets/codemirror/@actualwave_codemirror-lang-glsl.js +20 -0
  22. package/src/assets/codemirror/@actualwave_codemirror-lang-icu-messageformat.js +11 -0
  23. package/src/assets/codemirror/@actualwave_codemirror-lang-react-native.js +71 -0
  24. package/src/assets/codemirror/@actualwave_codemirror-lang-sksl.js +7 -2
  25. package/src/assets/codemirror/@codemirror_autocomplete.js +9 -9
  26. package/src/assets/codemirror/@codemirror_commands.js +86 -86
  27. package/src/assets/codemirror/@codemirror_lang-css.js +2 -2
  28. package/src/assets/codemirror/@codemirror_lang-go.js +1 -1
  29. package/src/assets/codemirror/@codemirror_lang-html.js +1 -1
  30. package/src/assets/codemirror/@codemirror_lang-javascript.js +4 -4
  31. package/src/assets/codemirror/@codemirror_lang-jinja.js +1 -1
  32. package/src/assets/codemirror/@codemirror_lang-json.js +1 -1
  33. package/src/assets/codemirror/@codemirror_lang-less.js +1 -1
  34. package/src/assets/codemirror/@codemirror_lang-liquid.js +1 -1
  35. package/src/assets/codemirror/@codemirror_lang-markdown.js +2 -2
  36. package/src/assets/codemirror/@codemirror_lang-python.js +1 -1
  37. package/src/assets/codemirror/@codemirror_lang-sql.js +4 -4
  38. package/src/assets/codemirror/@codemirror_lang-xml.js +1 -1
  39. package/src/assets/codemirror/@codemirror_language.js +11 -11
  40. package/src/assets/codemirror/@codemirror_legacy-modes_mode_clike.js +1 -1
  41. package/src/assets/codemirror/@codemirror_legacy-modes_mode_mathematica.js +1 -1
  42. package/src/assets/codemirror/@codemirror_legacy-modes_mode_oz.js +1 -1
  43. package/src/assets/codemirror/@codemirror_legacy-modes_mode_verilog.js +1 -1
  44. package/src/assets/codemirror/@codemirror_lint.js +5 -5
  45. package/src/assets/codemirror/@codemirror_merge.js +4 -4
  46. package/src/assets/codemirror/@codemirror_search.js +8 -8
  47. package/src/assets/codemirror/@codemirror_state.js +1 -1
  48. package/src/assets/codemirror/@codemirror_theme-one-dark.js +3 -3
  49. package/src/assets/codemirror/@codemirror_view.js +6 -6
  50. package/src/assets/codemirror/@lezer_common.js +2 -2
  51. package/src/assets/codemirror/@lezer_css.js +1 -1
  52. package/src/assets/codemirror/@lezer_javascript.js +1 -1
  53. package/src/assets/codemirror/@lezer_lr.js +1 -1
  54. package/src/assets/codemirror/@lezer_markdown.js +4 -4
  55. package/src/assets/codemirror/@lezer_sass.js +1 -1
  56. package/src/assets/codemirror/_core.js +129 -129
  57. package/src/assets/codemirror-editor.umd.js +130 -17
  58. package/src/assets/editor.html +25 -1
  59. package/lib/typescript/app.plugin.d.ts +0 -3
  60. package/lib/typescript/babel.config.d.ts +0 -10
  61. package/lib/typescript/react-native.config.d.ts +0 -2
  62. package/lib/typescript/scripts/copy-assets.d.ts +0 -2
@@ -4,7 +4,7 @@ async function moduleInitFunction(requireAsyncModule,exports={}){const module={e
4
4
  const descendantOp=110,Unit=1,openArgList=2,space=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],argList=new lr.ExternalTokenizer((input,stack)=>{if(40==input.next/* Ch.parenL */){let prev=input.peek(-1);(isAlpha(prev)||isDigit(prev)||95==prev/* Ch.underscore */||45==prev/* Ch.dash */)&&input.acceptToken(openArgList,1)}}),descendant=new lr.ExternalTokenizer(input=>{if(-1<space.indexOf(input.peek(-1))){let{next}=input;(isAlpha(next)||95==next/* Ch.underscore */||35==next/* Ch.hash */||46==next/* Ch.period */||91==next/* Ch.bracketL */||58==next/* Ch.colon */||45==next/* Ch.dash */)&&input.acceptToken(descendantOp)}}),unitToken=new lr.ExternalTokenizer(input=>{if(0>space.indexOf(input.peek(-1))){let{next}=input;if(37==next/* Ch.percent */&&(input.advance(),input.acceptToken(Unit)),isAlpha(next)){do input.advance();while(isAlpha(input.next));input.acceptToken(Unit)}}}),lessHighlighting=highlight.styleTags({"import charset namespace keyframes media supports when":highlight.tags.definitionKeyword,"from to selector":highlight.tags.keyword,NamespaceName:highlight.tags.namespace,KeyframeName:highlight.tags.labelName,TagName:highlight.tags.tagName,ClassName:highlight.tags.className,PseudoClassName:highlight.tags.constant(highlight.tags.className),IdName:highlight.tags.labelName,"FeatureName PropertyName PropertyVariable":highlight.tags.propertyName,AttributeName:highlight.tags.attributeName,NumberLiteral:highlight.tags.number,KeywordQuery:highlight.tags.keyword,UnaryQueryOp:highlight.tags.operatorKeyword,"CallTag ValueName":highlight.tags.atom,VariableName:highlight.tags.variableName,"AtKeyword Interpolation":highlight.tags.special(highlight.tags.variableName),Callee:highlight.tags.operatorKeyword,Unit:highlight.tags.unit,"UniversalSelector NestingSelector":highlight.tags.definitionOperator,MatchOp:highlight.tags.compareOperator,"ChildOp SiblingOp, LogicOp":highlight.tags.logicOperator,BinOp:highlight.tags.arithmeticOperator,Important:highlight.tags.modifier,"Comment LineComment":highlight.tags.blockComment,ColorLiteral:highlight.tags.color,"ParenthesizedContent StringLiteral":highlight.tags.string,Escape:highlight.tags.special(highlight.tags.string),": ...":highlight.tags.punctuation,"PseudoOp #":highlight.tags.derefOperator,"; ,":highlight.tags.separator,"( )":highlight.tags.paren,"[ ]":highlight.tags.squareBracket,"{ }":highlight.tags.brace}),spec_identifier={__proto__:null,lang:40,"nth-child":40,"nth-last-child":40,"nth-of-type":40,"nth-last-of-type":40,dir:40,"host-context":40,and:244,or:244,not:74,only:74,url:86,"url-prefix":86,domain:86,regexp:86,when:117,selector:142,from:172,to:174},spec_AtKeyword={__proto__:null,"@import":126,"@plugin":126,"@media":152,"@charset":156,"@namespace":160,"@keyframes":166,"@supports":178},parser=lr.LRParser.deserialize({version:14,states:"@^O!gQWOOO!nQaO'#CeOOQP'#Cd'#CdO$RQWO'#CgO$xQaO'#EaO%cQWO'#CiO%kQWO'#DZO%pQWO'#D^O%uQaO'#DfOOQP'#Es'#EsO'YQWO'#DlO'yQWO'#DyO(QQWO'#D{O(xQWO'#D}O)TQWO'#EQO'bQWO'#EWO)YQ`O'#FTO)]Q`O'#FTO)hQ`O'#FTO)vQWO'#EYOOQO'#Er'#ErOOQO'#FV'#FVOOQO'#Ec'#EcO){QWO'#EqO*WQWO'#EqQOQWOOOOQP'#Ch'#ChOOQP,59R,59RO$RQWO,59RO*bQWO'#EdO+PQWO,58|O+_QWO,59TO%kQWO,59uO%pQWO,59xO*bQWO,59{O*bQWO,59}OOQO'#De'#DeO*bQWO,5:OO,bQpO'#E}O,iQWO'#DkOOQO,58|,58|O(QQWO,58|O,pQWO,5:{OOQO,5:{,5:{OOQT'#Cl'#ClO-UQeO,59TO.cQ[O,59TOOQP'#D]'#D]OOQP,59u,59uOOQO'#D_'#D_O.hQpO,59xOOQO'#EZ'#EZO.pQ`O,5;oOOQO,5;o,5;oO/OQWO,5:WO/VQWO,5:WOOQS'#Dn'#DnO/rQWO'#DsO/yQ!fO'#FRO0eQWO'#DtOOQS'#FS'#FSO+YQWO,5:eO'bQWO'#DrOOQS'#Cu'#CuO(QQWO'#CwO0jQ!hO'#CyO2^Q!fO,5:gO2oQWO'#DWOOQS'#Ex'#ExO(QQWO'#DQOOQO'#EP'#EPO2tQWO,5:iO2yQWO,5:iOOQO'#ES'#ESO3RQWO,5:lO3WQ!fO,5:rO3iQ`O'#EkO.pQ`O,5;oOOQO,5:|,5:|O3zQWO,5:tOOQO,5:},5:}O4XQWO,5;]OOQO-E8a-E8aOOQP1G.m1G.mOOQP'#Ce'#CeO5RQaO,5;OOOQP'#Df'#DfOOQO-E8b-E8bOOQO1G.h1G.hO(QQWO1G.hO5fQWO1G.hO5nQeO1G.oO.cQ[O1G.oOOQP1G/a1G/aO6{QpO1G/dO7fQaO1G/gO8cQaO1G/iO9`QaO1G/jO:]Q!fO'#FOO:yQ!fO'#ExOOQO'#FO'#FOOOQO,5;i,5;iO<^QWO,5;iO<iQWO,5:VO<nQ!fO1G.hOOQO1G0g1G0gO=PQWO'#CnOOQP1G.o1G.oO=WQWO'#CqOOQP1G/d1G/dO(QQWO1G/dO=_Q`O1G1ZOOQO1G1Z1G1ZO=mQWO1G/rO=rQ!fO'#FQO>WQWO1G/rO>]Q!fO'#DnO>qQWO,5:ZO>vQ!fO,5:_OOQO'#DP'#DPO'bQWO,5:]O?XQWO'#DwOOQS,5:b,5:bO?`QWO,5:dO'bQWO'#EiO?gQWO,5;mO*bQWO,5:`OOQO1G0P1G0PO?uQ!fO,5:^O@aQ!fO,59cOOQS,59e,59eO(QQWO,59iOOQS,59n,59nO@rQWO,59pOOQO1G0R1G0RO@yQ#tO,59rOARQ!fO,59lOOQO1G0T1G0TOBrQWO1G0TOBwQWO'#ETOOQO1G0W1G0WOOQO1G0^1G0^OOQO,5;V,5;VOOQO-E8i-E8iOCVQ!fO1G0bOCvQWO1G0`O%kQWO'#E_O$RQWO'#E`OEZQWO'#E^OOQO1G0b1G0bPEkQWO'#EcO<nQ!fO7+$SOOQO7+$S7+$SO(QQWO7+$SOOQP7+$Z7+$ZOOQP7+%O7+%OO(QQWO7+%OOEpQ!fO'#EeOF}QWO,5;jO(QQWO,5;jOOQO,5;j,5;jO+gQpO'#EgOG[QWO1G1TOOQO1G1T1G1TOOQO1G/q1G/qOGgQaO'#EvOGnQWO,59YOGsQWO'#EwOG}QWO,59]OHSQ!fO7+%OOOQO7+&u7+&uOOQO7+%^7+%^O(QQWO'#EhOHeQWO,5;lOHmQWO7+%^O(QQWO1G/uOOQS1G/y1G/yOOQS1G/w1G/wOHrQWO,5:cOHwQ!fO1G0OOOQS1G0O1G0OOIYQ!fO,5;TOOQO-E8g-E8gOItQaO1G/zOOQS1G.}1G.}OOQS1G/T1G/TOI{Q!fO1G/[OOQS1G/[1G/[OJ^QWO1G/^OOQO7+%o7+%oOJcQYO'#CyO+YQWO'#EjOJkQWO,5:oOOQO,5:o,5:oOJyQ!fO'#ElO(QQWO'#ElOL^QWO7+%|OOQO7+%|7+%|OOQO7+%z7+%zOOQO,5:y,5:yOOQO,5:z,5:zOLqQaO,5:xOOQO,5:x,5:xOOQO<<Gn<<GnO<nQ!fO<<GnOMRQ!fO<<HjOOQO-E8c-E8cOMdQWO1G1UOOQO,5;R,5;ROOQO-E8e-E8eOOQO7+&o7+&oOMqQWO,5;bOOQP1G.t1G.tO(QQWO'#EfOMyQWO,5;cOOQT1G.w1G.wOOQP<<Hj<<HjONRQ!fO,5;SOOQO-E8f-E8fO/OQWO<<HxONgQWO7+%aOOQS1G/}1G/}OOQS7+%j7+%jOOQS7+%f7+%fOOQS7+$v7+$vOOQS7+$x7+$xOOQO,5;U,5;UOOQO-E8h-E8hOOQO1G0Z1G0ZONnQ!fO,5;WOOQO-E8j-E8jOOQO<<Ih<<IhOOQO1G0d1G0dOOQOAN=YAN=YOOQPAN>UAN>UO!!RQWO,5;QOOQO-E8d-E8dO!!]QWOAN>dOOQS<<H{<<H{OOQOG24OG24O",stateData:"!!n~O#dOSROSSOS~OVXOYXO^TO_TOfaOgbOoaOpWOyVO!OUO!aYO!nZO!p[O!r]O!u^O!{_O#hPO#iRO~O#a#eP~P]O^XX^!}X_XXcXXjXXp!}XyXX!OXX!UXX!ZXX![XX!^XX#PXX#aXX#bXX#iXX#oXX#pXX#p!}X#x!}X!]XX~O#hjO~O^oO_oOcmOyqO!OpO!UrO#bsO#ilO#otO#ptO~OjvO![yO!^wO#P{O!Z#TX#a#TX!]#TX~P$WOd!OO#h|O~O#h!PO~O#h!RO~O#h!TO#p!VO#x!VO^!YX^#wX_!YXc!YXj!YXy!YX!O!YX!U!YX!Z!YX![!YX!^!YX#P!YX#a!YX#b!YX#i!YX#o!YX#p!YX!]!YX~Oj!XOn!WO~Og!^Oj!ZOo!^Op!^Ou!`O!i!]O#h!YO~O!^#uP~P'bOf!fOg!fOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO~On!iO{!eO#h!hO~O#h!kO~Op!nO#p!VO#x!VO^#wX~OjvO#p!VO#x!VO^#wX~O^!qO~O!Z!rO#a#eX!]#eX~O#a#eX!]#eX~P]OVXOYXO^TO_TOp!xOyVO!OUO#h!vO#iRO~OcmOjvO![!{O!^wO~Od#OO#h|O~Of!fOg#VOh!fOj!bOl!fOn!fOo!fOp!fOu!gO{!eO#h!aO#m!cO#s#WO~Oa#XO~P+gO!]#eP~P]O![!{O!^wO#P#]O!Z#Ta#a#Ta!]#Ta~OQ#^O^]a_]ac]aj]ay]a!O]a!U]a!Z]a![]a!^]a#P]a#a]a#b]a#i]a#o]a#p]a!]]aa]a~OQ#`O~Ow#aO!S#bO~Op!nO#p#dO#x#dO^#wa~O!Z#uP~P'bOa#tP~P(QOg!^Oj!ZOo!^Op!^Ou!`O!i!]O~O#h#hO~P/^OQ#mOc#pOr#lOy#oO#n#kO!^#uX!Z#uXa#uX~Oj#rO~OP#vOQmXrmXymX!ZmX#nmX^mXamXcmXfmXgmXhmXjmXlmXnmXomXpmXumX{mX#hmX#mmX!^mX#PmX#amXwmX!]mX~OQ#`Or#wOy#yO!Z#zO#n#kO~Oj#{O~O!Z#}O~On$OO{!eO~O!^$PO~OQ#mOr#lOy#oO!^wO#n#kO~O#h!TO^#_Xp#_X#p#_X#x#_X~O!O$WO!^wO#i$XO~P(QO!Z!rO#a#ea!]#ea~O^oO_oOyqO!OpO!UrO#bsO#ilO#otO#ptO~Oc#Waj#Wa![#Wa!^#Waa#Wa~P4dO![$_O!^wO~OQ#^O^]i_]ic]ij]iy]i!O]i!U]i!Z]i![]i!^]i#P]i#a]i#b]i#i]i#o]i#p]i!]]ia]i~Ow$aO!S$bO~O^oO_oOyqO!OpO#ilO~Oc!Tij!Ti!U!Ti!Z!Ti![!Ti!^!Ti#P!Ti#a!Ti#b!Ti#o!Ti#p!Ti!]!Tia!Ti~P7TOc!Vij!Vi!U!Vi!Z!Vi![!Vi!^!Vi#P!Vi#a!Vi#b!Vi#o!Vi#p!Vi!]!Via!Vi~P7TOc!Wij!Wi!U!Wi!Z!Wi![!Wi!^!Wi#P!Wi#a!Wi#b!Wi#o!Wi#p!Wi!]!Wia!Wi~P7TOQ#`O^$eOr#wOy#yO#n#kOa#rXc#rX!Z#rX~P(QO#s$fOQ#lX^#lXa#lXc#lXf#lXg#lXh#lXj#lXl#lXn#lXo#lXp#lXr#lXu#lXy#lX{#lX!Z#lX#h#lX#m#lX#n#lX~Oa$iOc$gO!Z$gO~O!]$jO~OQ#`Or#wOy#yO!^wO#n#kO~Oa#jP~P*bOa#kP~P(QOp!nO#p$pO#x$pO^#wi~O!Z$qO~OQ#`Oc$rOr#wOy#yO#n#kOa#tX~Oa$tO~OQ!bX^!dXa!bXr!bXy!bX#n!bX~O^$uO~OQ#mOa$vOr#lOy#oO#n#kO~Oa#uP~P'bOw$zO~P(QOc#pO!^#ua!Z#uaa#ua~OQ#mOr#lOy#oO#n#kOc!fa!^!fa!Z!faa!fa~OQ#`Oa%OOr#wOy#yO#n#kO~Ow%RO~P(QOn%SO|%SO~OQ#`Or#wOy#yO#n#kO!Zta^taatactaftagtahtajtaltantaotaptauta{ta#hta#mta!^ta#Pta#atawta!]ta~O!Z%TO~O!]%XO!x%VO!y%VO#m%UO~OQ#`Oc%ZOr#wOy#yO#P%]O#n#kO!Z#Oi#a#Oi!]#Oi~P(QO!Z%^OV!|iY!|i^!|i_!|if!|ig!|io!|ip!|iy!|i!O!|i!a!|i!n!|i!p!|i!r!|i!u!|i!{!|i#a!|i#h!|i#i!|i!]!|i~OjvO!Z#QX#a#QX!]#QX~P*bO!Z!rO~OQ#`Or#wOy#yO#n#kOa#XXc#XXf#XXg#XXh#XXj#XXl#XXn#XXo#XXp#XXu#XX{#XX!Z#XX#h#XX#m#XX~Oa#rac#ra!Z#ra~P(QOa%jOc$gO!Z$gO~Oa#jX~P$WOa%lO~Oc%mOa#kX~P(QOa%oO~OQ#`Or#wOw%pOy#yO#n#kO~Oc$rOa#ta~On%sO~Oa%uO~OQ#`Or#wOw%vOy#yO#n#kO~OQ#mOr#lOy#oO#n#kOc#]a!^#]a!Z#]aa#]a~Oa%wO~P4dOQ#`Or#wOw%xOy#yO#n#kO~Oa%yO~OP#vO!^mX~O!]%|O!x%VO!y%VO#m%UO~OQ#`Or#wOy#yO#n#kOc#`Xf#`Xg#`Xh#`Xj#`Xl#`Xn#`Xo#`Xp#`Xu#`X{#`X!Z#`X#P#`X#a#`X#h#`X#m#`X!]#`X~Oc%ZO#P&PO!Z#Oq#a#Oq!]#Oq~P(QOjvO!Z#Qa#a#Qa!]#Qa~P4dOQ#`Or#wOw&SOy#yO#n#kO~Oa#ric#ri!Z#ri~P(QOcmOa#ja~Oc%mOa#ka~OQ#`Or#wOy#yO#n#kOa#[ac#[a~Oa&WO~P(QOQ#`Or#wOy#yO#n#kOc#`af#`ag#`ah#`aj#`al#`an#`ao#`ap#`au#`a{#`a!Z#`a#P#`a#a#`a#h#`a#m#`a!]#`a~Oa#Yac#Ya~P(QO!Z&XO~Of#dpg#m|#iRSRr~",goto:"0^#zPPPPPP#{P$Q$^P$Q$j$QPP$sP$yPP%PPPP%jP%jP&ZPPP%jP'O%jP%jP%jP'jPP$QP(a$Q(jP$QP$Q$Q(p$QPPPP(w#{P)f)f)q)f)f)f)fP)f)t)f#{P#{P#{P){#{P*O*RPP#{P#{*U*aP*f*i*i*a*a*l*s*}+e+k+q+w+},T,_PPPP,e,k,pPP-[-_-bPPPP.u/UP/[/_/k0QP0VVdOhweXOhmrsuw#^#r$YeQOhmrsuw#^#r$YQkRQ!ulR%`$XQ}TR!}oQ#_}R$`!}Q#_!Or#x!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}R$`#O!]!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&T![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TT%V$P%WY#l![!m#j#t${s#w!d#U#[#f#u#|$U$]$c$o$y%Q%Y%d%e%q%}![!f[vy!X!b!g!q!{#U#`#b#o#w#y$U$_$b$d$e$g$m$r$u%Z%[%g%m%t&TQ!i]R$O!jQ!QUQ#PpR%_$WQ!SVR#QqZuS!w$k$}%aQxSS!znzQ#s!_Q$R!mQ$V!qS$^!|#[Q%c$]Q%z%VR&R%dc!^Z_!W!Z!`#l#m#p%sR#i!ZZ#n![!m#j#t${R!j]R!l^R$Q!lU`OhwQ!UWR$S!nVeOhwR$Z!qR$Y!qShOwR!thQnSS!yn%kR%k$kQ$d#UQ$m#`Y%f$d$m%g%t&TQ%g$eQ%t$uR&T%mQ%n$mR&U%nQ$h#YR%i$hQ$s#fR%r$sQ#q![R$|#qQ%W$PR%{%WQ!o`Q#c!UT$T!o#cQ%[$UR&O%[QiOR#ZwVfOhwUSOhwQ!wmQ#RrQ#SsQ#TuQ$k#^Q$}#rR%a$YR$l#^R$n#`Q!d[S#Uv$gQ#[yQ#f!XQ#u!bQ#|!gQ$U!qQ$]!{d$c#U#`$d$e$m$u%g%m%t&TQ$o#bQ$y#oQ%P#wQ%Q#yS%Y$U%[Q%d$_Q%e$bQ%q$rR%}%ZQzSQ!pbQ!|nQ%b$YR&Q%aQ#YvR%h$gR#g!XQ!_ZQ#e!WQ$x#mR&V%sW![Z!W#m%sQ!m_Q#j!ZQ#t!`Q$w#lR${#pVcOhwSgOwR!sh",nodeNames:"\u26A0 Unit ( Comment LineComment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName ) ArgList , PseudoClassName ArgList VariableName AtKeyword PropertyVariable ValueName ( ParenthesizedValue ColorLiteral NumberLiteral StringLiteral Escape Interpolation BinaryExpression BinOp LogicOp UnaryExpression UnaryQueryOp CallExpression ] SubscriptExpression [ CallLiteral CallTag ParenthesizedContent IdSelector # IdName AttributeSelector AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp InterpolatedSelector ; when } { Block ImportStatement import KeywordQuery FeatureQuery FeatureName BinaryQuery UnaryQuery ParenthesizedQuery SelectorQuery selector CallQuery ArgList SubscriptQuery MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList from to SupportsStatement supports DetachedRuleSet PropertyName Declaration Important Inclusion IdSelector ClassSelector Inclusion CallExpression",maxTerm:133,nodeProps:[["isolate",-3,3,4,30,""],["openedBy",17,"(",59,"{"],["closedBy",26,")",60,"}"]],propSources:[lessHighlighting],skippedNodes:[0,3,4],repeatNodeCount:10,tokenData:"!2q~R!ZOX$tX^%l^p$tpq%lqr)Ors-xst/ltu6Zuv$tvw8^wx:Uxy;syz<Uz{<Z{|<t|}BQ}!OBc!O!PDo!P!QFY!Q![Jw![!]Kr!]!^Ln!^!_MP!_!`M{!`!aNl!a!b$t!b!c! m!c!}!&R!}#O!'y#O#P$t#P#Q!([#Q#R!(m#R#T$t#T#o!&R#o#p!)S#p#q!(m#q#r!)e#r#s!)v#s#y$t#y#z%l#z$f$t$f$g%l$g#BY$t#BY#BZ%l#BZ$IS$t$IS$I_%l$I_$I|$t$I|$JO%l$JO$JT$t$JT$JU%l$JU$KV$t$KV$KW%l$KW&FU$t&FU&FV%l&FV;'S$t;'S;=`!2k<%lO$t`$wSOy%Tz;'S%T;'S;=`%f<%lO%T`%YS|`Oy%Tz;'S%T;'S;=`%f<%lO%T`%iP;=`<%l%T~%qh#d~OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%T~'dh#d~|`OX%TX^']^p%Tpq']qy%Tz#y%T#y#z']#z$f%T$f$g']$g#BY%T#BY#BZ']#BZ$IS%T$IS$I_']$I_$I|%T$I|$JO']$JO$JT%T$JT$JU']$JU$KV%T$KV$KW']$KW&FU%T&FU&FV']&FV;'S%T;'S;=`%f<%lO%Tk)RUOy%Tz#]%T#]#^)e#^;'S%T;'S;=`%f<%lO%Tk)jU|`Oy%Tz#a%T#a#b)|#b;'S%T;'S;=`%f<%lO%Tk*RU|`Oy%Tz#d%T#d#e*e#e;'S%T;'S;=`%f<%lO%Tk*jU|`Oy%Tz#c%T#c#d*|#d;'S%T;'S;=`%f<%lO%Tk+RU|`Oy%Tz#f%T#f#g+e#g;'S%T;'S;=`%f<%lO%Tk+jU|`Oy%Tz#h%T#h#i+|#i;'S%T;'S;=`%f<%lO%Tk,RU|`Oy%Tz#T%T#T#U,e#U;'S%T;'S;=`%f<%lO%Tk,jU|`Oy%Tz#b%T#b#c,|#c;'S%T;'S;=`%f<%lO%Tk-RU|`Oy%Tz#h%T#h#i-e#i;'S%T;'S;=`%f<%lO%Tk-lS#PZ|`Oy%Tz;'S%T;'S;=`%f<%lO%T~-{WOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f<%lO-x~.jOn~~.mRO;'S-x;'S;=`.v;=`O-x~.yXOY-xZr-xrs.es#O-x#O#P.j#P;'S-x;'S;=`/f;=`<%l-x<%lO-x~/iP;=`<%l-xo/qY!OROy%Tz!Q%T!Q![0a![!c%T!c!i0a!i#T%T#T#Z0a#Z;'S%T;'S;=`%f<%lO%Tm0fY|`Oy%Tz!Q%T!Q![1U![!c%T!c!i1U!i#T%T#T#Z1U#Z;'S%T;'S;=`%f<%lO%Tm1ZY|`Oy%Tz!Q%T!Q![1y![!c%T!c!i1y!i#T%T#T#Z1y#Z;'S%T;'S;=`%f<%lO%Tm2QYl]|`Oy%Tz!Q%T!Q![2p![!c%T!c!i2p!i#T%T#T#Z2p#Z;'S%T;'S;=`%f<%lO%Tm2wYl]|`Oy%Tz!Q%T!Q![3g![!c%T!c!i3g!i#T%T#T#Z3g#Z;'S%T;'S;=`%f<%lO%Tm3lY|`Oy%Tz!Q%T!Q![4[![!c%T!c!i4[!i#T%T#T#Z4[#Z;'S%T;'S;=`%f<%lO%Tm4cYl]|`Oy%Tz!Q%T!Q![5R![!c%T!c!i5R!i#T%T#T#Z5R#Z;'S%T;'S;=`%f<%lO%Tm5WY|`Oy%Tz!Q%T!Q![5v![!c%T!c!i5v!i#T%T#T#Z5v#Z;'S%T;'S;=`%f<%lO%Tm5}Sl]|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm6^YOy%Tz!_%T!_!`6|!`!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Td7TS!SS|`Oy%Tz;'S%T;'S;=`%f<%lO%Tm7h[h]|`Oy%Tz}%T}!O7a!O!Q%T!Q![7a![!c%T!c!}7a!}#T%T#T#o7a#o;'S%T;'S;=`%f<%lO%Ta8c[YPOy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%Ta9`[YP|`Oy%Tz}%T}!O9X!O!Q%T!Q![9X![!c%T!c!}9X!}#T%T#T#o9X#o;'S%T;'S;=`%f<%lO%T~:XWOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m<%lO:U~:tRO;'S:U;'S;=`:};=`O:U~;QXOY:UZw:Uwx.ex#O:U#O#P:q#P;'S:U;'S;=`;m;=`<%l:U<%lO:U~;pP;=`<%l:Uo;xSj_Oy%Tz;'S%T;'S;=`%f<%lO%T~<ZOa~m<bUVPrWOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%To<{Y#pQrWOy%Tz!O%T!O!P=k!P!Q%T!Q![@p![#R%T#R#SAm#S;'S%T;'S;=`%f<%lO%Tm=pU|`Oy%Tz!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%Tm>ZY#m]|`Oy%Tz!Q%T!Q![>S![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%Tm?OY|`Oy%Tz{%T{|?n|}%T}!O?n!O!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm?sU|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@^U#m]|`Oy%Tz!Q%T!Q![@V![;'S%T;'S;=`%f<%lO%Tm@w[#m]|`Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TbAtS#xQ|`Oy%Tz;'S%T;'S;=`%f<%lO%TkBVScZOy%Tz;'S%T;'S;=`%f<%lO%TmBhXrWOy%Tz}%T}!OCT!O!P=k!P!Q%T!Q![@p![;'S%T;'S;=`%f<%lO%TmCYW|`Oy%Tz!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%TmCy[f]|`Oy%Tz}%T}!OCr!O!Q%T!Q![Cr![!c%T!c!}Cr!}#T%T#T#oCr#o;'S%T;'S;=`%f<%lO%ToDtW#iROy%Tz!O%T!O!PE^!P!Q%T!Q![>S![;'S%T;'S;=`%f<%lO%TlEcU|`Oy%Tz!O%T!O!PEu!P;'S%T;'S;=`%f<%lO%TlE|S#s[|`Oy%Tz;'S%T;'S;=`%f<%lO%T~F_VrWOy%Tz{Ft{!P%T!P!QIl!Q;'S%T;'S;=`%f<%lO%T~FyU|`OyFtyzG]z{Hd{;'SFt;'S;=`If<%lOFt~G`TOzG]z{Go{;'SG];'S;=`H^<%lOG]~GrVOzG]z{Go{!PG]!P!QHX!Q;'SG];'S;=`H^<%lOG]~H^OR~~HaP;=`<%lG]~HiW|`OyFtyzG]z{Hd{!PFt!P!QIR!Q;'SFt;'S;=`If<%lOFt~IYS|`R~Oy%Tz;'S%T;'S;=`%f<%lO%T~IiP;=`<%lFt~IsV|`S~OYIlYZ%TZyIlyzJYz;'SIl;'S;=`Jq<%lOIl~J_SS~OYJYZ;'SJY;'S;=`Jk<%lOJY~JnP;=`<%lJY~JtP;=`<%lIlmJ|[#m]Oy%Tz!O%T!O!P>S!P!Q%T!Q![@p![!g%T!g!h>y!h#X%T#X#Y>y#Y;'S%T;'S;=`%f<%lO%TkKwU^ZOy%Tz![%T![!]LZ!];'S%T;'S;=`%f<%lO%TcLbS_R|`Oy%Tz;'S%T;'S;=`%f<%lO%TkLsS!ZZOy%Tz;'S%T;'S;=`%f<%lO%ThMUUrWOy%Tz!_%T!_!`Mh!`;'S%T;'S;=`%f<%lO%ThMoS|`rWOy%Tz;'S%T;'S;=`%f<%lO%TlNSW!SSrWOy%Tz!^%T!^!_Mh!_!`%T!`!aMh!a;'S%T;'S;=`%f<%lO%TjNsV!UQrWOy%Tz!_%T!_!`Mh!`!a! Y!a;'S%T;'S;=`%f<%lO%Tb! aS!UQ|`Oy%Tz;'S%T;'S;=`%f<%lO%To! rYg]Oy%Tz!b%T!b!c!!b!c!}!#R!}#T%T#T#o!#R#o#p!$O#p;'S%T;'S;=`%f<%lO%Tm!!iWg]|`Oy%Tz!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%Tm!#Y[g]|`Oy%Tz}%T}!O!#R!O!Q%T!Q![!#R![!c%T!c!}!#R!}#T%T#T#o!#R#o;'S%T;'S;=`%f<%lO%To!$TW|`Oy%Tz!c%T!c!}!$m!}#T%T#T#o!$m#o;'S%T;'S;=`%f<%lO%To!$r^|`Oy%Tz}%T}!O!$m!O!Q%T!Q![!$m![!c%T!c!}!$m!}#T%T#T#o!$m#o#q%T#q#r!%n#r;'S%T;'S;=`%f<%lO%To!%uSp_|`Oy%Tz;'S%T;'S;=`%f<%lO%To!&W[#h_Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%To!'T[#h_|`Oy%Tz}%T}!O!&|!O!Q%T!Q![!&|![!c%T!c!}!&|!}#T%T#T#o!&|#o;'S%T;'S;=`%f<%lO%Tk!(OSyZOy%Tz;'S%T;'S;=`%f<%lO%Tm!(aSw]Oy%Tz;'S%T;'S;=`%f<%lO%Td!(pUOy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tk!)XS!^ZOy%Tz;'S%T;'S;=`%f<%lO%Tk!)jS!]ZOy%Tz;'S%T;'S;=`%f<%lO%To!){Y#oQOr%Trs!*ksw%Twx!.wxy%Tz!_%T!_!`6|!`;'S%T;'S;=`%f<%lO%Tm!*pZ|`OY!*kYZ%TZr!*krs!+csy!*kyz!+vz#O!*k#O#P!-j#P;'S!*k;'S;=`!.q<%lO!*km!+jSo]|`Oy%Tz;'S%T;'S;=`%f<%lO%T]!+yWOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d<%lO!+v]!,hOo]]!,kRO;'S!+v;'S;=`!,t;=`O!+v]!,wXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!+v<%lO!+v]!-gP;=`<%l!+vm!-oU|`Oy!*kyz!+vz;'S!*k;'S;=`!.R;=`<%l!+v<%lO!*km!.UXOY!+vZr!+vrs!,cs#O!+v#O#P!,h#P;'S!+v;'S;=`!-d;=`<%l!*k<%lO!+vm!.tP;=`<%l!*km!.|Z|`OY!.wYZ%TZw!.wwx!+cxy!.wyz!/oz#O!.w#O#P!1^#P;'S!.w;'S;=`!2e<%lO!.w]!/rWOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W<%lO!/o]!0_RO;'S!/o;'S;=`!0h;=`O!/o]!0kXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!/o<%lO!/o]!1ZP;=`<%l!/om!1cU|`Oy!.wyz!/oz;'S!.w;'S;=`!1u;=`<%l!/o<%lO!.wm!1xXOY!/oZw!/owx!,cx#O!/o#O#P!0[#P;'S!/o;'S;=`!1W;=`<%l!.w<%lO!/om!2hP;=`<%l!.w`!2nP;=`<%l$t",tokenizers:[descendant,unitToken,argList,0,1,2,3,4],topRules:{StyleSheet:[0,5]},specialized:[{term:116,get:value=>spec_identifier[value]||-1},{term:23,get:value=>spec_AtKeyword[value]||-1}],tokenPrec:2180}),lessLanguage=language.LRLanguage.define({name:"less",parser:parser.configure({props:[language.indentNodeProp.add({Declaration:language.continuedIndent()}),language.foldNodeProp.add({Block:language.foldInside})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"},line:"//"},indentOnInput:/^\s*\}$/,wordChars:"@-"}}),lessCompletionSource=langCss.defineCSSCompletionSource(node=>"VariableName"==node.name||"AtKeyword"==node.name);// This file was generated by lezer-generator. You probably shouldn't edit it.
5
5
  /**
6
6
  A language provider for Less style sheets.
7
- */ /**
7
+ *//**
8
8
  Property, variable, @-variable, and value keyword completion
9
9
  source.
10
10
  */return dist.less=less,dist.lessCompletionSource=lessCompletionSource,dist.lessLanguage=lessLanguage,dist}(),index=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(distExports);return module.exports=index,module.exports}
@@ -8,7 +8,7 @@ if("VariableName"==obj.name||"forloop"==obj.name||"tablerowloop"==obj.name){let
8
8
  cursor between them.
9
9
  */function directiveIndent(except){return context=>{let back=except.test(context.textAfter);return context.lineIndent(context.node.from)+(back?0:context.unit)}}function makeLiquid(base){return tagLanguage.configure({wrap:common.parseMixed(node=>node.type.isTop?{parser:base.parser,overlay:n=>"Text"==n.name||"RawText"==n.name}:null)},"liquid")}/**
10
10
  A language provider for Liquid templates.
11
- */ /**
11
+ *//**
12
12
  Liquid template support.
13
13
  */function liquid(config={}){let base=config.base||baseHTML,lang=base.language==baseHTML.language?liquidLanguage:makeLiquid(base.language);return new language.LanguageSupport(lang,[base.support,lang.data.of({autocomplete:liquidCompletionSource(config)}),base.language.data.of({closeBrackets:{brackets:["{"]}}),closePercentBrace])}if(hasRequiredDist)return dist;hasRequiredDist=1;var language=require$$0,langHtml=require$$1,highlight=require$$2,common=require$$3,lr=require$$4,state=require$$5,view=require$$6;// This file was generated by lezer-generator. You probably shouldn't edit it.
14
14
  const interpolationStart=1,tagStart=2,endTagStart=3,text=180,endrawTagStart=4,rawText=181,endcommentTagStart=5,commentText=182,InlineComment=6,base=new lr.ExternalTokenizer(input=>{let start=input.pos;for(;;){let{next}=input;if(0>next)break;if(123==next/* Ch.BraceL */){let after=input.peek(1);if(123==after/* Ch.BraceL */){if(input.pos>start)break;return void input.acceptToken(interpolationStart,2)}if(37==after/* Ch.Percent */){if(input.pos>start)break;for(let next,scan=2,size=2;;)if(next=input.peek(scan),32==next/* Ch.Space */||10==next/* Ch.Newline */)++scan;else if(35==next/* Ch.Hash */)for(++scan;;){let comment=input.peek(scan);if(0>comment||10==comment/* Ch.Newline */)break;scan++}else if(45==next/* Ch.Dash */&&2==size)size=++scan;else{let end=101==next/* Ch.e */&&110==input.peek(scan+1)/* Ch.n */&&100==input.peek(scan+2)/* Ch.d */;return void input.acceptToken(end?endTagStart:tagStart,size)}}}if(input.advance(),10==next/* Ch.Newline */)break}input.pos>start&&input.acceptToken(text)}),comment=rawTokenizer("endcomment",182,5),raw=rawTokenizer("endraw",181,4),inlineComment=new lr.ExternalTokenizer(input=>{if(35==input.next/* Ch.Hash */){for(input.advance();;){if(10==input.next/* Ch.Newline */||0>input.next)break;if((37==input.next/* Ch.Percent */||125==input.next/* Ch.BraceR */)&&125==input.peek(1)/* Ch.BraceR */)break;input.advance()}input.acceptToken(InlineComment)}}),spec_identifier={__proto__:null,contains:34,or:38,and:38,true:52,false:52,empty:54,forloop:57,tablerowloop:59,continue:61,in:131,with:197,for:199,as:201,if:237,endif:241,unless:247,endunless:251,elsif:255,else:259,case:265,endcase:269,when:273,endfor:281,tablerow:287,endtablerow:291,break:295,cycle:301,echo:305,render:309,include:313,assign:317,capture:323,endcapture:327,increment:331,decrement:335},spec_TagName={__proto__:null,if:86,endif:90,elsif:94,else:98,unless:104,endunless:108,case:114,endcase:118,when:122,for:128,endfor:138,tablerow:144,endtablerow:148,break:152,continue:156,cycle:160,comment:166,endcomment:172,raw:178,endraw:184,echo:188,render:192,include:204,assign:208,capture:214,endcapture:218,increment:222,decrement:226,liquid:230},parser=lr.LRParser.deserialize({version:14,states:"KtQYOPOOOOOP'#F{'#F{OeOaO'#CdOsQhO'#CfO!bQxO'#DSO#{OPO'#DVO$ZOPO'#D`O$iOPO'#DeO$wOPO'#DlO%VOPO'#DtO%eOSO'#EPO%jOQO'#EVO%oOPO'#EiOOOP'#Ge'#GeOOOP'#G]'#G]OOOP'#Fz'#FzQYOPOOOOOP-E9y-E9yOOQW'#Cg'#CgO&cQ!jO,59QO&jQ!jO'#G^OsQhO'#CtOOQW'#Gb'#GbOOQW'#Gc'#GcOOQW'#Gd'#GdOOQW'#G^'#G^OOOP,59n,59nO)YQhO,59nOsQhO,59rOsQhO,59vO)dQhO,59xOsQhO,59{OsQhO,5:QOsQhO,5:UO!]QhO,5:XO!]QhO,5:aO)iQhO,5:eO)nQhO,5:gO)sQhO,5:iO)xQhO,5:lO)}QhO,5:rOsQhO,5:wOsQhO,5:yOsQhO,5;POsQhO,5;ROsQhO,5;UOsQhO,5;YOsQhO,5;[O+^QhO,5;^O+eOPO'#CdOOOP,59q,59qO#{OPO,59qO+sQxO'#DYOOOP,59z,59zO$ZOPO,59zO+xQxO'#DcOOOP,5:P,5:PO$iOPO,5:PO+}QxO'#DhOOOP,5:W,5:WO$wOPO,5:WO,SQxO'#DrOOOP,5:`,5:`O%VOPO,5:`O,XQxO'#DwOOOS'#GQ'#GQO,^OSO'#ESO,fOSO,5:kOOOQ'#GR'#GRO,kOQO'#EYO,sOQO,5:qOOOP,5;T,5;TO%oOPO,5;TO,xQxO'#ElOOOP-E9x-E9xO,}Q#|O,59SOsQhO,59VOsQhO,59WOsQhO,59WO-SQhO'#C}OOQW'#F|'#F|O-XQhO1G.lOOOP1G.l1G.lOsQhO,59WOsQhO,59[O-rQ!jO,59`O-yQ!jO1G/YO.QQhO1G/YOOOP1G/Y1G/YO.YQ!jO1G/^O.aQ!jO1G/bOOOP1G/d1G/dO.hQ!jO1G/gO.oQ!jO1G/lO.vQ!jO1G/pO/QQhO1G/sO/QQhO1G/{OOOP1G0P1G0POOOP1G0R1G0RO/VQhO1G0TOOOS1G0W1G0WOOOQ1G0^1G0^O/bQ!jO1G0cO/iQ!jO1G0eO/yQ!jO1G0kO0QQ!jO1G0mO0XQ!jO1G0pO0`Q!jO1G0tO0gQ!jO1G0vOOQW'#Gh'#GhOOQW'#Gk'#GkOsQhO'#EuO0nQhO'#EtOOQW'#Gm'#GmOsQhO'#EzO0uQhO'#EyOOQW'#Go'#GoOsQhO'#FOOOQW'#Gp'#GpOOQW'#FQ'#FQOOQW'#Gq'#GqOsQhO'#FTO0|QhO'#FSOOQW'#Gs'#GsOsQhO'#FXO!]QhO'#F[O1TQhO'#FZOOQW'#Gu'#GuO!]QhO'#F`O1[QhO'#F_OOQW'#Gw'#GwOOQW'#Fd'#FdOOQW'#Ff'#FfOOQW'#Gx'#GxO1cQhO'#FgOOQW'#Gy'#GyOsQhO'#FiOOQW'#Gz'#GzOsQhO'#FkOOQW'#G{'#G{OsQhO'#FmOOQW'#G|'#G|OsQhO'#FoOOQW'#G}'#G}OsQhO'#FrO1hQhO'#FqOOQW'#HP'#HPOsQhO'#FvOOQW'#HQ'#HQOsQhO'#FxOOQW'#Gj'#GjOOQW'#GT'#GTO1oQhO1G0xOOOP1G0x1G0xOOOP1G/]1G/]O1vQhO,59tOOOP1G/f1G/fO1{QhO,59}OOOP1G/k1G/kO2QQhO,5:SOOOP1G/r1G/rO2VQhO,5:^OOOP1G/z1G/zO2[QhO,5:cOOOS-E:O-E:OOOOP1G0V1G0VO2aQxO'#ETOOOQ-E:P-E:POOOP1G0]1G0]O2fQxO'#EZOOOP1G0o1G0oO2kQhO,5;WOOQW1G.n1G.nO2pQ!jO1G.qO5aQ!jO1G.rO5hQ!jO1G.rOOQW'#DP'#DPO7vQhO,59iOOQW-E9z-E9zOOOP7+$W7+$WO9pQ!jO1G.rO9wQ!jO1G.vOsQhO1G.zO<VQhO7+$tOOOP7+$t7+$tOOOP7+$x7+$xOOOP7+$|7+$|OOOP7+%R7+%ROOOP7+%W7+%WOsQhO'#F}O<_QhO7+%[OOOP7+%[7+%[OOQW'#Gf'#GfOsQhO7+%_OsQhO7+%gO<gQhO'#GPO<lQhO7+%oOOOP7+%o7+%oO<tQhO7+%oO<yQhO7+%}OOOP7+%}7+%}OOQW'#Gg'#GgO!]QhO'#EaOsQhO'#EaOOQW'#GS'#GSO=RQhO7+&POOOP7+&P7+&POOOP7+&V7+&VO=aQhO7+&XOOOP7+&X7+&XOOOP7+&[7+&[OOOP7+&`7+&`OOOP7+&b7+&bO=iQ!jO,5;aOOQW'#Gl'#GlOOQW'#Ew'#EwOOQW,5;`,5;`O0nQhO,5;`O>xQ!jO,5;fOOQW'#Gn'#GnOOQW'#E|'#E|OOQW,5;e,5;eO0uQhO,5;eO@XQ!jO,5;jOAzQ!jO,5;oOOQW'#Gr'#GrOOQW'#FV'#FVOOQW,5;n,5;nO0|QhO,5;nOCZQ!jO,5;sO/QQhO,5;vOOQW'#Gt'#GtOOQW'#F]'#F]OOQW,5;u,5;uO1TQhO,5;uO/QQhO,5;zOOQW'#Gv'#GvOOQW'#Fb'#FbOOQW,5;y,5;yO1[QhO,5;yOEPQhO,5<ROFvQ!jO,5<TOHiQ!jO,5<VOJbQ!jO,5<XOLTQ!jO,5<ZOMvQ!jO,5<^OOQW'#HO'#HOOOQW'#Ft'#FtOOQW,5<],5<]O1hQhO,5<]O! VQ!jO,5<bO!!xQ!jO,5<dOOQW-E:R-E:ROOOP7+&d7+&dOOOP1G/`1G/`OOOP1G/i1G/iOOOP1G/n1G/nOOOP1G/x1G/xOOOP1G/}1G/}O!$kQhO,5:oO!$pQhO,5:uOOOP1G0r1G0rOOQW7+$]7+$]OsQhO1G/TO!$uQ!jO7+$fOOOP<<H`<<H`O!$|Q!jO,5<iOOQW-E9{-E9{OOOP<<Hv<<HvO!&xQ!jO<<HyO!'SQ!jO<<IROOQW,5<k,5<kOOQW-E9}-E9}OOOP<<IZ<<IZO!'^QhO<<IZOOOP<<Ii<<IiO!'fQhO,5:{O!'kQ!jO,5:{OOQW-E:Q-E:QOOOP<<Ik<<IkOOOP<<Is<<IsOOQW1G0z1G0zOOQW1G1P1G1POOQW1G1Y1G1YO!)gQhO1G1_OsQhO1G1bOOQW1G1a1G1aOsQhO1G1fOOQW1G1e1G1eO!+ZQhO1G1mO!,}QhO1G1mO!-SQhO1G1oOOQW'#GU'#GUO!.vQhO1G1qO!0mQhO1G1uOOQW1G1w1G1wOOOP1G0Z1G0ZOOOP1G0a1G0aO!2aQ!jO7+$oOOQW<<HQ<<HQOOQW'#Dq'#DqO!4]QhO'#DpOOQW'#GO'#GOO!5vQhOAN>eOOOPAN>eAN>eO!6OQhOAN>mOOOPAN>mAN>mO!6WQhOAN>uOOOPAN>uAN>uOsQhO1G0gOOQW'#Gi'#GiO!]QhO1G0gO!6`Q!jO7+&|O!7rQ!jO7+'QO!9UQhO7+'XOOQW-E:S-E:SO!:xQhO<<HZOsQhO,5:[OOQW-E9|-E9|OOOPG24PG24POOOPG24XG24XOOOPG24aG24aO!<rQ!jO7+&ROOQW7+&R7+&RO!>kQhO<<JhO!?{QhO<<JlO!A]QhO<<JsO!CPQ!jO1G/v",stateData:"!Di~O%OOSUOS~OPROQSO$zPO~O$zPOPWXQWX$yWX~OgeOjiOkiOlfOmgOnhOoiOpiO%RbO~OwkOxjO{lO!PmO!RnO!UoO!ZpO!_qO!brO!jsO!ntO!puO!rvO!uwO!{xO#QyO#SzO#Y{O#[|O#_}O#c!OO#e!PO#g!QO~OPROQSOR!UO$zPO~OPROQSOR!XO$zPO~OPROQSOR![O$zPO~OPROQSOR!_O$zPO~OPROQSOR!bO$zPO~O$|!cO~O${!fO~OPROQSOR!kO$zPO~O]!mOa!uOb!oOc!pOr!qO%T!nO~OX!tO~P%}Oe!vOX%QX]%QXa%QXb%QXc%QXr%QX%T%QXi%QXx%QXu%QX#U%QX#V%QX%S%QXn%QX#j%QX#l%QX#o%QX#s%QX#u%QX#x%QX#|%QX$T%QX$X%QX$[%QX$^%QX$`%QX$b%QX$d%QX$g%QX$k%QX$m%QX#q%QX#z%QX$i%QXf%QX%R%QX#W%QX$Q%QX$V%QX~Or!qOx!zO~PsOx!}O~Ox#TO~Ox#UO~Oo#VO~Ox#WO~Ox#XO~OnhO#V#aO#j#bO#o#eO#s#hO#u#jO#x#lO#|#oO$T#sO$X#vO$[#yO$^#{O$`#}O$b$PO$d$RO$g$TO$k$WO$m$YO~Ox$_O~P*SO$zPOPWXQWXRWX~O}$aO~O!W$cO~O!]$eO~O!g$gO~O!l$iO~O$|!cOT!vX~OT$lO~O${!fOS!|X~OS$oO~O#a$qO~O^$rO~O%R$vO~OX$yOr!qO~O]!mOa!uOb!oOc!pO%T!nO~Oi$|O~P-aOx%OO~P%}Or!qOx%OO~Ox%PO~P-aOx%QO~P-aOx%RO~P-aOx%SO~P-aOu%TOx%VO~P-aO!c%WO~Ot%^Ou%ZOx%]O~Ox%`O~P%}Ou%bOx%fO#U%aO#V#aO~P-aOx%gO~P-aOx%iO~P%}Ox%jO~P-aOx%kO~P-aOx%lO~P-aO#l%nO~P*SO#q%sO~P*SO#z%yO~P*SO$Q&PO~P*SO$V&UO~P*SOo&YO~O$i&`O~P*SOx&gO~P*SOx&hO~Ox&iO~Ox&jO~Ox&kO~Ox&lO~O!x&mO~O#O&nO~Ox&oO~O%S&pO~P-aO]!mO%T!nOX`ia`ic`ir`ii`ix`iu`i#U`i#V`i%S`in`i#j`i#l`i#o`i#s`i#u`i#x`i#|`i$T`i$X`i$[`i$^`i$``i$b`i$d`i$g`i$k`i$m`i#q`i#z`i$i`if`i%R`i#W`i$Q`i$V`i~Ob`i~P2wOX`ir`ii`ix`iu`i#U`i#V`i%S`in`i#j`i#l`i#o`i#s`i#u`i#x`i#|`i$T`i$X`i$[`i$^`i$``i$b`i$d`i$g`i$k`i$m`i#q`i#z`i$i`if`i%R`i#W`i$Q`i$V`i~P-aOt&qOXqarqaxqanqa#Vqa#jqa#oqa#sqa#uqa#xqa#|qa$Tqa$Xqa$[qa$^qa$`qa$bqa$dqa$gqa$kqa$mqa#lqa#qqa#zqa$Qqa$Vqa$iqa~Ob!oO~P2wOXdirdiidixdiudi#Udi#Vdi%Sdindi#jdi#ldi#odi#sdi#udi#xdi#|di$Tdi$Xdi$[di$^di$`di$bdi$ddi$gdi$kdi$mdi#qdi#zdi$idifdi%Rdi#Wdi$Qdi$Vdi~P-aOr!qOx&sO~Ou%TOx&vO~Oo&yO~Ou%ZOx&{O~Oo&|O~Or!qOx&}O~Ou%bOx'RO#U%aO#V#aO~Or!qOx'SO~On#ia#V#ia#j#ia#l#ia#o#ia#s#ia#u#ia#x#ia#|#ia$T#ia$X#ia$[#ia$^#ia$`#ia$b#ia$d#ia$g#ia$k#ia$m#ia~P-aOn#na#V#na#j#na#o#na#q#na#s#na#u#na#x#na#|#na$T#na$X#na$[#na$^#na$`#na$b#na$d#na$g#na$k#na$m#na~P-aOn#rax#ra#V#ra#j#ra#o#ra#s#ra#u#ra#x#ra#|#ra$T#ra$X#ra$[#ra$^#ra$`#ra$b#ra$d#ra$g#ra$k#ra$m#ra#l#ra#q#ra#z#ra$Q#ra$V#ra$i#ra~P-aOn#wa#V#wa#j#wa#o#wa#s#wa#u#wa#x#wa#z#wa#|#wa$T#wa$X#wa$[#wa$^#wa$`#wa$b#wa$d#wa$g#wa$k#wa$m#wa~P-aOu%TOn#{ax#{a#V#{a#j#{a#o#{a#s#{a#u#{a#x#{a#|#{a$T#{a$X#{a$[#{a$^#{a$`#{a$b#{a$d#{a$g#{a$k#{a$m#{a#l#{a#q#{a#z#{a$Q#{a$V#{a$i#{a~P-aOt'^Ou%ZOn$Zax$Za#V$Za#j$Za#o$Za#s$Za#u$Za#x$Za#|$Za$T$Za$X$Za$[$Za$^$Za$`$Za$b$Za$d$Za$g$Za$k$Za$m$Za#l$Za#q$Za#z$Za$Q$Za$V$Za$i$Za~On$]ax$]a#V$]a#j$]a#o$]a#s$]a#u$]a#x$]a#|$]a$T$]a$X$]a$[$]a$^$]a$`$]a$b$]a$d$]a$g$]a$k$]a$m$]a#l$]a#q$]a#z$]a$Q$]a$V$]a$i$]a~P%}Ou%bO#U%aO#V#aOn$_ax$_a#j$_a#o$_a#s$_a#u$_a#x$_a#|$_a$T$_a$X$_a$[$_a$^$_a$`$_a$b$_a$d$_a$g$_a$k$_a$m$_a#l$_a#q$_a#z$_a$Q$_a$V$_a$i$_a~P-aOn$aax$aa#V$aa#j$aa#o$aa#s$aa#u$aa#x$aa#|$aa$T$aa$X$aa$[$aa$^$aa$`$aa$b$aa$d$aa$g$aa$k$aa$m$aa#l$aa#q$aa#z$aa$Q$aa$V$aa$i$aa~P-aOn$cax$ca#V$ca#j$ca#o$ca#s$ca#u$ca#x$ca#|$ca$T$ca$X$ca$[$ca$^$ca$`$ca$b$ca$d$ca$g$ca$k$ca$m$ca#l$ca#q$ca#z$ca$Q$ca$V$ca$i$ca~P%}On$fa#V$fa#j$fa#o$fa#s$fa#u$fa#x$fa#|$fa$T$fa$X$fa$[$fa$^$fa$`$fa$b$fa$d$fa$g$fa$i$fa$k$fa$m$fa~P-aOn$jax$ja#V$ja#j$ja#o$ja#s$ja#u$ja#x$ja#|$ja$T$ja$X$ja$[$ja$^$ja$`$ja$b$ja$d$ja$g$ja$k$ja$m$ja#l$ja#q$ja#z$ja$Q$ja$V$ja$i$ja~P-aOn$lax$la#V$la#j$la#o$la#s$la#u$la#x$la#|$la$T$la$X$la$[$la$^$la$`$la$b$la$d$la$g$la$k$la$m$la#l$la#q$la#z$la$Q$la$V$la$i$la~P-aOx'dO~Ox'eO~Of'gO~P-aOu$qax$qan$qa#V$qa#j$qa#o$qa#s$qa#u$qa#x$qa#|$qa$T$qa$X$qa$[$qa$^$qa$`$qa$b$qa$d$qa$g$qa$k$qa$m$qa#l$qa#q$qa#z$qa$Q$qa$V$qa$i$qaX$qar$qa~P-aOx'lO%R'hO~P-aOx'nO%R'hO~P-aOu%ZOx'pO~Ot'qO~O#W'rOu#Tax#Ta#U#Ta#V#Tan#Ta#j#Ta#o#Ta#s#Ta#u#Ta#x#Ta#|#Ta$T#Ta$X#Ta$[#Ta$^#Ta$`#Ta$b#Ta$d#Ta$g#Ta$k#Ta$m#Ta#l#Ta#q#Ta#z#Ta$Q#Ta$V#Ta$i#Ta~P-aOu%TOn#{ix#{i#V#{i#j#{i#o#{i#s#{i#u#{i#x#{i#|#{i$T#{i$X#{i$[#{i$^#{i$`#{i$b#{i$d#{i$g#{i$k#{i$m#{i#l#{i#q#{i#z#{i$Q#{i$V#{i$i#{i~Ou%ZOn$Zix$Zi#V$Zi#j$Zi#o$Zi#s$Zi#u$Zi#x$Zi#|$Zi$T$Zi$X$Zi$[$Zi$^$Zi$`$Zi$b$Zi$d$Zi$g$Zi$k$Zi$m$Zi#l$Zi#q$Zi#z$Zi$Q$Zi$V$Zi$i$Zi~Oo'vO~Or!qOn$]ix$]i#V$]i#j$]i#o$]i#s$]i#u$]i#x$]i#|$]i$T$]i$X$]i$[$]i$^$]i$`$]i$b$]i$d$]i$g$]i$k$]i$m$]i#l$]i#q$]i#z$]i$Q$]i$V$]i$i$]i~Ou%bO#U%aO#V#aOn$_ix$_i#j$_i#o$_i#s$_i#u$_i#x$_i#|$_i$T$_i$X$_i$[$_i$^$_i$`$_i$b$_i$d$_i$g$_i$k$_i$m$_i#l$_i#q$_i#z$_i$Q$_i$V$_i$i$_i~Or!qOn$cix$ci#V$ci#j$ci#o$ci#s$ci#u$ci#x$ci#|$ci$T$ci$X$ci$[$ci$^$ci$`$ci$b$ci$d$ci$g$ci$k$ci$m$ci#l$ci#q$ci#z$ci$Q$ci$V$ci$i$ci~Ou%TOXqqrqqxqqnqq#Vqq#jqq#oqq#sqq#uqq#xqq#|qq$Tqq$Xqq$[qq$^qq$`qq$bqq$dqq$gqq$kqq$mqq#lqq#qqq#zqq$Qqq$Vqq$iqq~P-aOt'yOx!dX%R!dXn!dX#V!dX#j!dX#o!dX#s!dX#u!dX#x!dX#|!dX$Q!dX$T!dX$X!dX$[!dX$^!dX$`!dX$b!dX$d!dX$g!dX$k!dX$m!dX$V!dX~Ox'{O%R'hO~Ox'|O%R'hO~Ou%ZOx'}O~O%R'hOn$Oq#V$Oq#j$Oq#o$Oq#s$Oq#u$Oq#x$Oq#|$Oq$Q$Oq$T$Oq$X$Oq$[$Oq$^$Oq$`$Oq$b$Oq$d$Oq$g$Oq$k$Oq$m$Oq~P-aO%R'hOn$Sq#V$Sq#j$Sq#o$Sq#s$Sq#u$Sq#x$Sq#|$Sq$T$Sq$V$Sq$X$Sq$[$Sq$^$Sq$`$Sq$b$Sq$d$Sq$g$Sq$k$Sq$m$Sq~P-aOu%ZOn$Zqx$Zq#V$Zq#j$Zq#o$Zq#s$Zq#u$Zq#x$Zq#|$Zq$T$Zq$X$Zq$[$Zq$^$Zq$`$Zq$b$Zq$d$Zq$g$Zq$k$Zq$m$Zq#l$Zq#q$Zq#z$Zq$Q$Zq$V$Zq$i$Zq~Ou%TOXqyrqyxqynqy#Vqy#jqy#oqy#sqy#uqy#xqy#|qy$Tqy$Xqy$[qy$^qy$`qy$bqy$dqy$gqy$kqy$mqy#lqy#qqy#zqy$Qqy$Vqy$iqy~Ou#Tqx#Tq#U#Tq#V#Tqn#Tq#j#Tq#o#Tq#s#Tq#u#Tq#x#Tq#|#Tq$T#Tq$X#Tq$[#Tq$^#Tq$`#Tq$b#Tq$d#Tq$g#Tq$k#Tq$m#Tq#l#Tq#q#Tq#z#Tq$Q#Tq$V#Tq$i#Tq~P-aO%R'hOn$Oy#V$Oy#j$Oy#o$Oy#s$Oy#u$Oy#x$Oy#|$Oy$Q$Oy$T$Oy$X$Oy$[$Oy$^$Oy$`$Oy$b$Oy$d$Oy$g$Oy$k$Oy$m$Oy~O%R'hOn$Sy#V$Sy#j$Sy#o$Sy#s$Sy#u$Sy#x$Sy#|$Sy$T$Sy$V$Sy$X$Sy$[$Sy$^$Sy$`$Sy$b$Sy$d$Sy$g$Sy$k$Sy$m$Sy~Ou%ZOn$Zyx$Zy#V$Zy#j$Zy#o$Zy#s$Zy#u$Zy#x$Zy#|$Zy$T$Zy$X$Zy$[$Zy$^$Zy$`$Zy$b$Zy$d$Zy$g$Zy$k$Zy$m$Zy#l$Zy#q$Zy#z$Zy$Q$Zy$V$Zy$i$Zy~Ox!di%R!din!di#V!di#j!di#o!di#s!di#u!di#x!di#|!di$Q!di$T!di$X!di$[!di$^!di$`!di$b!di$d!di$g!di$k!di$m!di$V!di~P-aO",goto:"@p%uPPPPPPPP%vP%v&W'hPP'h'hPPP'hPPP'hPPPPPPPP(fP(vPP(yPP(y)ZP)kP(yP(yP(y)qP*RP(y*XP*iP(yP(y*oPP+P+Z+eP(y+kP+{P(yP(yP(yP(y,RP,c,fP(y,iP,y,|P(yP(yP-PPPP(yP(yP(y-XP-iP(yP(yP(yP-o.PP.aP-o.gP.wP-oP-oP-o.}P/_P-oP-o/e/uP-o/{P0]P-oP-o-oP-oP-oP-oP-oP-o0cP0sP-oP-oP0y1i2P2o2}3a3s3y4P4V4uPPPPPP4{5]PPP'h'h8P%v9_9k9q:X:[:l:|;Q;b;f;v<W<h<l<|=Q=b=f=v>W>h>x?Y?j?z@O@`m^OTUVWX[`!T!W!Z!^!a!j!vdReklmopqyz{|}!O!P!n!o!p!u!v#c#f#i#m#p#|$O$Q$S$U$X$Z$|%T%X%Y%c&q'X'Z'q'yQ#RrQ#SsQ&O#qQ&T#tQ'O%bR(P's!wiReklmopqyz{|}!O!P!n!o!p!u!v#c#f#i#m#p#|$O$Q$S$U$X$Z$|%T%X%Y%c&q'X'Z'q'ym!rck!s!x!y#Y#]$}%_%h&Z&^'_'bR$w!qm]OTUVWX[`!T!W!Z!^!a!jmTOTUVWX[`!T!W!Z!^!a!jQ!STR$`!TmUOTUVWX[`!T!W!Z!^!a!jQ!VUR$b!WmVOTUVWX[`!T!W!Z!^!a!jQ!YVR$d!ZmWOTUVWX[`!T!W!Z!^!a!ja'j&w&x'k'm't'u(Q(Ra'i&w&x'k'm't'u(Q(RQ!]WR$f!^mXOTUVWX[`!T!W!Z!^!a!jQ!`XR$h!amYOTUVWX[`!T!W!Z!^!a!jR!eYR$k!emZOTUVWX[`!T!W!Z!^!a!jR!hZR$n!hS%d#Z%eT'`&['am[OTUVWX[`!T!W!Z!^!a!jQ!i[R$p!jm$[!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#d!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ%p#dR'T%qm#g!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ%u#gR'U%vm#n!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ%{#nR'V%|m#r!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ&R#rR'Y&Sm#u!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ&W#uR'[&Xm$V!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ&b$VR'c&cQ`OQ!TTQ!WUQ!ZVQ!^WQ!aXQ!j[_!l`!T!W!Z!^!a!jSQO`SaQ!Ri!RTUVWX[!T!W!Z!^!a!jQ!scQ!yk^$x!s!y$}%_%h'_'bQ$}!xQ%_#YQ%h#]Q'_&ZR'b&^Q%U#QU&u%U'W'xQ'W%}R'x'fQ'k&wQ'm&xW'z'k'm(Q(RQ(Q'tR(R'uQ%[#VW&z%[']'o(SQ']&YQ'o&|R(S'vQ!dYR$j!dQ!gZR$m!gQ%e#ZR'Q%eQ$^!QQ%q#dQ%v#gQ%|#nQ&S#rQ&X#uQ&c$V_&f$^%q%v%|&S&X&cQ'a&[R'w'am_OTUVWX[`!T!W!Z!^!a!jQcRQ!weQ!xkQ!{lQ!|mQ#OoQ#PpQ#QqQ#YyQ#ZzQ#[{Q#]|Q#^}Q#_!OQ#`!PQ$s!nQ$t!oQ$u!pQ$z!uQ${!vQ%m#cQ%r#fQ%w#iQ%x#mQ%}#pQ&Z#|Q&[$OQ&]$QQ&^$SQ&_$UQ&d$XQ&e$ZQ&r$|Q&t%TQ&w%XQ&x%YQ'P%cQ'f&qQ't'XQ'u'ZQ(O'qR(T'y!viReklmopqyz{|}!O!P!n!o!p!u!v#c#f#i#m#p#|$O$Q$S$U$X$Z$|%T%X%Y%c&q'X'Z'q'ym#x!Q#d#g#n#r#u$V$^%q%v%|&S&X&cQ%X#RQ%Y#SQ'X&OR'Z&TX%c#Z%e&['al#q!Q#d#g#n#r#u$V$^%q%v%|&S&X&cX%c#Z%e&['aR's'Pm$]!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#c!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT%o#d%qm#f!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT%t#g%vm#i!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#k!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#m!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT%z#n%|m#p!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT&Q#r&Sm#t!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT&V#u&Xm#w!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#z!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm#|!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm$O!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm$Q!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm$S!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm$U!Q#d#g#n#r#u$V$^%q%v%|&S&X&cT&a$V&cm$X!Q#d#g#n#r#u$V$^%q%v%|&S&X&cm$Z!Q#d#g#n#r#u$V$^%q%v%|&S&X&c",nodeNames:"\u26A0 {{ {% {% {% {% InlineComment Template Text }} Interpolation VariableName MemberExpression . PropertyName SubscriptExpression BinaryExpression contains CompareOp LogicOp AssignmentExpression AssignOp ) ( RangeExpression .. BooleanLiteral empty forloop tablerowloop continue StringLiteral NumberLiteral Filter | FilterName : , Tag TagName %} IfDirective Tag if EndTag endif Tag elsif Tag else UnlessDirective Tag unless EndTag endunless CaseDirective Tag case EndTag endcase Tag when ForDirective Tag for in Parameter ParameterName EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag continue Tag cycle Comment Tag comment CommentText EndTag endcomment RawDirective Tag raw RawText EndTag endraw Tag echo Tag render RenderParameter with for as Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement Tag liquid IfDirective Tag if EndTag endif UnlessDirective Tag unless EndTag endunless Tag elsif Tag else CaseDirective Tag case EndTag endcase Tag when ForDirective Tag EndTag endfor TableDirective Tag tablerow EndTag endtablerow Tag break Tag Tag cycle Tag echo Tag render Tag include Tag assign CaptureDirective Tag capture EndTag endcapture Tag increment Tag decrement",maxTerm:220,nodeProps:[["closedBy",1,"}}",-4,2,3,4,5,"%}",23,")"],["openedBy",9,"{{",22,"(",40,"{%"],["group",-13,11,12,15,16,20,24,26,27,28,29,30,31,32,"Expression"]],skippedNodes:[0,6],repeatNodeCount:11,tokenData:")e~RmXY!|YZ!|]^!|pq!|qr#_rs#juv$[wx$gxy%Syz%X{|%^|}&x}!O&}!O!P'Z!Q![&g![!]'k!^!_'p!_!`'x!`!a'p!c!}(Q!}#O(y#P#Q)O#R#S(Q#T#o(Q#p#q)T#q#r)Y%W;'S(Q;'S;:j(s<%lO(Q~#RS%O~XY!|YZ!|]^!|pq!|~#bP!_!`#e~#jOb~~#mUOY#jZr#jrs$Ps;'S#j;'S;=`$U<%lO#j~$UOo~~$XP;=`<%l#j~$_P#q#r$b~$gOx~~$jUOY$gZw$gwx$Px;'S$g;'S;=`$|<%lO$g~%PP;=`<%l$g~%XOg~~%^Of~P%aQ!O!P%g!Q![&gP%jP!Q![%mP%rRpP!Q![%m!g!h%{#X#Y%{P&OR{|&X}!O&X!Q![&_P&[P!Q![&_P&dPpP!Q![&_P&lSpP!O!P%g!Q![&g!g!h%{#X#Y%{~&}Ou~~'QRuv$[!O!P%g!Q![&g~'`Q]S!O!P'f!Q![%m~'kOi~~'pOt~~'uPb~!_!`#e~'}Pe~!_!`#e_(ZW^WwQ%RT}!O(Q!Q![(Q!c!}(Q#R#S(Q#T#o(Q%W;'S(Q;'S;:j(s<%lO(Q_(vP;=`<%l(Q~)OO%T~~)TO%S~~)YOr~~)]P#q#r)`~)eOX~",tokenizers:[base,raw,comment,inlineComment,0,1,2,3],topRules:{Template:[0,7]},dynamicPrecedences:{190:1,191:1,192:1,194:1,195:1,196:1,197:1,199:1,200:1,201:1,202:1,203:1,204:1,205:1,206:1,207:1,208:1,209:1,210:1,211:1,212:1,213:1,214:1,215:1,216:1,217:1,218:1,219:1,220:1},specialized:[{term:187,get:value=>spec_identifier[value]||-1},{term:39,get:value=>spec_TagName[value]||-1}],tokenPrec:0}),Filters=completions("abs append at_least at_most capitalize ceil compact concat date default divided_by downcase escape escape_once first floor join last lstrip map minus modulo newline_to_br plus prepend remove remove_first replace replace_first reverse round rstrip size slice sort sort_natural split strip strip_html strip_newlines sum times truncate truncatewords uniq upcase url_decode url_encode where","function"),Tags=completions("cycle comment endcomment raw endraw echo increment decrement liquid if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue assign capture endcapture render include","keyword"),Expressions=completions("empty forloop tablerowloop in with as","keyword"),forloop=completions("first index index0 last length rindex","property"),tablerowloop=completions("col col0 col_first col_last first index index0 last length rindex rindex0 row","property"),closePercentBrace=view.EditorView.inputHandler.of((view,from,to,text)=>"%"==text&&from==to&&"{}"==view.state.doc.sliceString(from-1,to+1)&&(view.dispatch(view.state.changeByRange(range=>({changes:{from:range.from,to:range.to,insert:"%%"},range:state.EditorSelection.cursor(range.from+1)})),{scrollIntoView:!0,userEvent:"input.type"}),!0)),tagLanguage=language.LRLanguage.define({name:"liquid",parser:parser.configure({props:[highlight.styleTags({"cycle comment endcomment raw endraw echo increment decrement liquid in with as":highlight.tags.keyword,"empty forloop tablerowloop":highlight.tags.atom,"if elsif else endif unless endunless case endcase for endfor tablerow endtablerow break continue":highlight.tags.controlKeyword,"assign capture endcapture":highlight.tags.definitionKeyword,contains:highlight.tags.operatorKeyword,"render include":highlight.tags.moduleKeyword,VariableName:highlight.tags.variableName,TagName:highlight.tags.tagName,FilterName:highlight.tags.function(highlight.tags.variableName),PropertyName:highlight.tags.propertyName,CompareOp:highlight.tags.compareOperator,AssignOp:highlight.tags.definitionOperator,LogicOp:highlight.tags.logicOperator,NumberLiteral:highlight.tags.number,StringLiteral:highlight.tags.string,BooleanLiteral:highlight.tags.bool,InlineComment:highlight.tags.lineComment,CommentText:highlight.tags.blockComment,"{% %} {{ }}":highlight.tags.brace,"[ ]":highlight.tags.bracket,"( )":highlight.tags.paren,".":highlight.tags.derefOperator,", .. : |":highlight.tags.punctuation}),language.indentNodeProp.add({Tag:language.delimitedIndent({closing:"%}"}),"UnlessDirective ForDirective TablerowDirective CaptureDirective":directiveIndent(/^\s*(\{%-?\s*)?end\w/),IfDirective:directiveIndent(/^\s*(\{%-?\s*)?(endif|else|elsif)\b/),CaseDirective:directiveIndent(/^\s*(\{%-?\s*)?(endcase|when)\b/)}),language.foldNodeProp.add({"UnlessDirective ForDirective TablerowDirective CaptureDirective IfDirective CaseDirective RawDirective Comment"(tree){let first=tree.firstChild,last=tree.lastChild;return first&&"Tag"==first.name?{from:first.to,to:"EndTag"==last.name?last.from:tree.to}:null}})]}),languageData:{commentTokens:{line:"#"},indentOnInput:/^\s*{%-?\s*(?:end|elsif|else|when|)$/}}),baseHTML=langHtml.html(),liquidLanguage=makeLiquid(baseHTML.language);// This file was generated by lezer-generator. You probably shouldn't edit it.
@@ -15,7 +15,7 @@ if(info=/\S*/.exec(info)[0],found="function"==typeof languages?languages(info):l
15
15
  When not after Markdown block markup, this command will return
16
16
  false, so it is intended to be bound alongside other deletion
17
17
  commands, with a higher precedence than the more generic commands.
18
- */ /**
18
+ *//**
19
19
  Markdown language support.
20
20
  */function markdown(config={}){let{codeLanguages,defaultCodeLanguage,addKeymap=!0,base:{parser}=commonmarkLanguage,completeHTMLTags=!0,pasteURLAsLink:pasteURL=!0,htmlTagLanguage=htmlNoMatch}=config;if(!(parser instanceof markdown$1.MarkdownParser))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let defaultCode,extensions=config.extensions?[config.extensions]:[],support=[htmlTagLanguage.support,headerIndent];pasteURL&&support.push(pasteURLAsLink),defaultCodeLanguage instanceof language.LanguageSupport?(support.push(defaultCodeLanguage.support),defaultCode=defaultCodeLanguage.language):defaultCodeLanguage&&(defaultCode=defaultCodeLanguage);let codeParser=codeLanguages||defaultCode?getCodeParser(codeLanguages,defaultCode):void 0;extensions.push(markdown$1.parseCode({codeParser,htmlParser:htmlTagLanguage.language.parser})),addKeymap&&support.push(state.Prec.high(view.keymap.of(markdownKeymap)));let lang=mkLang(parser.configure(extensions));return completeHTMLTags&&support.push(lang.data.of({autocomplete:htmlTagCompletion})),new language.LanguageSupport(lang,support)}function htmlTagCompletion(context){let{state,pos}=context,m=/<[:\-\.\w\u00b7-\uffff]*$/.exec(state.sliceDoc(pos-25,pos));if(!m)return null;for(let tree=language.syntaxTree(state).resolveInner(pos,-1);tree&&!tree.type.isTop;){if("CodeBlock"==tree.name||"FencedCode"==tree.name||"ProcessingInstructionBlock"==tree.name||"CommentBlock"==tree.name||"Link"==tree.name||"Image"==tree.name)return null;tree=tree.parent}return{from:pos-m[0].length,to:pos,options:htmlTagCompletions(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}function htmlTagCompletions(){if(_tagCompletions)return _tagCompletions;let result=langHtml.htmlCompletionSource(new autocomplete.CompletionContext(state.EditorState.create({extensions:htmlNoMatch}),0,!0));return _tagCompletions=result?result.options:[]}if(hasRequiredDist)return dist;hasRequiredDist=1;var state=require$$0,view=require$$1,language=require$$2,autocomplete=require$$3,markdown$1=require$$4,langHtml=require$$5,common=require$$6;const data=language.defineLanguageFacet({commentTokens:{block:{open:"<!--",close:"-->"}}}),headingProp=new common.NodeProp,commonmark=markdown$1.parser.configure({props:[language.foldNodeProp.add(type=>!type.is("Block")||type.is("Document")||null!=isHeading(type)||isList(type)?void 0:(tree,state)=>({from:state.doc.lineAt(tree.from).to,to:tree.to})),headingProp.add(isHeading),language.indentNodeProp.add({Document:()=>null}),language.languageDataProp.add({Document:data})]}),headerIndent=language.foldService.of((state,start,end)=>{for(let heading,node=language.syntaxTree(state).resolveInner(end,-1);node&&!(node.from<start);node=node.parent){if(heading=node.type.prop(headingProp),null==heading)continue;let upto=findSectionEnd(node,heading);if(upto>end)return{from:end,to:upto}}return null}),commonmarkLanguage=mkLang(commonmark),extended=commonmark.configure([markdown$1.GFM,markdown$1.Subscript,markdown$1.Superscript,markdown$1.Emoji,{props:[language.foldNodeProp.add({Table:(tree,state)=>({from:state.doc.lineAt(tree.from).to,to:tree.to})})]}]),markdownLanguage=mkLang(extended);/**
21
21
  Language support for [GFM](https://github.github.com/gfm/) plus
@@ -41,7 +41,7 @@ if(start<pos)return{range:state.EditorSelection.cursor(start),changes:{from:star
41
41
  The command does nothing in non-Markdown context, so it should
42
42
  not be used as the only binding for Enter (even in a Markdown
43
43
  document, HTML and code regions might use a different language).
44
- */ /**
44
+ *//**
45
45
  A small keymap with Markdown-specific bindings. Binds Enter to
46
46
  [`insertNewlineContinueMarkup`](https://codemirror.net/6/docs/ref/#lang-markdown.insertNewlineContinueMarkup)
47
47
  and Backspace to
@@ -11,7 +11,7 @@ return /^\s*($|#)/.test(line.text)&&context.node.to<to+100&&!/\S/.test(context.s
11
11
  A language provider based on the [Lezer Python
12
12
  parser](https://github.com/lezer-parser/python), extended with
13
13
  highlighting and indentation information.
14
- */ /**
14
+ *//**
15
15
  Python language support.
16
16
  */function python(){return new language.LanguageSupport(pythonLanguage,[pythonLanguage.data.of({autocomplete:localCompletionSource}),pythonLanguage.data.of({autocomplete:globalCompletion})])}if(hasRequiredDist)return dist;hasRequiredDist=1;var python$1=require$$0,language=require$$1,common=require$$2,autocomplete=require$$3;const cache=new common.NodeWeakMap,ScopeNodes=new Set(["Script","Body","FunctionDefinition","ClassDefinition","LambdaExpression","ForStatement","MatchClause"]),gatherCompletions={FunctionDefinition:defID("function"),ClassDefinition:defID("class"),ForStatement(node,def,outer){if(outer)for(let child=node.node.firstChild;child;child=child.nextSibling)if("VariableName"==child.name)def(child,"variable");else if("in"==child.name)break},ImportStatement(_node,def){var _a,_b;let{node}=_node,isFrom="from"==(null===(_a=node.firstChild)||void 0===_a?void 0:_a.name);for(let ch=node.getChild("import");ch;ch=ch.nextSibling)"VariableName"==ch.name&&"as"!=(null===(_b=ch.nextSibling)||void 0===_b?void 0:_b.name)&&def(ch,isFrom?"variable":"namespace")},AssignStatement(node,def){for(let child=node.node.firstChild;child;child=child.nextSibling)if("VariableName"==child.name)def(child,"variable");else if(":"==child.name||"AssignOp"==child.name)break},ParamList(node,def){for(let prev=null,child=node.node.firstChild;child;child=child.nextSibling)"VariableName"!=child.name||prev&&/\*|AssignOp/.test(prev.name)||def(child,"variable"),prev=child},CapturePattern:defID("variable"),AsPattern:defID("variable"),__proto__:null},Identifier=/^[\w\xa1-\uffff][\w\d\xa1-\uffff]*$/,dontComplete=["String","FormatString","Comment","PropertyName"],globals=["__annotations__","__builtins__","__debug__","__doc__","__import__","__name__","__loader__","__package__","__spec__","False","None","True"].map(n=>({label:n,type:"constant"})).concat(["ArithmeticError","AssertionError","AttributeError","BaseException","BlockingIOError","BrokenPipeError","BufferError","BytesWarning","ChildProcessError","ConnectionAbortedError","ConnectionError","ConnectionRefusedError","ConnectionResetError","DeprecationWarning","EOFError","Ellipsis","EncodingWarning","EnvironmentError","Exception","FileExistsError","FileNotFoundError","FloatingPointError","FutureWarning","GeneratorExit","IOError","ImportError","ImportWarning","IndentationError","IndexError","InterruptedError","IsADirectoryError","KeyError","KeyboardInterrupt","LookupError","MemoryError","ModuleNotFoundError","NameError","NotADirectoryError","NotImplemented","NotImplementedError","OSError","OverflowError","PendingDeprecationWarning","PermissionError","ProcessLookupError","RecursionError","ReferenceError","ResourceWarning","RuntimeError","RuntimeWarning","StopAsyncIteration","StopIteration","SyntaxError","SyntaxWarning","SystemError","SystemExit","TabError","TimeoutError","TypeError","UnboundLocalError","UnicodeDecodeError","UnicodeEncodeError","UnicodeError","UnicodeTranslateError","UnicodeWarning","UserWarning","ValueError","Warning","ZeroDivisionError"].map(n=>({label:n,type:"type"}))).concat(["bool","bytearray","bytes","classmethod","complex","float","frozenset","int","list","map","memoryview","object","range","set","staticmethod","str","super","tuple","type"].map(n=>({label:n,type:"class"}))).concat(["abs","aiter","all","anext","any","ascii","bin","breakpoint","callable","chr","compile","delattr","dict","dir","divmod","enumerate","eval","exec","exit","filter","format","getattr","globals","hasattr","hash","help","hex","id","input","isinstance","issubclass","iter","len","license","locals","max","min","next","oct","open","ord","pow","print","property","quit","repr","reversed","round","setattr","slice","sorted","sum","vars","zip"].map(n=>({label:n,type:"function"}))),snippets=[autocomplete.snippetCompletion("def ${name}(${params}):\n\t${}",{label:"def",detail:"function",type:"keyword"}),autocomplete.snippetCompletion("for ${name} in ${collection}:\n\t${}",{label:"for",detail:"loop",type:"keyword"}),autocomplete.snippetCompletion("while ${}:\n\t${}",{label:"while",detail:"loop",type:"keyword"}),autocomplete.snippetCompletion("try:\n\t${}\nexcept ${error}:\n\t${}",{label:"try",detail:"/ except block",type:"keyword"}),autocomplete.snippetCompletion("if ${}:\n\t\n",{label:"if",detail:"block",type:"keyword"}),autocomplete.snippetCompletion("if ${}:\n\t${}\nelse:\n\t${}",{label:"if",detail:"/ else block",type:"keyword"}),autocomplete.snippetCompletion("class ${name}:\n\tdef __init__(self, ${params}):\n\t\t\t${}",{label:"class",detail:"definition",type:"keyword"}),autocomplete.snippetCompletion("import ${module}",{label:"import",detail:"statement",type:"keyword"}),autocomplete.snippetCompletion("from ${module} import ${names}",{label:"from",detail:"import",type:"keyword"})],globalCompletion=autocomplete.ifNotIn(dontComplete,autocomplete.completeFromList(globals.concat(snippets))),pythonLanguage=language.LRLanguage.define({name:"python",parser:python$1.parser.configure({props:[language.indentNodeProp.add({Body:context=>{var _a;let body=/^\s*(#|$)/.test(context.textAfter)&&innerBody(context)||context.node;return null!==(_a=indentBody(context,body))&&void 0!==_a?_a:context.continue()},MatchBody:context=>{var _a;let inner=innerBody(context);return null!==(_a=indentBody(context,inner||context.node))&&void 0!==_a?_a:context.continue()},IfStatement:cx=>/^\s*(else:|elif )/.test(cx.textAfter)?cx.baseIndent:cx.continue(),"ForStatement WhileStatement":cx=>/^\s*else:/.test(cx.textAfter)?cx.baseIndent:cx.continue(),TryStatement:cx=>/^\s*(except[ :]|finally:|else:)/.test(cx.textAfter)?cx.baseIndent:cx.continue(),MatchStatement:cx=>/^\s*case /.test(cx.textAfter)?cx.baseIndent+cx.unit:cx.continue(),"TupleExpression ComprehensionExpression ParamList ArgList ParenthesizedExpression":language.delimitedIndent({closing:")"}),"DictionaryExpression DictionaryComprehensionExpression SetExpression SetComprehensionExpression":language.delimitedIndent({closing:"}"}),"ArrayExpression ArrayComprehensionExpression":language.delimitedIndent({closing:"]"}),MemberExpression:cx=>cx.baseIndent+cx.unit,"String FormatString":()=>null,Script:context=>{var _a;let inner=innerBody(context);return null!==(_a=inner&&indentBody(context,inner))&&void 0!==_a?_a:context.continue()}}),language.foldNodeProp.add({"ArrayExpression DictionaryExpression SetExpression TupleExpression":language.foldInside,Body:(node,state)=>({from:node.from+1,to:node.to-(node.to==state.doc.length?0:1)}),"String FormatString":(node,state)=>({from:state.doc.lineAt(node.from).to,to:node.to})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'","\"","'''","\"\"\""],stringPrefixes:["f","fr","rf","r","u","b","br","rb","F","FR","RF","R","U","B","BR","RB"]},commentTokens:{line:"#"},// Indent logic logic are triggered upon below input patterns
17
17
  indentOnInput:/^\s*([\}\]\)]|else:|elif |except |finally:|case\s+[^:]*:?)$/}});/**
@@ -33,9 +33,9 @@ class CompletionLevel{constructor(idQuote,idCaseInsensitive){this.idQuote=idQuot
33
33
  Define a new dialect.
34
34
  */static define(spec){let d=dialect(spec,spec.keywords,spec.types,spec.builtin),language$1=language.LRLanguage.define({name:"sql",parser:parser.configure({tokenizers:[{from:tokens,to:tokensFor(d)}]}),languageData:{commentTokens:{line:"--",block:{open:"/*",close:"*/"}},closeBrackets:{brackets:["(","[","{","'","\"","`"]}}});return new SQLDialect(d,language$1,spec)}}const StandardSQL=SQLDialect.define({}),PostgreSQL=SQLDialect.define({charSetCasts:!0,doubleDollarQuotedStrings:!0,operatorChars:"+-*/<>=~!@#%^&|`?",specialVar:"",keywords:SQLKeywords+"abort abs absent access according ada admin aggregate alias also always analyse analyze array_agg array_max_cardinality asensitive assert assignment asymmetric atomic attach attribute attributes avg backward base64 begin_frame begin_partition bernoulli bit_length blocked bom cache called cardinality catalog_name ceil ceiling chain char_length character_length character_set_catalog character_set_name character_set_schema characteristics characters checkpoint class class_origin cluster coalesce cobol collation_catalog collation_name collation_schema collect column_name columns command_function command_function_code comment comments committed concurrently condition_number configuration conflict connection_name constant constraint_catalog constraint_name constraint_schema contains content control conversion convert copy corr cost covar_pop covar_samp csv cume_dist current_catalog current_row current_schema cursor_name database datalink datatype datetime_interval_code datetime_interval_precision db debug defaults defined definer degree delimiter delimiters dense_rank depends derived detach detail dictionary disable discard dispatch dlnewcopy dlpreviouscopy dlurlcomplete dlurlcompleteonly dlurlcompletewrite dlurlpath dlurlpathonly dlurlpathwrite dlurlscheme dlurlserver dlvalue document dump dynamic_function dynamic_function_code element elsif empty enable encoding encrypted end_frame end_partition endexec enforced enum errcode error event every exclude excluding exclusive exp explain expression extension extract family file filter final first_value flag floor following force foreach fortran forward frame_row freeze fs functions fusion generated granted greatest groups handler header hex hierarchy hint id ignore ilike immediately immutable implementation implicit import include including increment indent index indexes info inherit inherits inline insensitive instance instantiable instead integrity intersection invoker isnull key_member key_type label lag last_value lead leakproof least length library like_regex link listen ln load location lock locked log logged lower mapping matched materialized max max_cardinality maxvalue member merge message message_length message_octet_length message_text min minvalue mod mode more move multiset mumps name namespace nfc nfd nfkc nfkd nil normalize normalized nothing notice notify notnull nowait nth_value ntile nullable nullif nulls number occurrences_regex octet_length octets off offset oids operator options ordering others over overlay overriding owned owner parallel parameter_mode parameter_name parameter_ordinal_position parameter_specific_catalog parameter_specific_name parameter_specific_schema parser partition pascal passing passthrough password percent percent_rank percentile_cont percentile_disc perform period permission pg_context pg_datatype_name pg_exception_context pg_exception_detail pg_exception_hint placing plans pli policy portion position position_regex power precedes preceding prepared print_strict_params procedural procedures program publication query quote raise range rank reassign recheck recovery refresh regr_avgx regr_avgy regr_count regr_intercept regr_r2 regr_slope regr_sxx regr_sxy regr_syy reindex rename repeatable replace replica requiring reset respect restart restore result_oid returned_cardinality returned_length returned_octet_length returned_sqlstate returning reverse routine_catalog routine_name routine_schema routines row_count row_number rowtype rule scale schema_name schemas scope scope_catalog scope_name scope_schema security selective self sensitive sequence sequences serializable server server_name setof share show simple skip slice snapshot source specific_name sqlcode sqlerror sqrt stable stacked standalone statement statistics stddev_pop stddev_samp stdin stdout storage strict strip structure style subclass_origin submultiset subscription substring substring_regex succeeds sum symmetric sysid system system_time table_name tables tablesample tablespace temp template ties token top_level_count transaction_active transactions_committed transactions_rolled_back transform transforms translate translate_regex trigger_catalog trigger_name trigger_schema trim trim_array truncate trusted type types uescape unbounded uncommitted unencrypted unlink unlisten unlogged unnamed untyped upper uri use_column use_variable user_defined_type_catalog user_defined_type_code user_defined_type_name user_defined_type_schema vacuum valid validate validator value_of var_pop var_samp varbinary variable_conflict variadic verbose version versioning views volatile warning whitespace width_bucket window within wrapper xmlagg xmlattributes xmlbinary xmlcast xmlcomment xmlconcat xmldeclaration xmldocument xmlelement xmlexists xmlforest xmliterate xmlnamespaces xmlparse xmlpi xmlquery xmlroot xmlschema xmlserialize xmltable xmltext xmlvalidate yes",types:SQLTypes+"bigint int8 bigserial serial8 varbit bool box bytea cidr circle precision float8 inet int4 json jsonb line lseg macaddr macaddr8 money numeric pg_lsn point polygon float4 int2 smallserial serial2 serial serial4 text timetz timestamptz tsquery tsvector txid_snapshot uuid xml"}),MySQLKeywords="accessible algorithm analyze asensitive authors auto_increment autocommit avg avg_row_length binlog btree cache catalog_name chain change changed checkpoint checksum class_origin client_statistics coalesce code collations columns comment committed completion concurrent consistent contains contributors convert database databases day_hour day_microsecond day_minute day_second delay_key_write delayed delimiter des_key_file dev_pop dev_samp deviance directory disable discard distinctrow div dual dumpfile enable enclosed ends engine engines enum errors escaped even event events every explain extended fast field fields flush force found_rows fulltext grants handler hash high_priority hosts hour_microsecond hour_minute hour_second ignore ignore_server_ids import index index_statistics infile innodb insensitive insert_method install invoker iterate keys kill linear lines list load lock logs low_priority master master_heartbeat_period master_ssl_verify_server_cert masters max max_rows maxvalue message_text middleint migrate min min_rows minute_microsecond minute_second mod mode modify mutex mysql_errno no_write_to_binlog offline offset one online optimize optionally outfile pack_keys parser partition partitions password phase plugin plugins prev processlist profile profiles purge query quick range read_write rebuild recover regexp relaylog remove rename reorganize repair repeatable replace require resume rlike row_format rtree schedule schema_name schemas second_microsecond security sensitive separator serializable server share show slave slow snapshot soname spatial sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result ssl starting starts std stddev stddev_pop stddev_samp storage straight_join subclass_origin sum suspend table_name table_statistics tables tablespace terminated triggers truncate uncommitted uninstall unlock upgrade use use_frm user_resources user_statistics utc_date utc_time utc_timestamp variables views warnings xa xor year_month zerofill",MySQLTypes=SQLTypes+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int1 int2 int3 int4 int8 float4 float8 varbinary varcharacter precision datetime unsigned signed",MySQLBuiltin="charset clear edit ego help nopager notee nowarning pager print prompt quit rehash source status system tee",MySQL=SQLDialect.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:SQLKeywords+"group_concat "+MySQLKeywords,types:MySQLTypes,builtin:MySQLBuiltin}),MariaSQL=SQLDialect.define({operatorChars:"*+-%<>!=&|^",charSetCasts:!0,doubleQuotedStrings:!0,unquotedBitLiterals:!0,hashComments:!0,spaceAfterDashes:!0,specialVar:"@?",identifierQuotes:"`",keywords:SQLKeywords+"always generated groupby_concat hard persistent shutdown soft virtual "+MySQLKeywords,types:MySQLTypes,builtin:MySQLBuiltin});/**
35
35
  Dialect for [PostgreSQL](https://www.postgresql.org).
36
- */ /**
36
+ *//**
37
37
  [MySQL](https://dev.mysql.com/) dialect.
38
- */ /**
38
+ *//**
39
39
  Variant of [`MySQL`](https://codemirror.net/6/docs/ref/#lang-sql.MySQL) for
40
40
  [MariaDB](https://mariadb.org/).
41
41
  */let MSSQLBuiltin=// Aggregate https://msdn.microsoft.com/en-us/library/ms173454.aspx
@@ -45,8 +45,8 @@ class CompletionLevel{constructor(idQuote,idCaseInsensitive){this.idQuote=idQuot
45
45
  */const MSSQL=SQLDialect.define({keywords:SQLKeywords+// Reserved Keywords https://learn.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sql-server-ver17
46
46
  "add external procedure all fetch public alter file raiserror and fillfactor read any for readtext as foreign reconfigure asc freetext references authorization freetexttable replication backup from restore begin full restrict between function return break goto revert browse grant revoke bulk group right by having rollback cascade holdlock rowcount case identity rowguidcol check identity_insert rule checkpoint identitycol save close if schema clustered in securityaudit coalesce index select collate inner semantickeyphrasetable column insert semanticsimilaritydetailstable commit intersect semanticsimilaritytable compute into session_user constraint is set contains join setuser containstable key shutdown continue kill some convert left statistics create like system_user cross lineno table current load tablesample current_date merge textsize current_time national then current_timestamp nocheck to current_user nonclustered top cursor not tran database null transaction dbcc nullif trigger deallocate of truncate declare off try_convert default offsets tsequal delete on union deny open unique desc opendatasource unpivot disk openquery update distinct openrowset updatetext distributed openxml use double option user drop or values dump order varying else outer view end over waitfor errlvl percent when escape pivot where except plan while exec precision with execute primary within group exists print writetext exit proc noexpand index forceseek forcescan holdlock nolock nowait paglock readcommitted readcommittedlock readpast readuncommitted repeatableread rowlock serializable snapshot spatial_window_max_cells tablock tablockx updlock xlock keepidentity keepdefaults ignore_constraints ignore_triggers",types:SQLTypes+"smalldatetime datetimeoffset datetime2 datetime bigint smallint smallmoney tinyint money real text nvarchar ntext varbinary image hierarchyid uniqueidentifier sql_variant xml",builtin:"approx_count_distinct approx_percentile_cont approx_percentile_disc avg checksum_agg count count_big grouping grouping_id max min product stdev stdevp sum var varp ai_generate_embeddings ai_generate_chunks cume_dist first_value lag last_value lead percentile_cont percentile_disc percent_rank left_shift right_shift bit_count get_bit set_bit collationproperty tertiary_weights @@datefirst @@dbts @@langid @@language @@lock_timeout @@max_connections @@max_precision @@nestlevel @@options @@remserver @@servername @@servicename @@spid @@textsize @@version cast convert parse try_cast try_convert try_parse asymkey_id asymkeyproperty certproperty cert_id crypt_gen_random decryptbyasymkey decryptbycert decryptbykey decryptbykeyautoasymkey decryptbykeyautocert decryptbypassphrase encryptbyasymkey encryptbycert encryptbykey encryptbypassphrase hashbytes is_objectsigned key_guid key_id key_name signbyasymkey signbycert symkeyproperty verifysignedbycert verifysignedbyasymkey @@cursor_rows @@fetch_status cursor_status datalength ident_current ident_incr ident_seed identity sql_variant_property @@datefirst current_timestamp current_timezone current_timezone_id date_bucket dateadd datediff datediff_big datefromparts datename datepart datetime2fromparts datetimefromparts datetimeoffsetfromparts datetrunc day eomonth getdate getutcdate isdate month smalldatetimefromparts switchoffset sysdatetime sysdatetimeoffset sysutcdatetime timefromparts todatetimeoffset year edit_distance edit_distance_similarity jaro_winkler_distance jaro_winkler_similarity edge_id_from_parts graph_id_from_edge_id graph_id_from_node_id node_id_from_parts object_id_from_edge_id object_id_from_node_id json isjson json_array json_contains json_modify json_object json_path_exists json_query json_value regexp_like regexp_replace regexp_substr regexp_instr regexp_count regexp_matches regexp_split_to_table abs acos asin atan atn2 ceiling cos cot degrees exp floor log log10 pi power radians rand round sign sin sqrt square tan choose greatest iif least @@procid app_name applock_mode applock_test assemblyproperty col_length col_name columnproperty databasepropertyex db_id db_name file_id file_idex file_name filegroup_id filegroup_name filegroupproperty fileproperty filepropertyex fulltextcatalogproperty fulltextserviceproperty index_col indexkey_property indexproperty next value for object_definition object_id object_name object_schema_name objectproperty objectpropertyex original_db_name parsename schema_id schema_name scope_identity serverproperty stats_date type_id type_name typeproperty dense_rank ntile rank row_number publishingservername certenclosed certprivatekey current_user database_principal_id has_dbaccess has_perms_by_name is_member is_rolemember is_srvrolemember loginproperty original_login permissions pwdencrypt pwdcompare session_user sessionproperty suser_id suser_name suser_sid suser_sname system_user user user_id user_name ascii char charindex concat concat_ws difference format left len lower ltrim nchar patindex quotename replace replicate reverse right rtrim soundex space str string_agg string_escape stuff substring translate trim unicode upper $partition @@error @@identity @@pack_received @@rowcount @@trancount binary_checksum checksum compress connectionproperty context_info current_request_id current_transaction_id decompress error_line error_message error_number error_procedure error_severity error_state formatmessage get_filestream_transaction_context getansinull host_id host_name isnull isnumeric min_active_rowversion newid newsequentialid rowcount_big session_context xact_state @@connections @@cpu_busy @@idle @@io_busy @@pack_sent @@packet_errors @@timeticks @@total_errors @@total_read @@total_write textptr textvalid columns_updated eventdata trigger_nestlevel vector_distance vectorproperty vector_search generate_series opendatasource openjson openquery openrowset openxml predict string_split coalesce nullif apply catch filter force include keep keepfixed modify optimize parameterization parameters partition recompile sequence set",operatorChars:"*+-%<>!=^&|/",specialVar:"@",identifierQuotes:"\"["}),SQLite=SQLDialect.define({keywords:SQLKeywords+"abort analyze attach autoincrement conflict database detach exclusive fail glob ignore index indexed instead isnull notnull offset plan pragma query raise regexp reindex rename replace temp vacuum virtual",types:SQLTypes+"bool blob long longblob longtext medium mediumblob mediumint mediumtext tinyblob tinyint tinytext text bigint int2 int8 unsigned signed real",builtin:"auth backup bail changes clone databases dbinfo dump echo eqp explain fullschema headers help import imposter indexes iotrace lint load log mode nullvalue once print prompt quit restore save scanstats separator shell show stats system tables testcase timeout timer trace vfsinfo vfslist vfsname width",operatorChars:"*+-%<>!=&|/~",identifierQuotes:"`\"",specialVar:"@:?$"}),Cassandra=SQLDialect.define({keywords:"add all allow alter and any apply as asc authorize batch begin by clustering columnfamily compact consistency count create custom delete desc distinct drop each_quorum exists filtering from grant if in index insert into key keyspace keyspaces level limit local_one local_quorum modify nan norecursive nosuperuser not of on one order password permission permissions primary quorum rename revoke schema select set storage superuser table three to token truncate ttl two type unlogged update use user users using values where with writetime infinity NaN",types:SQLTypes+"ascii bigint blob counter frozen inet list map static text timeuuid tuple uuid varint",slashComments:!0}),PLSQL=SQLDialect.define({keywords:SQLKeywords+"abort accept access add all alter and any arraylen as asc assert assign at attributes audit authorization avg base_table begin between binary_integer body by case cast char_base check close cluster clusters colauth column comment commit compress connected constant constraint crash create current currval cursor data_base database dba deallocate debugoff debugon declare default definition delay delete desc digits dispose distinct do drop else elseif elsif enable end entry exception exception_init exchange exclusive exists external fast fetch file for force form from function generic goto grant group having identified if immediate in increment index indexes indicator initial initrans insert interface intersect into is key level library like limited local lock log logging loop master maxextents maxtrans member minextents minus mislabel mode modify multiset new next no noaudit nocompress nologging noparallel not nowait number_base of off offline on online only option or order out package parallel partition pctfree pctincrease pctused pls_integer positive positiven pragma primary prior private privileges procedure public raise range raw rebuild record ref references refresh rename replace resource restrict return returning returns reverse revoke rollback row rowid rowlabel rownum rows run savepoint schema segment select separate set share snapshot some space split sql start statement storage subtype successful synonym tabauth table tables tablespace task terminate then to trigger truncate type union unique unlimited unrecoverable unusable update use using validate value values variable view views when whenever where while with work",builtin:"appinfo arraysize autocommit autoprint autorecovery autotrace blockterminator break btitle cmdsep colsep compatibility compute concat copycommit copytypecheck define echo editfile embedded feedback flagger flush heading headsep instance linesize lno loboffset logsource longchunksize markup native newpage numformat numwidth pagesize pause pno recsep recsepchar repfooter repheader serveroutput shiftinout show showmode spool sqlblanklines sqlcase sqlcode sqlcontinue sqlnumber sqlpluscompatibility sqlprefix sqlprompt sqlterminator suffix tab term termout timing trimout trimspool ttitle underline verify version wrap",types:SQLTypes+"ascii bfile bfilename bigserial bit blob dec long number nvarchar nvarchar2 serial smallint string text uid varchar2 xml",operatorChars:"*/+-%<>!=~",doubleQuotedStrings:!0,charSetCasts:!0,plsqlQuotingMechanism:!0});/**
47
47
  [SQLite](https://sqlite.org/) dialect.
48
- */ /**
48
+ *//**
49
49
  Dialect for [Cassandra](https://cassandra.apache.org/)'s SQL-ish query language.
50
- */ /**
50
+ *//**
51
51
  [PL/SQL](https://en.wikipedia.org/wiki/PL/SQL) dialect.
52
52
  */return dist.Cassandra=Cassandra,dist.MSSQL=MSSQL,dist.MariaSQL=MariaSQL,dist.MySQL=MySQL,dist.PLSQL=PLSQL,dist.PostgreSQL=PostgreSQL,dist.SQLDialect=SQLDialect,dist.SQLite=SQLite,dist.StandardSQL=StandardSQL,dist.keywordCompletionSource=keywordCompletionSource,dist.schemaCompletionSource=schemaCompletionSource,dist.sql=sql,dist}(),index=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(distExports);return module.exports=index,module.exports}
@@ -4,7 +4,7 @@ async function moduleInitFunction(requireAsyncModule,exports={}){const module={e
4
4
  A language provider based on the [Lezer XML
5
5
  parser](https://github.com/lezer-parser/xml), extended with
6
6
  highlighting and indentation information.
7
- */ /**
7
+ *//**
8
8
  XML language support. Includes schema-based autocompletion when
9
9
  configured.
10
10
  */function xml(conf={}){let support=[xmlLanguage.data.of({autocomplete:completeFromSchema(conf.elements||[],conf.attributes||[])})];return!1!==conf.autoCloseTags&&support.push(autoCloseTags),new language.LanguageSupport(xmlLanguage,support)}function elementName(doc,tree,max=doc.length){if(!tree)return"";let tag=tree.firstChild,name=tag&&tag.getChild("TagName");return name?doc.sliceString(name.from,Math.min(name.to,max)):""}/**
@@ -12,7 +12,7 @@ async function moduleInitFunction(requireAsyncModule,exports={}){const module={e
12
12
  A subclass of [`Language`](https://codemirror.net/6/docs/ref/#language.Language) for use with Lezer
13
13
  [LR parsers](https://lezer.codemirror.net/docs/ref#lr.LRParser)
14
14
  parsers.
15
- */ /**
15
+ *//**
16
16
  Get the syntax tree for a state, which is the current (possibly
17
17
  incomplete) parse tree of the active
18
18
  [language](https://codemirror.net/6/docs/ref/#language.Language), or the empty tree if there is no
@@ -70,7 +70,7 @@ async function moduleInitFunction(requireAsyncModule,exports={}){const module={e
70
70
  services](https://codemirror.net/6/docs/ref/#language.indentService). They provide helper utilities
71
71
  useful in indentation logic, and can selectively override the
72
72
  indentation reported for some lines.
73
- */ // Compute the indentation for a given position from the syntax tree.
73
+ */// Compute the indentation for a given position from the syntax tree.
74
74
  function syntaxIndentation(cx,ast,pos){let stack=ast.resolveStack(pos),inner=ast.resolveInner(pos,-1).resolve(pos,0).enterUnfinishedNodesBefore(pos);if(inner!=stack.node){let add=[];for(let cur=inner;cur&&!(cur.from<stack.node.from||cur.to>stack.node.to||cur.from==stack.node.from&&cur.type==stack.node.type);cur=cur.parent)add.push(cur);for(let i=add.length-1;0<=i;i--)stack={node:add[i],next:stack}}return indentFor(stack,cx,pos)}function indentFor(stack,cx,pos){for(let strategy,cur=stack;cur;cur=cur.next)if(strategy=indentStrategy(cur.node),strategy)return strategy(TreeIndentContext.create(cx,pos,cur));return 0}function ignoreClosed(cx){return cx.pos==cx.options.simulateBreak&&cx.options.simulateDoubleBreak}function indentStrategy(tree){let strategy=tree.type.prop(indentNodeProp);if(strategy)return strategy;let close,first=tree.firstChild;if(first&&(close=first.type.prop(common.NodeProp.closedBy))){let last=tree.lastChild,closed=last&&-1<close.indexOf(last.name);return cx=>delimitedStrategy(cx,!0,1,void 0,closed&&!ignoreClosed(cx)?last.from:void 0)}return null==tree.parent?topIndent:null}function topIndent(){return 0}/**
75
75
  Objects of this type provide context information and helper
76
76
  methods to indentation functions registered on syntax nodes.
@@ -90,7 +90,7 @@ function bracketedAligned(context){let tree=context.node,openToken=tree.childAft
90
90
  */function delimitedIndent({closing,align=!0,units=1}){return context=>delimitedStrategy(context,align,units,closing)}function delimitedStrategy(context,align,units,closing,closedAt){let after=context.textAfter,space=after.match(/^\s*/)[0].length,closed=closing&&after.slice(space,space+closing.length)==closing||closedAt==context.pos+space,aligned=align?bracketedAligned(context):null;return aligned?closed?context.column(aligned.from):context.column(aligned.to):context.baseIndent+(closed?0:context.unit*units)}/**
91
91
  An indentation strategy that aligns a node's content to its base
92
92
  indentation.
93
- */ /**
93
+ *//**
94
94
  Creates an indentation strategy that, by default, indents
95
95
  continued lines one unit more than the node's base indentation.
96
96
  You can provide `except` to prevent indentation of lines that
@@ -114,7 +114,7 @@ function bracketedAligned(context){let tree=context.node,openToken=tree.childAft
114
114
  the extent of a line, such a function should return a foldable
115
115
  range that starts on that line (but continues beyond it), if one
116
116
  can be found.
117
- */ /**
117
+ *//**
118
118
  [Fold](https://codemirror.net/6/docs/ref/#language.foldNodeProp) function that folds everything but
119
119
  the first and the last child of a syntax node. Useful for nodes
120
120
  that start and end with delimiters.
@@ -150,14 +150,14 @@ function bracketedAligned(context){let tree=context.node,openToken=tree.childAft
150
150
  because the editor state was only just initialized, or because the
151
151
  document is so big that the parser decided not to parse it
152
152
  entirely).
153
- */ // Find the foldable region containing the given line, if one exists
153
+ */// Find the foldable region containing the given line, if one exists
154
154
  function foldableContainer(view,lineBlock){// Look backwards through line blocks until we find a foldable region that
155
155
  // intersects with the line
156
156
  for(let foldableRegion,line=lineBlock;;){if(foldableRegion=foldable(view.state,line.from,line.to),foldableRegion&&foldableRegion.to>lineBlock.from)return foldableRegion;if(!line.from)return null;line=view.lineBlockAt(line.from-1)}}/**
157
157
  Toggle folding at cursors. Unfolds if there is an existing fold
158
158
  starting in that line, tries to find a foldable range around it
159
159
  otherwise.
160
- */ /**
160
+ *//**
161
161
  Create an extension that configures code folding.
162
162
  */function codeFolding(config){let result=[foldState,baseTheme$1];return config&&result.push(foldConfig.of(config)),result}function widgetToDOM(view,prepared){let{state}=view,conf=state.facet(foldConfig),onclick=event=>{let line=view.lineBlockAt(view.posAtDOM(event.target)),folded=findFold(view.state,line.from,line.to);folded&&view.dispatch({effects:unfoldEffect.of(folded)}),event.preventDefault()};if(conf.placeholderDOM)return conf.placeholderDOM(view,onclick,prepared);let element=document.createElement("span");return element.textContent=conf.placeholderText,element.setAttribute("aria-label",state.phrase("folded code")),element.title=state.phrase("unfold"),element.className="cm-foldPlaceholder",element.onclick=onclick,element}/**
163
163
  Create an extension that registers a fold gutter, which shows a
@@ -306,7 +306,7 @@ let{state,viewport:{to:vpTo}}=this.view,field=state.field(Language.state);if(fie
306
306
  by `Language` object's `extension` property (so you don't need to
307
307
  manually wrap your languages in this). Can be used to access the
308
308
  current language on a state.
309
- */ /**
309
+ *//**
310
310
  This class bundles a [language](https://codemirror.net/6/docs/ref/#language.Language) with an
311
311
  optional set of supporting extensions. Language packages are
312
312
  encouraged to export a function that optionally takes a
@@ -431,13 +431,13 @@ return tr.selection&&(folded=clearTouchedFolds(folded,tr.selection.main.head)),f
431
431
  syntax node types. Given a syntax node, it should check whether
432
432
  that tree is foldable and return the range that can be collapsed
433
433
  when it is.
434
- */ /**
434
+ *//**
435
435
  State effect that unfolds the given range (if it was folded).
436
- */ /**
436
+ *//**
437
437
  Unfold folded ranges on selected lines.
438
- */ /**
438
+ *//**
439
439
  Unfold all folded code.
440
- */ /**
440
+ *//**
441
441
  Default fold-related key bindings.
442
442
 
443
443
  - Ctrl-Shift-[ (Cmd-Alt-[ on macOS): [`foldCode`](https://codemirror.net/6/docs/ref/#language.foldCode).
@@ -1,4 +1,4 @@
1
- async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredClike,clike$1={},clikeExports=function requireClike(){function Context(indented,column,type,info,align,prev){this.indented=indented,this.column=column,this.type=type,this.info=info,this.align=align,this.prev=prev}function pushContext(state,col,type,info){var indent=state.indented;return state.context&&"statement"==state.context.type&&"statement"!=type&&(indent=state.context.indented),state.context=new Context(indent,col,type,info,null,state.context)}function popContext(state){var t=state.context.type;return(")"==t||"]"==t||"}"==t)&&(state.indented=state.context.indented),state.context=state.context.prev}function typeBefore(stream,state,pos){return"variable"==state.prevToken||"type"==state.prevToken||!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(stream.string.slice(0,pos))||!!(state.typeAtEndOfLine&&stream.column()==stream.indentation())||void 0}function isTopScope(context){for(;;){if(!context||"top"==context.type)return!0;if("}"==context.type&&"namespace"!=context.prev.info)return(/* eat */!1);context=context.prev}}function clike(parserConfig){function tokenBase(stream,state){var ch=stream.next();if(hooks[ch]){var result=hooks[ch](stream,state);if(!1!==result)return result}if("\""==ch||"'"==ch)return state.tokenize=tokenString(ch),state.tokenize(stream,state);if(numberStart.test(ch)){if(stream.backUp(1),stream.match(number))return"number";stream.next()}if(isPunctuationChar.test(ch))return curPunc=ch,null;if("/"==ch){if(stream.eat("*"))return state.tokenize=tokenComment,tokenComment(stream,state);if(stream.eat("/"))return stream.skipToEnd(),"comment"}if(isOperatorChar.test(ch)){for(;!stream.match(/^\/[\/*]/,!1)&&stream.eat(isOperatorChar););return"operator"}if(stream.eatWhile(isIdentifierChar),namespaceSeparator)for(;stream.match(namespaceSeparator);)stream.eatWhile(isIdentifierChar);var cur=stream.current();return contains(keywords,cur)?(contains(blockKeywords,cur)&&(curPunc="newstatement"),contains(defKeywords,cur)&&(isDefKeyword=!0),"keyword"):contains(types,cur)?"type":contains(builtin,cur)||isReservedIdentifier&&isReservedIdentifier(cur)?(contains(blockKeywords,cur)&&(curPunc="newstatement"),"builtin"):contains(atoms,cur)?"atom":"variable"}function tokenString(quote){return function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}escaped=!escaped&&"\\"==next}return(end||!(escaped||multiLineStrings))&&(state.tokenize=null),"string"}}function tokenComment(stream,state){for(var ch,maybeEnd=!1;ch=stream.next();){if("/"==ch&&maybeEnd){state.tokenize=null;break}maybeEnd="*"==ch}return"comment"}function maybeEOL(stream,state){parserConfig.typeFirstDefinitions&&stream.eol()&&isTopScope(state.context)&&(state.typeAtEndOfLine=typeBefore(stream,state,stream.pos))}// Interface
1
+ async function moduleInitFunction(requireAsyncModule,exports={}){const module={exports:exports};var hasRequiredClike,clike$1={},clikeExports=function requireClike(){function Context(indented,column,type,info,align,prev){this.indented=indented,this.column=column,this.type=type,this.info=info,this.align=align,this.prev=prev}function pushContext(state,col,type,info){var indent=state.indented;return state.context&&"statement"==state.context.type&&"statement"!=type&&(indent=state.context.indented),state.context=new Context(indent,col,type,info,null,state.context)}function popContext(state){var t=state.context.type;return(")"==t||"]"==t||"}"==t)&&(state.indented=state.context.indented),state.context=state.context.prev}function typeBefore(stream,state,pos){return"variable"==state.prevToken||"type"==state.prevToken||!!/\S(?:[^- ]>|[*\]])\s*$|\*$/.test(stream.string.slice(0,pos))||!!(state.typeAtEndOfLine&&stream.column()==stream.indentation())||void 0}function isTopScope(context){for(;;){if(!context||"top"==context.type)return!0;if("}"==context.type&&"namespace"!=context.prev.info)return/* eat */!1;context=context.prev}}function clike(parserConfig){function tokenBase(stream,state){var ch=stream.next();if(hooks[ch]){var result=hooks[ch](stream,state);if(!1!==result)return result}if("\""==ch||"'"==ch)return state.tokenize=tokenString(ch),state.tokenize(stream,state);if(numberStart.test(ch)){if(stream.backUp(1),stream.match(number))return"number";stream.next()}if(isPunctuationChar.test(ch))return curPunc=ch,null;if("/"==ch){if(stream.eat("*"))return state.tokenize=tokenComment,tokenComment(stream,state);if(stream.eat("/"))return stream.skipToEnd(),"comment"}if(isOperatorChar.test(ch)){for(;!stream.match(/^\/[\/*]/,!1)&&stream.eat(isOperatorChar););return"operator"}if(stream.eatWhile(isIdentifierChar),namespaceSeparator)for(;stream.match(namespaceSeparator);)stream.eatWhile(isIdentifierChar);var cur=stream.current();return contains(keywords,cur)?(contains(blockKeywords,cur)&&(curPunc="newstatement"),contains(defKeywords,cur)&&(isDefKeyword=!0),"keyword"):contains(types,cur)?"type":contains(builtin,cur)||isReservedIdentifier&&isReservedIdentifier(cur)?(contains(blockKeywords,cur)&&(curPunc="newstatement"),"builtin"):contains(atoms,cur)?"atom":"variable"}function tokenString(quote){return function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}escaped=!escaped&&"\\"==next}return(end||!(escaped||multiLineStrings))&&(state.tokenize=null),"string"}}function tokenComment(stream,state){for(var ch,maybeEnd=!1;ch=stream.next();){if("/"==ch&&maybeEnd){state.tokenize=null;break}maybeEnd="*"==ch}return"comment"}function maybeEOL(stream,state){parserConfig.typeFirstDefinitions&&stream.eol()&&isTopScope(state.context)&&(state.typeAtEndOfLine=typeBefore(stream,state,stream.pos))}// Interface
2
2
  var curPunc,isDefKeyword,statementIndentUnit=parserConfig.statementIndentUnit,dontAlignCalls=parserConfig.dontAlignCalls,keywords=parserConfig.keywords||{},types=parserConfig.types||{},builtin=parserConfig.builtin||{},blockKeywords=parserConfig.blockKeywords||{},defKeywords=parserConfig.defKeywords||{},atoms=parserConfig.atoms||{},hooks=parserConfig.hooks||{},multiLineStrings=parserConfig.multiLineStrings,indentStatements=!1!==parserConfig.indentStatements,indentSwitch=!1!==parserConfig.indentSwitch,namespaceSeparator=parserConfig.namespaceSeparator,isPunctuationChar=parserConfig.isPunctuationChar||/[\[\]{}\(\),;\:\.]/,numberStart=parserConfig.numberStart||/[\d\.]/,number=parserConfig.number||/^(?:0x[a-f\d]+|0b[01]+|(?:\d+\.?\d*|\.\d+)(?:e[-+]?\d+)?)(u|ll?|l|f)?/i,isOperatorChar=parserConfig.isOperatorChar||/[+\-*&%=<>!?|\/]/,isIdentifierChar=parserConfig.isIdentifierChar||/[\w\$_\xa1-\uffff]/,// An optional function that takes a {string} token and returns true if it
3
3
  // should be treated as a builtin.
4
4
  isReservedIdentifier=parserConfig.isReservedIdentifier||!1;return{name:parserConfig.name,startState:function(indentUnit){return{tokenize:null,context:new Context(-indentUnit,0,"top",null,!1),indented:0,startOfLine:!0,prevToken:null}},token:function(stream,state){var ctx=state.context;if(stream.sol()&&(null==ctx.align&&(ctx.align=!1),state.indented=stream.indentation(),state.startOfLine=!0),stream.eatSpace())return maybeEOL(stream,state),null;curPunc=isDefKeyword=null;var style=(state.tokenize||tokenBase)(stream,state);if("comment"==style||"meta"==style)return style;if(null==ctx.align&&(ctx.align=!0),";"==curPunc||":"==curPunc||","==curPunc&&stream.match(/^\s*(?:\/\/.*)?$/,!1))for(;"statement"==state.context.type;)popContext(state);else if("{"==curPunc)pushContext(state,stream.column(),"}");else if("["==curPunc)pushContext(state,stream.column(),"]");else if("("==curPunc)pushContext(state,stream.column(),")");else if("}"==curPunc){for(;"statement"==ctx.type;)ctx=popContext(state);for("}"==ctx.type&&(ctx=popContext(state));"statement"==ctx.type;)ctx=popContext(state)}else curPunc==ctx.type?popContext(state):indentStatements&&(("}"==ctx.type||"top"==ctx.type)&&";"!=curPunc||"statement"==ctx.type&&"newstatement"==curPunc)&&pushContext(state,stream.column(),"statement",stream.current());if("variable"==style&&("def"==state.prevToken||parserConfig.typeFirstDefinitions&&typeBefore(stream,state,stream.start)&&isTopScope(state.context)&&stream.match(/^\s*\(/,!1))&&(style="def"),hooks.token){var result=hooks.token(stream,state,style);void 0!==result&&(style=result)}return"def"==style&&!1===parserConfig.styleDefs&&(style="variable"),state.startOfLine=!1,state.prevToken=isDefKeyword?"def":style||curPunc,maybeEOL(stream,state),style},indent:function(state,textAfter,context){if(state.tokenize!=tokenBase&&null!=state.tokenize||state.typeAtEndOfLine&&isTopScope(state.context))return null;var ctx=state.context,firstChar=textAfter&&textAfter.charAt(0),closing=firstChar==ctx.type;if("statement"==ctx.type&&"}"==firstChar&&(ctx=ctx.prev),parserConfig.dontIndentStatements)for(;"statement"==ctx.type&&parserConfig.dontIndentStatements.test(ctx.info);)ctx=ctx.prev;if(hooks.indent){var hook=hooks.indent(state,ctx,textAfter,context.unit);if("number"==typeof hook)return hook}var switchBlock=ctx.prev&&"switch"==ctx.prev.info;if(parserConfig.allmanIndentation&&/[{(]/.test(firstChar)){for(;"top"!=ctx.type&&"}"!=ctx.type;)ctx=ctx.prev;return ctx.indented}return"statement"==ctx.type?ctx.indented+("{"==firstChar?0:statementIndentUnit||context.unit):ctx.align&&(!dontAlignCalls||")"!=ctx.type)?ctx.column+(closing?0:1):")"!=ctx.type||closing?ctx.indented+(closing?0:context.unit)+(closing||!switchBlock||/^(?:case|default)\b/.test(textAfter)?0:context.unit):ctx.indented+(statementIndentUnit||context.unit)},languageData:{indentOnInput:indentSwitch?/^\s*(?:case .*?:|default:|\{\}?|\})$/:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}},autocomplete:Object.keys(keywords).concat(Object.keys(types)).concat(Object.keys(builtin)).concat(Object.keys(atoms)),...parserConfig.languageData}}}function words(str){for(var obj={},words=str.split(" "),i=0;i<words.length;++i)obj[words[i]]=!0;return obj}function contains(words,word){return"function"==typeof words?words(word):words.propertyIsEnumerable(word)}// Returns true if identifier is a "C" type.
@@ -6,7 +6,7 @@ return(ch=stream.next(),"\""===ch)?(state.tokenize=tokenString,state.tokenize(st
6
6
  // Numbers in a baseform
7
7
  // Mathematica numbers. Floats (1.2, .2, 1.) can have optionally a precision (`float) or an accuracy definition
8
8
  // (``float). Note: while 1.2` is possible 1.2`` is not. At the end an exponent (float*^+12) can follow.
9
- /* In[23] and Out[34] */ // usage
9
+ /* In[23] and Out[34] */// usage
10
10
  // message
11
11
  // this makes a look-ahead match for something like variable:{_Integer}
12
12
  // the match is then forwarded to the mma-patterns tokenizer.
@@ -12,6 +12,6 @@ if("\""==ch||"'"==ch)return state.tokenize=tokenString(ch),state.tokenize(stream
12
12
  if(/[~\d]/.test(ch)){if("~"==ch){if(!/^[0-9]/.test(stream.peek()))return null;if("0"==stream.next()&&stream.match(/^[xX][0-9a-fA-F]+/)||stream.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/))return"number"}return"0"==ch&&stream.match(/^[xX][0-9a-fA-F]+/)||stream.match(/^[0-9]*(\.[0-9]+)?([eE][~+]?[0-9]+)?/)?"number":null}// Comments
13
13
  return"%"==ch?(stream.skipToEnd(),"comment"):"/"==ch&&stream.eat("*")?(state.tokenize=tokenComment,tokenComment(stream,state)):singleOperators.test(ch)?"operator":(stream.eatWhile(/\w/),"variable");// Single operators
14
14
  // If nothing match, we skip the entire alphanumerical block
15
- }function tokenClass(stream,state){return stream.eatSpace()?null:(stream.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)/),state.tokenize=tokenBase,"type")}function tokenMeth(stream,state){return stream.eatSpace()?null:(stream.match(/([a-zA-Z][A-Za-z0-9_]*)|(`.+`)/),state.tokenize=tokenBase,"def")}function tokenFunProc(stream,state){return stream.eatSpace()?null:!state.hasPassedFirstStage&&stream.eat("{")?(state.hasPassedFirstStage=!0,"bracket"):state.hasPassedFirstStage?(stream.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)|\$/),state.hasPassedFirstStage=!1,state.tokenize=tokenBase,"def"):(state.tokenize=tokenBase,null)}function tokenComment(stream,state){for(var ch,maybeEnd=!1;ch=stream.next();){if("/"==ch&&maybeEnd){state.tokenize=tokenBase;break}maybeEnd="*"==ch}return"comment"}function tokenString(quote){return function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}escaped=!escaped&&"\\"==next}return state.tokenize=tokenBase,"string"}}function buildElectricInputRegEx(){// Reindentation should occur on [] or on a match of any of
15
+ }function tokenClass(stream,state){return stream.eatSpace()?null:(stream.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)/),state.tokenize=tokenBase,"type")}function tokenMeth(stream,state){return stream.eatSpace()?null:(stream.match(/([a-zA-Z][A-Za-z0-9_]*)|(`.+`)/),state.tokenize=tokenBase,"def")}function tokenFunProc(stream,state){return stream.eatSpace()?null:!state.hasPassedFirstStage&&stream.eat("{")?(state.hasPassedFirstStage=!0,"bracket"):state.hasPassedFirstStage?(stream.match(/([A-Z][A-Za-z0-9_]*)|(`.+`)|\$/),state.hasPassedFirstStage=!1,state.tokenize=tokenBase,"def"):(state.tokenize=tokenBase,null)}function tokenComment(stream,state){for(var ch,maybeEnd=!1;ch=stream.next();){if("/"==ch&&maybeEnd){state.tokenize=tokenBase;break}maybeEnd="*"==ch}return"comment"}function tokenString(quote){return function(stream,state){for(var next,escaped=!1,end=!1;null!=(next=stream.next());){if(next==quote&&!escaped){end=!0;break}escaped=!escaped&&"\\"==next}return(end||!escaped)&&(state.tokenize=tokenBase),"string"}}function buildElectricInputRegEx(){// Reindentation should occur on [] or on a match of any of
16
16
  // the block closing keywords, at the end of a line.
17
17
  var allClosings=middle.concat(end);return new RegExp("[\\[\\]]|("+allClosings.join("|")+")$")}if(hasRequiredOz)return oz$1;hasRequiredOz=1,Object.defineProperty(oz$1,"__esModule",{value:!0});var singleOperators=/[\^@!\|<>#~\.\*\-\+\\/,=]/,doubleOperators=/(<-)|(:=)|(=<)|(>=)|(<=)|(<:)|(>:)|(=:)|(\\=)|(\\=:)|(!!)|(==)|(::)/,tripleOperators=/(:::)|(\.\.\.)|(=<:)|(>=:)/,middle=["in","then","else","of","elseof","elsecase","elseif","catch","finally","with","require","prepare","import","export","define","do"],end=["end"],atoms=wordRegexp(["true","false","nil","unit"]),commonKeywords=wordRegexp(["andthen","at","attr","declare","feat","from","lex","mod","div","mode","orelse","parser","prod","prop","scanner","self","syn","token"]),openingKeywords=wordRegexp(["local","proc","fun","case","class","if","cond","or","dis","choice","not","thread","try","raise","lock","for","suchthat","meth","functor"]),middleKeywords=wordRegexp(middle),endKeywords=wordRegexp(end);const oz={name:"oz",startState:function(){return{tokenize:tokenBase,currentIndent:0,doInCurrentLine:!1,hasPassedFirstStage:!1}},token:function(stream,state){return stream.sol()&&(state.doInCurrentLine=0),state.tokenize(stream,state)},indent:function(state,textAfter,cx){var trueText=textAfter.replace(/^\s+|\s+$/g,"");return trueText.match(endKeywords)||trueText.match(middleKeywords)||trueText.match(/(\[])/)?cx.unit*(state.currentIndent-1):0>state.currentIndent?0:state.currentIndent*cx.unit},languageData:{indentOnInut:buildElectricInputRegEx(),commentTokens:{line:"%",block:{open:"/*",close:"*/"}}}};return oz$1.oz=oz,oz$1}(),oz=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(ozExports);return module.exports=oz,module.exports}
@@ -25,7 +25,7 @@ var curPunc,curKeyword,statementIndentUnit=parserConfig.statementIndentUnit,dont
25
25
  ! | ~ | & | ~& | | | ~| | ^ | ~^ | ^~
26
26
  binary_module_path_operator ::=
27
27
  == | != | && | || | & | | | ^ | ^~ | ~^
28
- */ // Block openings which are closed by a matching keyword in the form of ("end" + keyword)
28
+ */// Block openings which are closed by a matching keyword in the form of ("end" + keyword)
29
29
  // E.g. "task" => "endtask"
30
30
  // Opening/closing pairs
31
31
  for(var keyword in blockKeywords)openClose[keyword]="end"+keyword;for(var i in openClose.begin="end",openClose.casex="endcase",openClose.casez="endcase",openClose["do"]="while",openClose.fork="join;join_any;join_none",openClose.covergroup="endgroup",noIndentKeywords){var keyword=noIndentKeywords[i];openClose[keyword]&&(openClose[keyword]=void 0)}// Keywords which open statements that are ended with a semi-colon
@@ -5,9 +5,9 @@ async function moduleInitFunction(requireAsyncModule,exports={}){const module={e
5
5
  */function setDiagnostics(state,diagnostics){return{effects:maybeEnableLint(state,[setDiagnosticsEffect.of(diagnostics)])}}/**
6
6
  The state effect that updates the set of active diagnostics. Can
7
7
  be useful when writing an extension that needs to track these.
8
- */ /**
8
+ *//**
9
9
  Returns the number of active lint diagnostics in the given state.
10
- */function diagnosticCount(state){let lint=state.field(lintState,!1);return lint?lint.diagnostics.size:0}function lintTooltip(view,pos,side){let found,{diagnostics}=view.state.field(lintState),start=-1,end=-1;diagnostics.between(pos-(0>side?1:0),pos+(0<side?1:0),(from,to,{spec})=>{if(pos>=from&&pos<=to&&(from==to||(pos>from||0<side)&&(pos<to||0>side)))return found=spec.diagnostics,start=from,end=to,!1});let diagnosticFilter=view.state.facet(lintConfig).tooltipFilter;return found&&diagnosticFilter&&(found=diagnosticFilter(found,view.state)),found?{pos:start,end:end,above:view.state.doc.lineAt(start).to<end,create(){return{dom:diagnosticsTooltip(view,found)}}}:null}function diagnosticsTooltip(view,diagnostics){return elt("ul",{class:"cm-tooltip-lint"},diagnostics.map(d=>renderDiagnostic(view,d,!1)))}/**
10
+ */function diagnosticCount(state){let lint=state.field(lintState,!1);return lint?lint.diagnostics.size:0}function lintTooltip(view,pos,side){let found,{diagnostics}=view.state.field(lintState),start=-1,end=-1;diagnostics.between(pos-(0>side?1:0),pos+(0<side?1:0),(from,to,{spec})=>{if(pos>=from&&pos<=to&&(from==to||(pos>from||0<side)&&(pos<to||0>side)))return found=spec.diagnostics,start=from,end=to,!1});let diagnosticFilter=view.state.facet(lintConfig).tooltipFilter;return found&&diagnosticFilter&&(found=diagnosticFilter(found,view.state)),found?{pos:start,end:end,above:!0,create(){return{dom:diagnosticsTooltip(view,found)}}}:null}function diagnosticsTooltip(view,diagnostics){return elt("ul",{class:"cm-tooltip-lint"},diagnostics.map(d=>renderDiagnostic(view,d,!1)))}/**
11
11
  Command to open and focus the lint panel.
12
12
  */function batchResults(promises,sink,error){let collected=[],timeout=-1;for(let p of promises)p.then(value=>{collected.push(value),clearTimeout(timeout),collected.length==promises.length?sink(collected):timeout=setTimeout(()=>sink(collected),200)},error)}function combineFilter(a,b){return a?b?(d,s)=>b(a(d,s),s):a:b}/**
13
13
  Given a diagnostic source, this function returns an extension that
@@ -33,11 +33,11 @@ async function moduleInitFunction(requireAsyncModule,exports={}){const module={e
33
33
  */function forEachDiagnostic(state$1,f){let lState=state$1.field(lintState,!1);if(lState&&lState.diagnostics.size){let pending=[],pendingStart=[],lastEnd=-1;for(let iter=state.RangeSet.iter([lState.diagnostics]);;iter.next()){for(let i=0;i<pending.length;i++)(!iter.value||0>iter.value.spec.diagnostics.indexOf(pending[i]))&&(f(pending[i],pendingStart[i],lastEnd),pending.splice(i,1),pendingStart.splice(i--,1));if(!iter.value)break;for(let d of iter.value.spec.diagnostics)0>pending.indexOf(d)&&(pending.push(d),pendingStart.push(iter.from));lastEnd=iter.to}}}if(hasRequiredDist)return dist;hasRequiredDist=1;var view=require$$0,state=require$$1,elt=require$$2;class SelectedDiagnostic{constructor(from,to,diagnostic){this.from=from,this.to=to,this.diagnostic=diagnostic}}class LintState{constructor(diagnostics,panel,selected){this.diagnostics=diagnostics,this.panel=panel,this.selected=selected}static init(diagnostics,panel,state$1){// Filter the list of diagnostics for which to create markers
34
34
  let diagnosticFilter=state$1.facet(lintConfig).markerFilter;diagnosticFilter&&(diagnostics=diagnosticFilter(diagnostics,state$1));let sorted=diagnostics.slice().sort((a,b)=>a.from-b.from||a.to-b.to),deco=new state.RangeSetBuilder,active=[],pos=0,scan=state$1.doc.iter(),scanPos=0,docLen=state$1.doc.length;for(let next,i=0;;){if(next=i==sorted.length?null:sorted[i],!next&&!active.length)break;let from,to;if(active.length)from=pos,to=active.reduce((p,d)=>Math.min(p,d.to),next&&next.from>from?next.from:1e8);else{if(from=next.from,from>docLen)break;to=next.to,active.push(next),i++}for(;i<sorted.length;){let next=sorted[i];if(next.from==from&&(next.to>next.from||next.to==from))active.push(next),i++,to=Math.min(next.to,to);else{to=Math.min(next.from,to);break}}to=Math.min(to,docLen);let widget=!1;if(active.some(d=>d.from==from&&(d.to==to||to==docLen))&&(widget=from==to,!widget&&10>to-from)){let behind=from-(scanPos+scan.value.length);0<behind&&(scan.next(behind),scanPos=from);for(let check=from;;){if(check>=to){widget=!0;break}if(!scan.lineBreak&&scanPos+scan.value.length>check)break;check=scanPos+scan.value.length,scanPos+=scan.value.length,scan.next()}}let sev=maxSeverity(active);if(widget)deco.add(from,from,view.Decoration.widget({widget:new DiagnosticWidget(sev),diagnostics:active.slice()}));else{let markClass=active.reduce((c,d)=>d.markClass?c+" "+d.markClass:c,"");deco.add(from,to,view.Decoration.mark({class:"cm-lintRange cm-lintRange-"+sev+markClass,diagnostics:active.slice(),inclusiveEnd:active.some(a=>a.to>to)}))}if(pos=to,pos==docLen)break;for(let i=0;i<active.length;i++)active[i].to<=pos&&active.splice(i--,1)}let set=deco.finish();return new LintState(set,panel,findDiagnostic(set))}}const setDiagnosticsEffect=state.StateEffect.define(),togglePanel=state.StateEffect.define(),movePanelSelection=state.StateEffect.define(),lintState=state.StateField.define({create(){return new LintState(view.Decoration.none,null,null)},update(value,tr){if(tr.docChanged&&value.diagnostics.size){let mapped=value.diagnostics.map(tr.changes),selected=null,panel=value.panel;if(value.selected){let selPos=tr.changes.mapPos(value.selected.from,1);selected=findDiagnostic(mapped,value.selected.diagnostic,selPos)||findDiagnostic(mapped,null,selPos)}!mapped.size&&panel&&tr.state.facet(lintConfig).autoPanel&&(panel=null),value=new LintState(mapped,panel,selected)}for(let effect of tr.effects)if(effect.is(setDiagnosticsEffect)){let panel=tr.state.facet(lintConfig).autoPanel?effect.value.length?LintPanel.open:null:value.panel;value=LintState.init(effect.value,panel,tr.state)}else effect.is(togglePanel)?value=new LintState(value.diagnostics,effect.value?LintPanel.open:null,value.selected):effect.is(movePanelSelection)&&(value=new LintState(value.diagnostics,value.panel,effect.value));return value},provide:f=>[view.showPanel.from(f,val=>val.panel),view.EditorView.decorations.from(f,s=>s.diagnostics)]}),activeMark=view.Decoration.mark({class:"cm-lintRange cm-lintRange-active"}),openLintPanel=view$1=>{let field=view$1.state.field(lintState,!1);field&&field.panel||view$1.dispatch({effects:maybeEnableLint(view$1.state,[togglePanel.of(!0)])});let panel=view.getPanel(view$1,LintPanel.open);return panel&&panel.dom.querySelector(".cm-panel-lint ul").focus(),!0},closeLintPanel=view=>{let field=view.state.field(lintState,!1);return!!(field&&field.panel)&&(view.dispatch({effects:togglePanel.of(!1)}),!0)},nextDiagnostic=view$1=>{let field=view$1.state.field(lintState,!1);if(!field)return!1;let sel=view$1.state.selection.main,next=findDiagnostic(field.diagnostics,null,sel.to+1);return(next||(next=findDiagnostic(field.diagnostics,null,0),next&&(next.from!=sel.from||next.to!=sel.to)))&&(view$1.dispatch({selection:{anchor:next.from,head:next.to},scrollIntoView:!0}),view.activateHover(view$1,next.from,1,{tooltip:lintHover,until:tr=>tr.docChanged||tr.newSelection.main.head<next.from||tr.newSelection.main.head>next.to}),!0)},previousDiagnostic=view$1=>{var _a;let{state}=view$1,field=state.field(lintState,!1);if(!field)return!1;let prevFrom,prevTo,lastFrom,lastTo,sel=state.selection.main;if(field.diagnostics.between(0,state.doc.length,(from,to)=>{to<sel.to&&(null==prevFrom||prevFrom<from)&&(prevFrom=from,prevTo=to),(null==lastFrom||from>lastFrom)&&(lastFrom=from,lastTo=to)}),null==lastFrom||null==prevFrom&&lastFrom==sel.from)return!1;let from=null!==prevFrom&&void 0!==prevFrom?prevFrom:lastFrom,to=null!==(_a=null!==prevTo&&void 0!==prevTo?prevTo:lastTo)&&void 0!==_a?_a:from;return view$1.dispatch({selection:{anchor:from,head:to},scrollIntoView:!0}),view.activateHover(view$1,from,1,{tooltip:lintHover,until:tr=>tr.docChanged||tr.newSelection.main.head<from||tr.newSelection.main.head>to}),!0},lintKeymap=[{key:"Mod-Shift-m",run:openLintPanel,preventDefault:!0},{key:"F8",run:nextDiagnostic}],lintPlugin=view.ViewPlugin.fromClass(class{constructor(view){this.view=view,this.timeout=-1,this.set=!0;let{delay}=view.state.facet(lintConfig);this.lintTime=Date.now()+delay,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,delay)}run(){clearTimeout(this.timeout);let now=Date.now();if(now<this.lintTime-10)this.timeout=setTimeout(this.run,this.lintTime-now);else{this.set=!1;let{state}=this.view,{sources}=state.facet(lintConfig);sources.length&&batchResults(sources.map(s=>Promise.resolve(s(this.view))),annotations=>{this.view.state.doc==state.doc&&this.view.dispatch(setDiagnostics(this.view.state,annotations.reduce((a,b)=>a.concat(b))))},error=>{view.logException(this.view.state,error)})}}update(update){let config=update.state.facet(lintConfig);(update.docChanged||config!=update.startState.facet(lintConfig)||config.needsRefresh&&config.needsRefresh(update))&&(this.lintTime=Date.now()+config.delay,!this.set&&(this.set=!0,this.timeout=setTimeout(this.run,config.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}}),lintConfig=state.Facet.define({combine(input){return{sources:input.map(i=>i.source).filter(x=>null!=x),...state.combineConfig(input.map(i=>i.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:combineFilter,tooltipFilter:combineFilter,needsRefresh:(a,b)=>a?b?u=>a(u)||b(u):a:b,hideOn:(a,b)=>a?b?(t,x,y)=>a(t,x,y)||b(t,x,y):a:b,autoPanel:(a,b)=>a||b})}}});/**
35
35
  Command to close the lint panel, when open.
36
- */ /**
36
+ *//**
37
37
  Move the selection to the next diagnostic.
38
- */ /**
38
+ *//**
39
39
  Move the selection to the previous diagnostic.
40
- */ /**
40
+ *//**
41
41
  A set of default key bindings for the lint functionality.
42
42
 
43
43
  - Ctrl-Shift-m (Cmd-Shift-m on macOS): [`openLintPanel`](https://codemirror.net/6/docs/ref/#lint.openLintPanel)
@@ -62,7 +62,7 @@ if(posA<endA){let heightA=a.lineBlockAt(posA).top+offA,heightB=b.lineBlockAt(pos
62
62
  if(endA>posA+1e3&&posA<vpA.from&&endA>vpA.from&&posB<vpB.from&&endB>vpB.from){let off=Math.min(vpA.from-posA,vpB.from-posB);posA+=off,posB+=off,chunkI--}else if(!chunk)break;else posA=chunk.toA,posB=chunk.toB;for(;spacersA.value&&spacersA.from<posA;)offA-=spacersA.value.spec.widget.height,spacersA.next();for(;spacersB.value&&spacersB.from<posB;)offB-=spacersB.value.spec.widget.height,spacersB.next()}for(;spacersA.value;)offA-=spacersA.value.spec.widget.height,spacersA.next();for(;spacersB.value;)offB-=spacersB.value.spec.widget.height,spacersB.next();let docDiff=a.contentHeight+offA-(b.contentHeight+offB);docDiff<epsilon?buildA.add(a.state.doc.length,a.state.doc.length,view.Decoration.widget({widget:new Spacer(-docDiff),block:!0,side:1})):docDiff>epsilon&&buildB.add(b.state.doc.length,b.state.doc.length,view.Decoration.widget({widget:new Spacer(docDiff),block:!0,side:1}));let decoA=buildA.finish(),decoB=buildB.finish();compareSpacers(decoA,a.state.field(Spacers))||a.dispatch({effects:adjustSpacers.of(decoA)}),compareSpacers(decoB,b.state.field(Spacers))||b.dispatch({effects:adjustSpacers.of(decoB)})}/**
63
63
  A state effect that expands the section of collapsed unchanged
64
64
  code starting at the given position.
65
- */ /**
65
+ *//**
66
66
  Query whether the given view is displayed next to another editor
67
67
  in a merge view. Returns `null` if it isn't, and a pair of editors
68
68
  (one of which will be the view itself) otherwise.
@@ -74,7 +74,7 @@ if(endA>posA+1e3&&posA<vpA.from&&endA>vpA.from&&posB<vpB.from&&endB>vpB.from){le
74
74
  */function unifiedMergeView(config){var _a;let orig="string"==typeof config.original?state.Text.of(config.original.split(/\r?\n/)):config.original,diffConf=config.diffConfig||defaultDiffConfig;return[state.Prec.low(decorateChunks),deletedChunks,baseTheme,view.EditorView.editorAttributes.of({class:"cm-merge-b"}),computeChunks.of((chunks,tr)=>{let updateDoc=tr.effects.find(e=>e.is(updateOriginalDoc));return updateDoc&&(chunks=Chunk.updateA(chunks,updateDoc.value.doc,tr.startState.doc,updateDoc.value.changes,diffConf)),tr.docChanged&&(chunks=Chunk.updateB(chunks,tr.state.field(originalDoc),tr.newDoc,tr.changes,diffConf)),chunks}),mergeConfig.of({highlightChanges:!1!==config.highlightChanges,markGutter:!1!==config.gutter,syntaxHighlightDeletions:!1!==config.syntaxHighlightDeletions,syntaxHighlightDeletionsMaxLength:3e3,mergeControls:null===(_a=config.mergeControls)||void 0===_a||_a,overrideChunk:config.allowInlineDiffs?overrideChunkInline:void 0,side:"b"}),originalDoc.init(()=>orig),!1===config.gutter?[]:unifiedChangeGutter,config.collapseUnchanged?collapseUnchanged(config.collapseUnchanged):[],ChunkField.init(state=>Chunk.build(orig,state.doc,diffConf))]}/**
75
75
  The state effect used to signal changes in the original doc in a
76
76
  unified merge view.
77
- */ /**
77
+ *//**
78
78
  Create an effect that, when added to a transaction on a unified
79
79
  merge view, will update the original document that's being compared against.
80
80
  */function originalDocChangeEffect(state,changes){return updateOriginalDoc.of({doc:changes.apply(getOriginalDoc(state)),changes})}/**
@@ -108,7 +108,7 @@ const frontier1=new Frontier,frontier2=new Frontier;let wordChar;try{wordChar=/[
108
108
  Move the selection to the next changed chunk.
109
109
  */const goToNextChunk=moveByChunk(1),goToPreviousChunk=moveByChunk(-1);/**
110
110
  Move the selection to the previous changed chunk.
111
- */ /**
111
+ *//**
112
112
  A chunk describes a range of lines which have changed content in
113
113
  them. Either side (a/b) may either be empty (when its `to` is
114
114
  equal to its `from`), or points at a range starting at the start
@@ -162,6 +162,6 @@ const frontier1=new Frontier,frontier2=new Frontier;let wordChar;try{wordChar=/[
162
162
  Create a new merge view.
163
163
  */constructor(config){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=config.diffConfig||defaultDiffConfig;let sharedExtensions=[state.Prec.low(decorateChunks),baseTheme,externalTheme,Spacers,view.EditorView.updateListener.of(update=>{0>this.measuring&&(update.heightChanged||update.viewportChanged)&&!update.transactions.some(tr=>tr.effects.some(e=>e.is(adjustSpacers)))&&this.measure()})],configA=[mergeConfig.of({side:"a",sibling:()=>this.b,highlightChanges:!1!==config.highlightChanges,markGutter:!1!==config.gutter})];!1!==config.gutter&&configA.push(changeGutter);let stateA=state.EditorState.create({doc:config.a.doc,selection:config.a.selection,extensions:[config.a.extensions||[],view.EditorView.editorAttributes.of({class:"cm-merge-a"}),configCompartment.of(configA),sharedExtensions]}),configB=[mergeConfig.of({side:"b",sibling:()=>this.a,highlightChanges:!1!==config.highlightChanges,markGutter:!1!==config.gutter})];!1!==config.gutter&&configB.push(changeGutter);let stateB=state.EditorState.create({doc:config.b.doc,selection:config.b.selection,extensions:[config.b.extensions||[],view.EditorView.editorAttributes.of({class:"cm-merge-b"}),configCompartment.of(configB),sharedExtensions]});this.chunks=Chunk.build(stateA.doc,stateB.doc,this.diffConf);let add=[ChunkField.init(()=>this.chunks),collapseCompartment.of(config.collapseUnchanged?collapseUnchanged(config.collapseUnchanged):[])];stateA=stateA.update({effects:state.StateEffect.appendConfig.of(add)}).state,stateB=stateB.update({effects:state.StateEffect.appendConfig.of(add)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let orientation=config.orientation||"a-b",wrapA=document.createElement("div");wrapA.className="cm-mergeViewEditor";let wrapB=document.createElement("div");wrapB.className="cm-mergeViewEditor",this.editorDOM.appendChild("a-b"==orientation?wrapA:wrapB),this.editorDOM.appendChild("a-b"==orientation?wrapB:wrapA),this.a=new view.EditorView({state:stateA,parent:wrapA,root:config.root,dispatchTransactions:trs=>this.dispatch(trs,this.a)}),this.b=new view.EditorView({state:stateB,parent:wrapB,root:config.root,dispatchTransactions:trs=>this.dispatch(trs,this.b)}),this.setupRevertControls(!!config.revertControls,"b-to-a"==config.revertControls,config.renderRevertControl),config.parent&&config.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(trs,target){if(trs.some(tr=>tr.docChanged)){let last=trs[trs.length-1],changes=trs.reduce((chs,tr)=>chs.compose(tr.changes),state.ChangeSet.empty(trs[0].startState.doc.length));this.chunks=target==this.a?Chunk.updateA(this.chunks,last.newDoc,this.b.state.doc,changes,this.diffConf):Chunk.updateB(this.chunks,this.a.state.doc,last.newDoc,changes,this.diffConf),target.update([...trs,last.state.update({effects:setChunks.of(this.chunks)})]);let other=target==this.a?this.b:this.a;other.update([other.state.update({effects:setChunks.of(this.chunks)})]),this.scheduleMeasure()}else target.update(trs)}/**
164
164
  Reconfigure an existing merge view.
165
- */reconfigure(config){if("diffConfig"in config&&(this.diffConf=config.diffConfig),"orientation"in config){let aB="b-a"!=config.orientation;if(aB!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let domA=this.a.dom.parentNode,domB=this.b.dom.parentNode;domA.remove(),domB.remove(),this.editorDOM.insertBefore(aB?domA:domB,this.editorDOM.firstChild),this.editorDOM.appendChild(aB?domB:domA),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in config||"renderRevertControl"in config){let controls=!!this.revertDOM,toA=this.revertToA,render=this.renderRevert;"revertControls"in config&&(controls=!!config.revertControls,toA="b-to-a"==config.revertControls),"renderRevertControl"in config&&(render=config.renderRevertControl),this.setupRevertControls(controls,toA,render)}let highlight=("highlightChanges"in config),gutter=("gutter"in config),collapse=("collapseUnchanged"in config);if(highlight||gutter||collapse){let effectsA=[],effectsB=[];if(highlight||gutter){let currentConfig=this.a.state.facet(mergeConfig),markGutter=gutter?!1!==config.gutter:currentConfig.markGutter,highlightChanges=highlight?!1!==config.highlightChanges:currentConfig.highlightChanges;effectsA.push(configCompartment.reconfigure([mergeConfig.of({side:"a",sibling:()=>this.b,highlightChanges,markGutter}),markGutter?changeGutter:[]])),effectsB.push(configCompartment.reconfigure([mergeConfig.of({side:"b",sibling:()=>this.a,highlightChanges,markGutter}),markGutter?changeGutter:[]]))}if(collapse){let effect=collapseCompartment.reconfigure(config.collapseUnchanged?collapseUnchanged(config.collapseUnchanged):[]);effectsA.push(effect),effectsB.push(effect)}this.a.dispatch({effects:effectsA}),this.b.dispatch({effects:effectsB})}this.scheduleMeasure()}setupRevertControls(controls,toA,render){this.revertToA=toA,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=render,!controls&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):controls&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",e=>this.revertClicked(e)),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(0>this.measuring){let win=this.dom.ownerDocument.defaultView||window;this.measuring=win.requestAnimationFrame(()=>{this.measuring=-1,this.measure()})}}measure(){updateSpacers(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let dom=this.revertDOM,next=dom.firstChild,vpA=this.a.viewport,vpB=this.b.viewport;for(let chunk,i=0;i<this.chunks.length&&(chunk=this.chunks[i],!(chunk.fromA>vpA.to||chunk.fromB>vpB.to));i++){if(chunk.fromA<vpA.from||chunk.fromB<vpB.from)continue;let top=this.a.lineBlockAt(chunk.fromA).top+"px";for(;next&&+next.dataset.chunk<i;)next=rm(next);next&&next.dataset.chunk==i+""?(next.style.top!=top&&(next.style.top=top),next=next.nextSibling):dom.insertBefore(this.renderRevertButton(top,i),next)}for(;next;)next=rm(next)}renderRevertButton(top,chunk){let elt;if(this.renderRevert)elt=this.renderRevert();else{elt=document.createElement("button");let text=this.a.state.phrase("Revert this chunk");elt.setAttribute("aria-label",text),elt.setAttribute("title",text),elt.textContent=this.revertToLeft?"\u21DC":"\u21DD"}return elt.style.top=top,elt.setAttribute("data-chunk",chunk+""),elt}revertClicked(e){let chunk,target=e.target;for(;target&&target.parentNode!=this.revertDOM;)target=target.parentNode;if(target&&(chunk=this.chunks[target.dataset.chunk])){let[source,dest,srcFrom,srcTo,destFrom,destTo]=this.revertToA?[this.b,this.a,chunk.fromB,chunk.toB,chunk.fromA,chunk.toA]:[this.a,this.b,chunk.fromA,chunk.toA,chunk.fromB,chunk.toB],insert=source.state.sliceDoc(srcFrom,Math.max(srcFrom,srcTo-1));srcFrom!=srcTo&&destTo<=dest.state.doc.length&&(insert+=source.state.lineBreak),dest.dispatch({changes:{from:destFrom,to:Math.min(dest.state.doc.length,destTo),insert},userEvent:"revert"}),e.preventDefault()}}/**
165
+ */reconfigure(config){if("diffConfig"in config&&(this.diffConf=config.diffConfig),"orientation"in config){let aB="b-a"!=config.orientation;if(aB!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let domA=this.a.dom.parentNode,domB=this.b.dom.parentNode;domA.remove(),domB.remove(),this.editorDOM.insertBefore(aB?domA:domB,this.editorDOM.firstChild),this.editorDOM.appendChild(aB?domB:domA),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in config||"renderRevertControl"in config){let controls=!!this.revertDOM,toA=this.revertToA,render=this.renderRevert;"revertControls"in config&&(controls=!!config.revertControls,toA="b-to-a"==config.revertControls),"renderRevertControl"in config&&(render=config.renderRevertControl),this.setupRevertControls(controls,toA,render)}let highlight="highlightChanges"in config,gutter="gutter"in config,collapse="collapseUnchanged"in config;if(highlight||gutter||collapse){let effectsA=[],effectsB=[];if(highlight||gutter){let currentConfig=this.a.state.facet(mergeConfig),markGutter=gutter?!1!==config.gutter:currentConfig.markGutter,highlightChanges=highlight?!1!==config.highlightChanges:currentConfig.highlightChanges;effectsA.push(configCompartment.reconfigure([mergeConfig.of({side:"a",sibling:()=>this.b,highlightChanges,markGutter}),markGutter?changeGutter:[]])),effectsB.push(configCompartment.reconfigure([mergeConfig.of({side:"b",sibling:()=>this.a,highlightChanges,markGutter}),markGutter?changeGutter:[]]))}if(collapse){let effect=collapseCompartment.reconfigure(config.collapseUnchanged?collapseUnchanged(config.collapseUnchanged):[]);effectsA.push(effect),effectsB.push(effect)}this.a.dispatch({effects:effectsA}),this.b.dispatch({effects:effectsB})}this.scheduleMeasure()}setupRevertControls(controls,toA,render){this.revertToA=toA,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=render,!controls&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):controls&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",e=>this.revertClicked(e)),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(0>this.measuring){let win=this.dom.ownerDocument.defaultView||window;this.measuring=win.requestAnimationFrame(()=>{this.measuring=-1,this.measure()})}}measure(){updateSpacers(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let dom=this.revertDOM,next=dom.firstChild,vpA=this.a.viewport,vpB=this.b.viewport;for(let chunk,i=0;i<this.chunks.length&&(chunk=this.chunks[i],!(chunk.fromA>vpA.to||chunk.fromB>vpB.to));i++){if(chunk.fromA<vpA.from||chunk.fromB<vpB.from)continue;let top=this.a.lineBlockAt(chunk.fromA).top+"px";for(;next&&+next.dataset.chunk<i;)next=rm(next);next&&next.dataset.chunk==i+""?(next.style.top!=top&&(next.style.top=top),next=next.nextSibling):dom.insertBefore(this.renderRevertButton(top,i),next)}for(;next;)next=rm(next)}renderRevertButton(top,chunk){let elt;if(this.renderRevert)elt=this.renderRevert();else{elt=document.createElement("button");let text=this.a.state.phrase("Revert this chunk");elt.setAttribute("aria-label",text),elt.setAttribute("title",text),elt.textContent=this.revertToLeft?"\u21DC":"\u21DD"}return elt.style.top=top,elt.setAttribute("data-chunk",chunk+""),elt}revertClicked(e){let chunk,target=e.target;for(;target&&target.parentNode!=this.revertDOM;)target=target.parentNode;if(target&&(chunk=this.chunks[target.dataset.chunk])){let[source,dest,srcFrom,srcTo,destFrom,destTo]=this.revertToA?[this.b,this.a,chunk.fromB,chunk.toB,chunk.fromA,chunk.toA]:[this.a,this.b,chunk.fromA,chunk.toA,chunk.fromB,chunk.toB],insert=source.state.sliceDoc(srcFrom,Math.max(srcFrom,srcTo-1));srcFrom!=srcTo&&destTo<=dest.state.doc.length&&(insert+=source.state.lineBreak),dest.dispatch({changes:{from:destFrom,to:Math.min(dest.state.doc.length,destTo),insert},userEvent:"revert"}),e.preventDefault()}}/**
166
166
  Destroy this merge view.
167
167
  */destroy(){this.a.destroy(),this.b.destroy(),-1<this.measuring&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}}const deletedChunkGutterMarker=new class extends view.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-deletedLineGutter"}},unifiedChangeGutter=state.Prec.low(view.gutter({class:"cm-changeGutter",markers:view=>{var _a;return(null===(_a=view.plugin(decorateChunks))||void 0===_a?void 0:_a.gutter)||state.RangeSet.empty},widgetMarker:(view,widget)=>widget instanceof DeletionWidget?deletedChunkGutterMarker:null})),updateOriginalDoc=state.StateEffect.define(),originalDoc=state.StateField.define({create:()=>state.Text.empty,update(doc,tr){for(let e of tr.effects)e.is(updateOriginalDoc)&&(doc=e.value.doc);return doc}}),DeletionWidgets=new WeakMap;class DeletionWidget extends view.WidgetType{constructor(buildDOM){super(),this.buildDOM=buildDOM,this.dom=null}eq(other){return this.dom==other.dom}toDOM(view){return this.dom||(this.dom=this.buildDOM(view))}}const deletedChunks=state.StateField.define({create:state=>buildDeletedChunks(state),update(deco,tr){return tr.state.field(ChunkField,!1)==tr.startState.field(ChunkField,!1)?deco:buildDeletedChunks(tr.state)},provide:f=>view.EditorView.decorations.from(f)}),InlineChunkCache=new WeakMap;class InlineDeletion extends view.WidgetType{constructor(text){super(),this.text=text}eq(other){return this.text==other.text}toDOM(view){let elt=document.createElement("del");return elt.className="cm-deletedText",elt.textContent=this.text,elt}}const inlineChangedLineGutterMarker=new class extends view.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-inlineChangedLineGutter"}},inlineChangedLine=view.Decoration.line({class:"cm-inlineChangedLine"});return dist.Change=Change,dist.Chunk=Chunk,dist.MergeView=MergeView,dist.acceptChunk=acceptChunk,dist.diff=diff,dist.getChunks=getChunks,dist.getOriginalDoc=getOriginalDoc,dist.goToNextChunk=goToNextChunk,dist.goToPreviousChunk=goToPreviousChunk,dist.mergeViewSiblings=mergeViewSiblings,dist.originalDocChangeEffect=originalDocChangeEffect,dist.presentableDiff=presentableDiff,dist.rejectChunk=rejectChunk,dist.uncollapseUnchanged=uncollapseUnchanged,dist.unifiedMergeView=unifiedMergeView,dist.updateOriginalDoc=updateOriginalDoc,dist}(),index=/*@__PURE__*/function getDefaultExportFromCjs(x){return x}(distExports);return module.exports=index,module.exports}
@@ -6,7 +6,7 @@ async function moduleInitFunction(requireAsyncModule,exports={}){const module={e
6
6
  `-`, document percentages suffixed with `%`, and an optional
7
7
  column position by adding `:` and a second number after the line
8
8
  number.
9
- */ /**
9
+ *//**
10
10
  This extension highlights text that matches the selection. It uses
11
11
  the `"cm-selectionMatch"` class for the highlighting. When
12
12
  `highlightWordAroundCursor` is enabled, the word at the cursor
@@ -18,7 +18,7 @@ function insideWord(check,state$1,from,to){return check(state$1.sliceDoc(from,fr
18
18
  function findNextOccurrence(state,query){let{main,ranges}=state.selection,word=state.wordAt(main.head),fullWord=word&&word.from==main.from&&word.to==main.to;for(let cycled=!1,cursor=new SearchCursor(state.doc,query,ranges[ranges.length-1].to);;)if(cursor.next(),cursor.done){if(cycled)return null;cursor=new SearchCursor(state.doc,query,0,Math.max(0,ranges[ranges.length-1].from-1)),cycled=!0}else{if(cycled&&ranges.some(r=>r.from==cursor.value.from))continue;if(fullWord){let word=state.wordAt(cursor.value.from);if(!word||word.from!=cursor.value.from||word.to!=cursor.value.to)continue}return cursor.value}}/**
19
19
  Select next occurrence of the current selection. Expand selection
20
20
  to the surrounding word when the selection is empty.
21
- */ /**
21
+ *//**
22
22
  Add search state to the editor configuration, and optionally
23
23
  configure the search extension.
24
24
  ([`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) will automatically
@@ -99,18 +99,18 @@ prevMatchInRange(state,from,to){for(let pos=to;;){let start=Math.max(from,pos-1e
99
99
  Move the selection to the previous instance of the search query,
100
100
  before the current main selection. Will wrap past the start
101
101
  of the document to start searching at the end again.
102
- */ /**
102
+ *//**
103
103
  Select all instances of the search query.
104
- */ /**
104
+ *//**
105
105
  Select all instances of the currently selected text.
106
- */ /**
106
+ *//**
107
107
  Replace the current match of the search query.
108
- */ /**
108
+ *//**
109
109
  Replace all instances of the search query with the given
110
110
  replacement.
111
- */ /**
111
+ *//**
112
112
  Close the search panel.
113
- */ /**
113
+ *//**
114
114
  Default search-related key bindings.
115
115
 
116
116
  - Mod-f: [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel)
@@ -51,7 +51,7 @@ let filters=state.facet(transactionFilter);for(let filtered,i=filters.length-1;0
51
51
 
52
52
  As such, _never_ mutate properties of a state directly. That'll
53
53
  just break things.
54
- */ /**
54
+ *//**
55
55
  Utility function for combining behaviors to fill in a config
56
56
  object from an array of provided configs. `defaults` should hold
57
57
  default values for all optional fields in `Config`.