@teipublisher/pb-components 2.26.1-next.3 → 3.0.0-next-4.1

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 (262) hide show
  1. package/.github/workflows/docker-cypress.yml +54 -0
  2. package/.github/workflows/main.yml +6 -4
  3. package/.github/workflows/node.js.yml +56 -21
  4. package/.github/workflows/release.js.yml +19 -17
  5. package/.releaserc.json +1 -1
  6. package/CHANGELOG.md +346 -11
  7. package/Dockerfile +78 -70
  8. package/README.md +112 -4
  9. package/css/components.css +5 -5
  10. package/css/gridjs/mermaid.min.css +1 -1
  11. package/css/leaflet/Control.Geocoder.css +1 -126
  12. package/css/leaflet/images/layers.png +0 -0
  13. package/css/tify/tify.css +6 -5
  14. package/css/tom-select/tom-select.bootstrap4.min.css +1 -1
  15. package/css/tom-select/tom-select.bootstrap5.min.css +1 -1
  16. package/css/tom-select/tom-select.default.min.css +1 -1
  17. package/css/tom-select/tom-select.default.min.css.map +1 -0
  18. package/css/tom-select/tom-select.min.css +1 -1
  19. package/cypress.config.js +84 -0
  20. package/dist/api.html +1 -1
  21. package/dist/css/design-system.css +607 -0
  22. package/dist/demo/bundle-test.html +4 -3
  23. package/dist/demo/components.css +46 -1
  24. package/dist/demo/design-system.html +710 -0
  25. package/dist/demo/dts-client.html +2 -2
  26. package/dist/demo/pb-autocomplete.html +23 -11
  27. package/dist/demo/pb-autocomplete2.html +66 -55
  28. package/dist/demo/pb-autocomplete3.html +17 -8
  29. package/dist/demo/pb-blacklab-highlight.html +28 -11
  30. package/dist/demo/pb-blacklab-results.html +3 -2
  31. package/dist/demo/pb-browse-docs.html +24 -24
  32. package/dist/demo/pb-browse-docs2.html +3 -3
  33. package/dist/demo/pb-clipboard.html +32 -28
  34. package/dist/demo/pb-code-editor.html +6 -6
  35. package/dist/demo/pb-code-highlight.html +63 -63
  36. package/dist/demo/pb-codepen.html +1 -1
  37. package/dist/demo/pb-collapse.html +1 -1
  38. package/dist/demo/pb-collapse2.html +2 -2
  39. package/dist/demo/pb-combo-box.html +135 -130
  40. package/dist/demo/pb-custom-form.html +64 -55
  41. package/dist/demo/pb-dialog.html +12 -6
  42. package/dist/demo/pb-document.html +1 -1
  43. package/dist/demo/pb-download.html +68 -59
  44. package/dist/demo/pb-drawer.html +67 -46
  45. package/dist/demo/pb-drawer2.html +65 -58
  46. package/dist/demo/pb-edit-app.html +2 -2
  47. package/dist/demo/pb-edit-xml.html +1 -1
  48. package/dist/demo/pb-facsimile-2.html +26 -11
  49. package/dist/demo/pb-facsimile-3.html +25 -10
  50. package/dist/demo/pb-facsimile-dedup-test-2.html +48 -0
  51. package/dist/demo/pb-facsimile-dedup-test.html +48 -0
  52. package/dist/demo/pb-facsimile.html +4 -4
  53. package/dist/demo/pb-formula.html +1 -1
  54. package/dist/demo/pb-grid.html +22 -8
  55. package/dist/demo/pb-highlight.html +2 -2
  56. package/dist/demo/pb-i18n-simple.html +1 -0
  57. package/dist/demo/pb-i18n.html +15 -5
  58. package/dist/demo/pb-image-strip-standalone.html +2 -2
  59. package/dist/demo/pb-image-strip-view.html +2 -2
  60. package/dist/demo/pb-leaflet-map.html +3 -3
  61. package/dist/demo/pb-leaflet-map2.html +2 -2
  62. package/dist/demo/pb-leaflet-map3.html +3 -3
  63. package/dist/demo/pb-link.html +1 -1
  64. package/dist/demo/pb-load.html +2 -6
  65. package/dist/demo/pb-login.html +1 -3
  66. package/dist/demo/pb-manage-odds.html +9 -4
  67. package/dist/demo/pb-markdown.html +1 -1
  68. package/dist/demo/pb-media-query.html +2 -2
  69. package/dist/demo/pb-mei.html +2 -2
  70. package/dist/demo/pb-mei2.html +2 -2
  71. package/dist/demo/pb-message.html +2 -3
  72. package/dist/demo/pb-odd-editor.html +54 -52
  73. package/dist/demo/pb-page-header.html +27 -0
  74. package/dist/demo/pb-popover.html +1 -1
  75. package/dist/demo/pb-print-preview.html +2 -2
  76. package/dist/demo/pb-progress.html +4 -4
  77. package/dist/demo/pb-repeat.html +32 -36
  78. package/dist/demo/pb-search.html +16 -5
  79. package/dist/demo/pb-search2.html +4 -4
  80. package/dist/demo/pb-search3.html +3 -3
  81. package/dist/demo/pb-search4.html +3 -3
  82. package/dist/demo/pb-select-feature.html +4 -4
  83. package/dist/demo/pb-select-feature2.html +4 -4
  84. package/dist/demo/pb-select-feature3.html +2 -2
  85. package/dist/demo/pb-select-i18n.html +58 -53
  86. package/dist/demo/pb-select-odd.html +1 -1
  87. package/dist/demo/pb-select.html +190 -75
  88. package/dist/demo/pb-select2.html +91 -37
  89. package/dist/demo/pb-select3.html +109 -41
  90. package/dist/demo/pb-svg.html +1 -1
  91. package/dist/demo/pb-table-grid.html +26 -15
  92. package/dist/demo/pb-tabs.html +15 -7
  93. package/dist/demo/pb-tify.html +7 -7
  94. package/dist/demo/pb-timeline.html +1 -1
  95. package/dist/demo/pb-timeline2.html +1 -1
  96. package/dist/demo/pb-toggle-feature.html +26 -23
  97. package/dist/demo/pb-toggle-feature2.html +4 -4
  98. package/dist/demo/pb-toggle-feature3.html +2 -2
  99. package/dist/demo/pb-toggle-feature4.html +56 -54
  100. package/dist/demo/pb-version.html +2 -2
  101. package/dist/demo/pb-view.html +78 -40
  102. package/dist/demo/pb-view2.html +69 -46
  103. package/dist/demo/pb-view3.html +53 -48
  104. package/dist/demo/pb-view4.html +70 -49
  105. package/dist/demo/pb-zoom.html +2 -2
  106. package/dist/{es-global-bridge-d8ce175d.js → es-global-bridge-D8ZcUcx_.js} +0 -4
  107. package/dist/focus-mixin-VCsFap6b.js +768 -0
  108. package/dist/images/icons.svg +217 -0
  109. package/dist/jinn-codemirror-DETLdm08.js +1 -0
  110. package/dist/lib/openseadragon.min.js +80 -0
  111. package/dist/lib/openseadragon.min.js.map +1 -0
  112. package/dist/pb-code-editor.js +25 -20
  113. package/dist/pb-component-docs.js +414 -3225
  114. package/dist/pb-components-bundle.js +3046 -4402
  115. package/dist/pb-dialog-tklYGWfc.js +121 -0
  116. package/dist/pb-edit-app.js +208 -107
  117. package/dist/pb-elements.json +716 -249
  118. package/dist/pb-facsimile.js +46 -0
  119. package/dist/pb-i18n-C0NDma4h.js +1 -0
  120. package/dist/pb-leaflet-map.js +23 -23
  121. package/dist/pb-mei.js +152 -134
  122. package/dist/pb-mixin-DHoWQheB.js +1 -0
  123. package/dist/pb-odd-editor.js +1671 -1231
  124. package/dist/pb-tify.js +1 -27
  125. package/dist/unsafe-html-D5VGo9Oq.js +1 -0
  126. package/dist/urls-BEONu_g4.js +1 -0
  127. package/eslint.config.mjs +92 -0
  128. package/gh-pages.js +5 -3
  129. package/i18n/common/en.json +6 -0
  130. package/i18n/common/pl.json +2 -2
  131. package/images/icons.svg +217 -0
  132. package/index.html +0 -5
  133. package/lib/leaflet-src.js.map +1 -0
  134. package/lib/leaflet.markercluster-src.js.map +1 -0
  135. package/lib/openseadragon.min.js +6 -6
  136. package/package.json +56 -81
  137. package/pb-elements.json +716 -249
  138. package/rollup.config.mjs +312 -0
  139. package/src/assets/components.css +5 -5
  140. package/src/assets/design-system.css +607 -0
  141. package/src/authority/airtable.js +20 -21
  142. package/src/authority/anton.js +129 -129
  143. package/src/authority/custom.js +70 -27
  144. package/src/authority/geonames.js +38 -32
  145. package/src/authority/gnd.js +50 -42
  146. package/src/authority/kbga.js +136 -134
  147. package/src/authority/metagrid.js +44 -46
  148. package/src/authority/reconciliation.js +66 -68
  149. package/src/authority/registry.js +4 -4
  150. package/src/docs/demo-utils.js +91 -0
  151. package/src/docs/pb-component-docs.js +287 -147
  152. package/src/docs/pb-component-view.js +380 -273
  153. package/src/docs/pb-components-list.js +115 -51
  154. package/src/docs/pb-demo-snippet.js +199 -174
  155. package/src/dts-client.js +306 -303
  156. package/src/dts-select-endpoint.js +125 -85
  157. package/src/parse-date-service.js +184 -135
  158. package/src/pb-ajax.js +175 -173
  159. package/src/pb-authority-lookup.js +198 -158
  160. package/src/pb-autocomplete.js +731 -313
  161. package/src/pb-blacklab-highlight.js +266 -260
  162. package/src/pb-blacklab-results.js +230 -225
  163. package/src/pb-browse-docs.js +601 -484
  164. package/src/pb-browse.js +68 -65
  165. package/src/pb-clipboard.js +97 -76
  166. package/src/pb-code-editor.js +111 -103
  167. package/src/pb-code-highlight.js +234 -204
  168. package/src/pb-codepen.js +81 -73
  169. package/src/pb-collapse.js +265 -152
  170. package/src/pb-combo-box.js +191 -191
  171. package/src/pb-components-bundle.js +1 -7
  172. package/src/pb-components.js +2 -6
  173. package/src/pb-custom-form.js +230 -141
  174. package/src/pb-dialog.js +99 -63
  175. package/src/pb-document.js +118 -91
  176. package/src/pb-download.js +214 -198
  177. package/src/pb-drawer.js +146 -149
  178. package/src/pb-edit-app.js +471 -240
  179. package/src/pb-edit-xml.js +101 -98
  180. package/src/pb-events.js +126 -107
  181. package/src/pb-facs-link.js +130 -101
  182. package/src/pb-facsimile.js +494 -410
  183. package/src/pb-fetch.js +389 -0
  184. package/src/pb-formula.js +152 -154
  185. package/src/pb-geolocation.js +130 -132
  186. package/src/pb-grid-action.js +59 -56
  187. package/src/pb-grid.js +388 -228
  188. package/src/pb-highlight.js +142 -142
  189. package/src/pb-hotkeys.js +40 -42
  190. package/src/pb-i18n.js +115 -127
  191. package/src/pb-icon-button.js +108 -0
  192. package/src/pb-icon.js +283 -0
  193. package/src/pb-image-strip.js +85 -79
  194. package/src/pb-lang.js +142 -57
  195. package/src/pb-leaflet-map.js +551 -483
  196. package/src/pb-link.js +132 -126
  197. package/src/pb-load.js +495 -428
  198. package/src/pb-login.js +303 -248
  199. package/src/pb-manage-odds.js +384 -338
  200. package/src/pb-map-icon.js +90 -90
  201. package/src/pb-map-layer.js +86 -86
  202. package/src/pb-markdown.js +107 -110
  203. package/src/pb-media-query.js +75 -73
  204. package/src/pb-mei.js +523 -303
  205. package/src/pb-message.js +144 -98
  206. package/src/pb-mixin.js +268 -265
  207. package/src/pb-navigation.js +83 -96
  208. package/src/pb-observable.js +39 -39
  209. package/src/pb-odd-editor.js +1209 -948
  210. package/src/pb-odd-elementspec-editor.js +375 -310
  211. package/src/pb-odd-model-editor.js +1189 -941
  212. package/src/pb-odd-parameter-editor.js +269 -170
  213. package/src/pb-odd-rendition-editor.js +184 -131
  214. package/src/pb-page.js +451 -422
  215. package/src/pb-paginate.js +260 -178
  216. package/src/pb-panel.js +217 -183
  217. package/src/pb-popover-themes.js +16 -9
  218. package/src/pb-popover.js +297 -288
  219. package/src/pb-print-preview.js +128 -128
  220. package/src/pb-progress.js +52 -52
  221. package/src/pb-repeat.js +141 -108
  222. package/src/pb-restricted.js +85 -78
  223. package/src/pb-search.js +258 -230
  224. package/src/pb-select-feature.js +210 -126
  225. package/src/pb-select-odd.js +184 -118
  226. package/src/pb-select-template.js +113 -78
  227. package/src/pb-select.js +330 -229
  228. package/src/pb-split-list.js +181 -176
  229. package/src/pb-svg.js +81 -80
  230. package/src/pb-table-column.js +55 -55
  231. package/src/pb-table-grid.js +334 -205
  232. package/src/pb-tabs.js +238 -61
  233. package/src/pb-tify.js +3331 -126
  234. package/src/pb-timeline.js +394 -255
  235. package/src/pb-toggle-feature.js +196 -188
  236. package/src/pb-upload.js +201 -176
  237. package/src/pb-version.js +22 -34
  238. package/src/pb-view-annotate.js +138 -102
  239. package/src/pb-view.js +1722 -1272
  240. package/src/pb-zoom.js +144 -46
  241. package/src/search-result-service.js +256 -223
  242. package/src/seed-element.js +14 -22
  243. package/src/settings.js +4 -4
  244. package/src/theming.js +98 -91
  245. package/src/urls.js +403 -289
  246. package/src/utils.js +53 -51
  247. package/vite.config.js +86 -0
  248. package/css/pb-styles.css +0 -51
  249. package/dist/iron-form-3b8dcaa7.js +0 -210
  250. package/dist/jinn-codemirror-da0e2d1f.js +0 -1
  251. package/dist/paper-checkbox-515a5284.js +0 -1597
  252. package/dist/paper-icon-button-b1d31571.js +0 -398
  253. package/dist/paper-listbox-a3b7175c.js +0 -1265
  254. package/dist/pb-i18n-0611135a.js +0 -1
  255. package/dist/pb-mixin-b1caa22e.js +0 -158
  256. package/dist/polymer-hack.js +0 -1
  257. package/dist/vaadin-element-mixin-fe4a4883.js +0 -527
  258. package/lib/Control.Geocoder.min.js +0 -2
  259. package/lib/Control.Geocoder.min.js.map +0 -1
  260. package/src/assets/pb-styles.css +0 -51
  261. package/src/pb-light-dom.js +0 -41
  262. package/src/polymer-hack.js +0 -6
@@ -1 +0,0 @@
1
- class e{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){let s=[];return this.decompose(0,e,s,2),n.length&&n.decompose(0,n.length,s,3),this.decompose(t,this.length,s,1),i.from(s,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let n=[];return this.decompose(e,t,n,0),i.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),n=new o(this),s=new o(e);for(let e=t,r=t;;){if(n.next(e),s.next(e),e=0,n.lineBreak!=s.lineBreak||n.done!=s.done||n.value!=s.value)return!1;if(r+=n.value.length,n.done||r>=i)return!0}}iter(e=1){return new o(this,e)}iterRange(e,t=this.length){return new a(this,e,t)}iterLines(e,t){let i;if(null==e)i=this.iter();else{null==t&&(t=this.lines+1);let n=this.line(e).from;i=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new l(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(n){if(0==n.length)throw new RangeError("A document must have at least one line");return 1!=n.length||n[0]?n.length<=32?new t(n):i.from(t.split(n,[])):e.empty}}class t extends e{constructor(e,t=n(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,n){for(let s=0;;s++){let r=this.text[s],o=n+r.length;if((t?i:o)>=e)return new h(n,o,i,r);n=o+1,i++}}decompose(e,i,n,o){let a=e<=0&&i>=this.length?this:new t(r(this.text,e,i),Math.min(i,this.length)-Math.max(0,e));if(1&o){let e=n.pop(),i=s(a.text,e.text.slice(),0,a.length);if(i.length<=32)n.push(new t(i,e.length+a.length));else{let e=i.length>>1;n.push(new t(i.slice(0,e)),new t(i.slice(e)))}}else n.push(a)}replace(e,n,o){if(!(o instanceof t))return super.replace(e,n,o);let a=s(this.text,s(o.text,r(this.text,0,e)),n),l=this.length+o.length-(n-e);return a.length<=32?new t(a,l):i.from(t.split(a,[]),l)}sliceString(e,t=this.length,i="\n"){let n="";for(let s=0,r=0;s<=t&&r<this.text.length;r++){let o=this.text[r],a=s+o.length;s>e&&r&&(n+=i),e<a&&t>s&&(n+=o.slice(Math.max(0,e-s),t-s)),s=a+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,i){let n=[],s=-1;for(let r of e)n.push(r),s+=r.length+1,32==n.length&&(i.push(new t(n,s)),n=[],s=-1);return s>-1&&i.push(new t(n,s)),i}}class i extends e{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,i,n){for(let s=0;;s++){let r=this.children[s],o=n+r.length,a=i+r.lines-1;if((t?a:o)>=e)return r.lineInner(e,t,i,n);n=o+1,i=a+1}}decompose(e,t,i,n){for(let s=0,r=0;r<=t&&s<this.children.length;s++){let o=this.children[s],a=r+o.length;if(e<=a&&t>=r){let s=n&((r<=e?1:0)|(a>=t?2:0));r>=e&&a<=t&&!s?i.push(o):o.decompose(e-r,t-r,i,s)}r=a+1}}replace(e,t,n){if(n.lines<this.lines)for(let s=0,r=0;s<this.children.length;s++){let o=this.children[s],a=r+o.length;if(e>=r&&t<=a){let l=o.replace(e-r,t-r,n),h=this.lines-o.lines+l.lines;if(l.lines<h>>4&&l.lines>h>>6){let r=this.children.slice();return r[s]=l,new i(r,this.length-(t-e)+n.length)}return super.replace(r,a,l)}r=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,i="\n"){let n="";for(let s=0,r=0;s<this.children.length&&r<=t;s++){let o=this.children[s],a=r+o.length;r>e&&s&&(n+=i),e<a&&t>r&&(n+=o.sliceString(e-r,t-r,i)),r=a+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[s,r,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=t,r+=t){if(s==o||r==a)return n;let i=this.children[s],l=e.children[r];if(i!=l)return n+i.scanIdentical(l,t);n+=i.length+1}}static from(e,n=e.reduce((e,t)=>e+t.length+1,-1)){let s=0;for(let t of e)s+=t.lines;if(s<32){let i=[];for(let t of e)t.flatten(i);return new t(i,n)}let r=Math.max(32,s>>5),o=r<<1,a=r>>1,l=[],h=0,c=-1,u=[];function f(e){let n;if(e.lines>o&&e instanceof i)for(let t of e.children)f(t);else e.lines>a&&(h>a||!h)?(d(),l.push(e)):e instanceof t&&h&&(n=u[u.length-1])instanceof t&&e.lines+n.lines<=32?(h+=e.lines,c+=e.length+1,u[u.length-1]=new t(n.text.concat(e.text),n.length+1+e.length)):(h+e.lines>r&&d(),h+=e.lines,c+=e.length+1,u.push(e))}function d(){0!=h&&(l.push(1==u.length?u[0]:i.from(u,c)),c=-1,h=u.length=0)}for(let t of e)f(t);return d(),1==l.length?l[0]:new i(l,n)}}function n(e){let t=-1;for(let i of e)t+=i.length+1;return t}function s(e,t,i=0,n=1e9){for(let s=0,r=0,o=!0;r<e.length&&s<=n;r++){let a=e[r],l=s+a.length;l>=i&&(l>n&&(a=a.slice(0,n-s)),s<i&&(a=a.slice(i-s)),o?(t[t.length-1]+=a,o=!1):t.push(a)),s=l+1}return t}function r(e,t,i){return s(e,[""],t,i)}e.empty=new t([""],0);class o{constructor(e,i=1){this.dir=i,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[i>0?1:(e instanceof t?e.text.length:e.children.length)<<1]}nextInner(e,i){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,s=this.nodes[n],r=this.offsets[n],o=r>>1,a=s instanceof t?s.text.length:s.children.length;if(o==(i>0?a:0)){if(0==n)return this.done=!0,this.value="",this;i>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&r)==(i>0?0:1)){if(this.offsets[n]+=i,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(s instanceof t){let t=s.text[o+(i<0?-1:0)];if(this.offsets[n]+=i,t.length>Math.max(0,e))return this.value=0==e?t:i>0?t.slice(e):t.slice(0,t.length-e),this;e-=t.length}else{let r=s.children[o+(i<0?-1:0)];e>r.length?(e-=r.length,this.offsets[n]+=i):(i<0&&this.offsets[n]--,this.nodes.push(r),this.offsets.push(i>0?1:(r instanceof t?r.text.length:r.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class a{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new o(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=i?n:t<0?n.slice(n.length-i):n.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&""!=this.value}}class l{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:n}=this.inner.next(e);return t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(e.prototype[Symbol.iterator]=function(){return this.iter()},o.prototype[Symbol.iterator]=a.prototype[Symbol.iterator]=l.prototype[Symbol.iterator]=function(){return this});class h{constructor(e,t,i,n){this.from=e,this.to=t,this.number=i,this.text=n}get length(){return this.to-this.from}}let c="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=1;e<c.length;e++)c[e]+=c[e-1];function u(e){for(let t=1;t<c.length;t+=2)if(c[t]>e)return c[t-1]<=e;return!1}function f(e){return e>=127462&&e<=127487}const d=8205;function p(e,t,i=!0,n=!0){return(i?O:m)(e,t,n)}function O(e,t,i){if(t==e.length)return t;t&&g(e.charCodeAt(t))&&S(e.charCodeAt(t-1))&&t--;let n=b(e,t);for(t+=w(n);t<e.length;){let s=b(e,t);if(n==d||s==d||i&&u(s))t+=w(s),n=s;else{if(!f(s))break;{let i=0,n=t-2;for(;n>=0&&f(b(e,n));)i++,n-=2;if(i%2==0)break;t+=2}}}return t}function m(e,t,i){for(;t>0;){let n=O(e,t-2,i);if(n<t)return n;t--}return 0}function g(e){return e>=56320&&e<57344}function S(e){return e>=55296&&e<56320}function b(e,t){let i=e.charCodeAt(t);if(!S(i)||t+1==e.length)return i;let n=e.charCodeAt(t+1);return g(n)?n-56320+(i-55296<<10)+65536:i}function x(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function w(e){return e<65536?1:2}const y=/\r\n?|\n/;var v=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(v||(v={}));class k{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,n=0;t<this.sections.length;){let s=this.sections[t++],r=this.sections[t++];r<0?(e(i,n,s),n+=s):n+=r,i+=s}}iterChangedRanges(e,t=!1){C(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],n=this.sections[t++];n<0?e.push(i,n):e.push(n,i)}return new k(e)}composeDesc(e){return this.empty?e:e.empty?this:T(this,e)}mapDesc(e,t=!1){return e.empty?this:X(this,e,t)}mapPos(e,t=-1,i=v.Simple){let n=0,s=0;for(let r=0;r<this.sections.length;){let o=this.sections[r++],a=this.sections[r++],l=n+o;if(a<0){if(l>e)return s+(e-n);s+=o}else{if(i!=v.Simple&&l>=e&&(i==v.TrackDel&&n<e&&l>e||i==v.TrackBefore&&n<e||i==v.TrackAfter&&l>e))return null;if(l>e||l==e&&t<0&&!o)return e==n||t<0?s:s+a;s+=a}n=l}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return s}touchesRange(e,t=e){for(let i=0,n=0;i<this.sections.length&&n<=t;){let s=n+this.sections[i++];if(this.sections[i++]>=0&&n<=t&&s>=e)return!(n<e&&s>t)||"cover";n=s}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],n=this.sections[t++];e+=(e?" ":"")+i+(n>=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeDesc");return new k(e)}static create(e){return new k(e)}}class Q extends k{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return C(this,(t,i,n,s,r)=>e=e.replace(n,n+(i-t),r),!1),e}mapDesc(e,t=!1){return X(this,e,t,!0)}invert(t){let i=this.sections.slice(),n=[];for(let s=0,r=0;s<i.length;s+=2){let o=i[s],a=i[s+1];if(a>=0){i[s]=a,i[s+1]=o;let l=s>>1;for(;n.length<l;)n.push(e.empty);n.push(o?t.slice(r,r+o):e.empty)}r+=o}return new Q(i,n)}compose(e){return this.empty?e:e.empty?this:T(this,e,!0)}map(e,t=!1){return e.empty?this:X(this,e,t,!0)}iterChanges(e,t=!1){C(this,e,t)}get desc(){return k.create(this.sections)}filter(e){let t=[],i=[],n=[],s=new Z(this);e:for(let r=0,o=0;;){let a=r==e.length?1e9:e[r++];for(;o<a||o==a&&0==s.len;){if(s.done)break e;let e=Math.min(s.len,a-o);$(n,e,-1);let r=-1==s.ins?-1:0==s.off?s.ins:0;$(t,e,r),r>0&&P(i,t,s.text),s.forward(e),o+=e}let l=e[r++];for(;o<l;){if(s.done)break e;let e=Math.min(s.len,l-o);$(t,e,-1),$(n,e,-1==s.ins?-1:0==s.off?s.ins:0),s.forward(e),o+=e}}return{changes:new Q(t,i),filtered:k.create(n)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t],n=this.sections[t+1];n<0?e.push(i):0==n?e.push([i]):e.push([i].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,i,n){let s=[],r=[],o=0,a=null;function l(e=!1){if(!e&&!s.length)return;o<i&&$(s,i-o,-1);let t=new Q(s,r);a=a?a.compose(t.map(a)):t,s=[],r=[],o=0}function h(t){if(Array.isArray(t))for(let e of t)h(e);else if(t instanceof Q){if(t.length!=i)throw new RangeError(`Mismatched change set length (got ${t.length}, expected ${i})`);l(),a=a?a.compose(t.map(a)):t}else{let{from:a,to:h=a,insert:c}=t;if(a>h||a<0||h>i)throw new RangeError(`Invalid change range ${a} to ${h} (in doc of length ${i})`);let u=c?"string"==typeof c?e.of(c.split(n||y)):c:e.empty,f=u.length;if(a==h&&0==f)return;a<o&&l(),a>o&&$(s,a-o,-1),$(s,h-a,f),P(r,s,u),o=h}}return h(t),l(!a),a}static empty(e){return new Q(e?[e,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let i=[],n=[];for(let s=0;s<t.length;s++){let r=t[s];if("number"==typeof r)i.push(r,-1);else{if(!Array.isArray(r)||"number"!=typeof r[0]||r.some((e,t)=>t&&"string"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==r.length)i.push(r[0],0);else{for(;n.length<s;)n.push(e.empty);n[s]=e.of(r.slice(1)),i.push(r[0],n[s].length)}}}return new Q(i,n)}static createSet(e,t){return new Q(e,t)}}function $(e,t,i,n=!1){if(0==t&&i<=0)return;let s=e.length-2;s>=0&&i<=0&&i==e[s+1]?e[s]+=t:0==t&&0==e[s]?e[s+1]+=i:n?(e[s]+=t,e[s+1]+=i):e.push(t,i)}function P(t,i,n){if(0==n.length)return;let s=i.length-2>>1;if(s<t.length)t[t.length-1]=t[t.length-1].append(n);else{for(;t.length<s;)t.push(e.empty);t.push(n)}}function C(t,i,n){let s=t.inserted;for(let r=0,o=0,a=0;a<t.sections.length;){let l=t.sections[a++],h=t.sections[a++];if(h<0)r+=l,o+=l;else{let c=r,u=o,f=e.empty;for(;c+=l,u+=h,h&&s&&(f=f.append(s[a-2>>1])),!(n||a==t.sections.length||t.sections[a+1]<0);)l=t.sections[a++],h=t.sections[a++];i(r,c,o,u,f),r=c,o=u}}}function X(e,t,i,n=!1){let s=[],r=n?[]:null,o=new Z(e),a=new Z(t);for(let e=-1;;)if(-1==o.ins&&-1==a.ins){let e=Math.min(o.len,a.len);$(s,e,-1),o.forward(e),a.forward(e)}else if(a.ins>=0&&(o.ins<0||e==o.i||0==o.off&&(a.len<o.len||a.len==o.len&&!i))){let t=a.len;for($(s,a.ins,-1);t;){let i=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=i&&($(s,0,o.ins),r&&P(r,s,o.text),e=o.i),o.forward(i),t-=i}a.next()}else{if(!(o.ins>=0)){if(o.done&&a.done)return r?Q.createSet(s,r):k.create(s);throw new Error("Mismatched change set lengths")}{let t=0,i=o.len;for(;i;)if(-1==a.ins){let e=Math.min(i,a.len);t+=e,i-=e,a.forward(e)}else{if(!(0==a.ins&&a.len<i))break;i-=a.len,a.next()}$(s,t,e<o.i?o.ins:0),r&&e<o.i&&P(r,s,o.text),e=o.i,o.forward(o.len-i)}}}function T(e,t,i=!1){let n=[],s=i?[]:null,r=new Z(e),o=new Z(t);for(let e=!1;;){if(r.done&&o.done)return s?Q.createSet(n,s):k.create(n);if(0==r.ins)$(n,r.len,0,e),r.next();else if(0!=o.len||o.done){if(r.done||o.done)throw new Error("Mismatched change set lengths");{let t=Math.min(r.len2,o.len),i=n.length;if(-1==r.ins){let i=-1==o.ins?-1:o.off?0:o.ins;$(n,t,i,e),s&&i&&P(s,n,o.text)}else-1==o.ins?($(n,r.off?0:r.len,t,e),s&&P(s,n,r.textBit(t))):($(n,r.off?0:r.len,o.off?0:o.ins,e),s&&!o.off&&P(s,n,o.text));e=(r.ins>t||o.ins>=0&&o.len>t)&&(e||n.length>i),r.forward2(t),o.forward(t)}}else $(n,0,o.ins,e),s&&P(s,n,o.text),o.next()}}class Z{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return-2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length?e.empty:t[i]}textBit(t){let{inserted:i}=this.set,n=this.i-2>>1;return n>=i.length&&!t?e.empty:i[n].slice(this.off,null==t?void 0:this.off+t)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class A{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return 16&this.flags?this.to:this.from}get head(){return 16&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 4&this.flags?-1:8&this.flags?1:0}get bidiLevel(){let e=3&this.flags;return 3==e?null:e}get goalColumn(){let e=this.flags>>5;return 33554431==e?void 0:e}map(e,t=-1){let i,n;return this.empty?i=n=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),i==this.from&&n==this.to?this:new A(i,n,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return R.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return R.range(this.anchor,i)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return R.range(e.anchor,e.head)}static create(e,t,i){return new A(e,t,i)}}class R{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:R.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(e.ranges[t]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new R([this.main],0)}addRange(e,t=!0){return R.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let i=this.ranges.slice();return i[t]=e,R.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new R(e.ranges.map(e=>A.fromJSON(e)),e.main)}static single(e,t=e){return new R([R.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let i=0,n=0;n<e.length;n++){let s=e[n];if(s.empty?s.from<=i:s.from<i)return R.normalized(e.slice(),t);i=s.to}return new R(e,t)}static cursor(e,t=0,i,n){return A.create(e,e,(0==t?0:t<0?4:8)|(null==i?3:Math.min(2,i))|(null!=n?n:33554431)<<5)}static range(e,t,i,n){let s=(null!=i?i:33554431)<<5|(null==n?3:Math.min(2,n));return t<e?A.create(t,e,24|s):A.create(e,t,(t>e?4:0)|s)}static normalized(e,t=0){let i=e[t];e.sort((e,t)=>e.from-t.from),t=e.indexOf(i);for(let i=1;i<e.length;i++){let n=e[i],s=e[i-1];if(n.empty?n.from<=s.to:n.from<s.to){let r=s.from,o=Math.max(n.to,s.to);i<=t&&t--,e.splice(--i,2,n.anchor>n.head?R.range(o,r):R.range(r,o))}}return new R(e,t)}}function V(e,t){for(let i of e.ranges)if(i.to>t)throw new RangeError("Selection points outside of document")}let M=0;class Y{constructor(e,t,i,n,s){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=n,this.id=M++,this.default=e([]),this.extensions="function"==typeof s?s(this):s}static define(e={}){return new Y(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:_),!!e.static,e.enables)}of(e){return new W([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new W(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new W(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],i=>t(i.field(e)))}}function _(e,t){return e==t||e.length==t.length&&e.every((e,i)=>e===t[i])}class W{constructor(e,t,i,n){this.dependencies=e,this.facet=t,this.type=i,this.value=n,this.id=M++}dynamicSlot(e){var t;let i=this.value,n=this.facet.compareInput,s=this.id,r=e[s]>>1,o=2==this.type,a=!1,l=!1,h=[];for(let i of this.dependencies)"doc"==i?a=!0:"selection"==i?l=!0:0==(1&(null!==(t=e[i.id])&&void 0!==t?t:1))&&h.push(e[i.id]);return{create:e=>(e.values[r]=i(e),1),update(e,t){if(a&&t.docChanged||l&&(t.docChanged||t.selection)||z(e,h)){let t=i(e);if(o?!E(t,e.values[r],n):!n(t,e.values[r]))return e.values[r]=t,1}return 0},reconfigure:(e,t)=>{let a,l=t.config.address[s];if(null!=l){let s=K(t,l);if(this.dependencies.every(i=>i instanceof Y?t.facet(i)===e.facet(i):!(i instanceof D)||t.field(i,!1)==e.field(i,!1))||(o?E(a=i(e),s,n):n(a=i(e),s)))return e.values[r]=s,0}else a=i(e);return e.values[r]=a,1}}}}function E(e,t,i){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!i(e[n],t[n]))return!1;return!0}function z(e,t){let i=!1;for(let n of t)1&J(e,n)&&(i=!0);return i}function U(e,t,i){let n=i.map(t=>e[t.id]),s=i.map(e=>e.type),r=n.filter(e=>!(1&e)),o=e[t.id]>>1;function a(e){let i=[];for(let t=0;t<n.length;t++){let r=K(e,n[t]);if(2==s[t])for(let e of r)i.push(e);else i.push(r)}return t.combine(i)}return{create(e){for(let t of n)J(e,t);return e.values[o]=a(e),1},update(e,i){if(!z(e,r))return 0;let n=a(e);return t.compare(n,e.values[o])?0:(e.values[o]=n,1)},reconfigure(e,s){let r=z(e,n),l=s.config.facets[t.id],h=s.facet(t);if(l&&!r&&_(i,l))return e.values[o]=h,0;let c=a(e);return t.compare(c,h)?(e.values[o]=h,0):(e.values[o]=c,1)}}}const q=Y.define({static:!0});class D{constructor(e,t,i,n,s){this.id=e,this.createF=t,this.updateF=i,this.compareF=n,this.spec=s,this.provides=void 0}static define(e){let t=new D(M++,e.create,e.update,e.compare||((e,t)=>e===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(q).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,i)=>{let n=e.values[t],s=this.updateF(n,i);return this.compareF(n,s)?0:(e.values[t]=s,1)},reconfigure:(e,i)=>null!=i.config.address[this.id]?(e.values[t]=i.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,q.of({field:this,create:e})]}get extension(){return this}}const I={lowest:4,low:3,default:2,high:1,highest:0};function j(e){return t=>new L(t,e)}const B={highest:j(I.highest),high:j(I.high),default:j(I.default),low:j(I.low),lowest:j(I.lowest)};class L{constructor(e,t){this.inner=e,this.prec=t}}class N{of(e){return new G(this,e)}reconfigure(e){return N.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class G{constructor(e,t){this.compartment=e,this.inner=t}}class F{constructor(e,t,i,n,s,r){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=n,this.staticValues=s,this.facets=r,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return null==t?e.default:this.staticValues[t>>1]}static resolve(e,t,i){let n=[],s=Object.create(null),r=new Map;for(let i of H(e,t,r))i instanceof D?n.push(i):(s[i.facet.id]||(s[i.facet.id]=[])).push(i);let o=Object.create(null),a=[],l=[];for(let e of n)o[e.id]=l.length<<1,l.push(t=>e.slot(t));let h=null==i?void 0:i.config.facets;for(let e in s){let t=s[e],n=t[0].facet,r=h&&h[e]||[];if(t.every(e=>0==e.type))if(o[n.id]=a.length<<1|1,_(r,t))a.push(i.facet(n));else{let e=n.combine(t.map(e=>e.value));a.push(i&&n.compare(e,i.facet(n))?i.facet(n):e)}else{for(let e of t)0==e.type?(o[e.id]=a.length<<1|1,a.push(e.value)):(o[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));o[n.id]=l.length<<1,l.push(e=>U(e,n,t))}}let c=l.map(e=>e(o));return new F(e,r,c,o,a,s)}}function H(e,t,i){let n=[[],[],[],[],[]],s=new Map;function r(e,o){let a=s.get(e);if(null!=a){if(a<=o)return;let t=n[a].indexOf(e);t>-1&&n[a].splice(t,1),e instanceof G&&i.delete(e.compartment)}if(s.set(e,o),Array.isArray(e))for(let t of e)r(t,o);else if(e instanceof G){if(i.has(e.compartment))throw new RangeError("Duplicate use of compartment in extensions");let n=t.get(e.compartment)||e.inner;i.set(e.compartment,n),r(n,o)}else if(e instanceof L)r(e.inner,e.prec);else if(e instanceof D)n[o].push(e),e.provides&&r(e.provides,o);else if(e instanceof W)n[o].push(e),e.facet.extensions&&r(e.facet.extensions,I.default);else{let t=e.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);r(t,o)}}return r(e,I.default),n.reduce((e,t)=>e.concat(t))}function J(e,t){if(1&t)return 2;let i=t>>1,n=e.status[i];if(4==n)throw new Error("Cyclic dependency between fields and/or facets");if(2&n)return n;e.status[i]=4;let s=e.computeSlot(e,e.config.dynamicSlots[i]);return e.status[i]=2|s}function K(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const ee=Y.define(),te=Y.define({combine:e=>e.some(e=>e),static:!0}),ie=Y.define({combine:e=>e.length?e[0]:void 0,static:!0}),ne=Y.define(),se=Y.define(),re=Y.define(),oe=Y.define({combine:e=>!!e.length&&e[0]});class ae{constructor(e,t){this.type=e,this.value=t}static define(){return new le}}class le{of(e){return new ae(this,e)}}class he{constructor(e){this.map=e}of(e){return new ce(this,e)}}class ce{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new ce(this.type,t)}is(e){return this.type==e}static define(e={}){return new he(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let n of e){let e=n.map(t);e&&i.push(e)}return i}}ce.reconfigure=ce.define(),ce.appendConfig=ce.define();class ue{constructor(e,t,i,n,s,r){this.startState=e,this.changes=t,this.selection=i,this.effects=n,this.annotations=s,this.scrollIntoView=r,this._doc=null,this._state=null,i&&V(i,t.newLength),s.some(e=>e.type==ue.time)||(this.annotations=s.concat(ue.time.of(Date.now())))}static create(e,t,i,n,s,r){return new ue(e,t,i,n,s,r)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(ue.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function fe(e,t){let i=[];for(let n=0,s=0;;){let r,o;if(n<e.length&&(s==t.length||t[s]>=e[n]))r=e[n++],o=e[n++];else{if(!(s<t.length))return i;r=t[s++],o=t[s++]}!i.length||i[i.length-1]<r?i.push(r,o):i[i.length-1]<o&&(i[i.length-1]=o)}}function de(e,t,i){var n;let s,r,o;return i?(s=t.changes,r=Q.empty(t.changes.length),o=e.changes.compose(t.changes)):(s=t.changes.map(e.changes),r=e.changes.mapDesc(t.changes,!0),o=e.changes.compose(s)),{changes:o,selection:t.selection?t.selection.map(r):null===(n=e.selection)||void 0===n?void 0:n.map(s),effects:ce.mapEffects(e.effects,s).concat(ce.mapEffects(t.effects,r)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function pe(e,t,i){let n=t.selection,s=be(t.annotations);return t.userEvent&&(s=s.concat(ue.userEvent.of(t.userEvent))),{changes:t.changes instanceof Q?t.changes:Q.of(t.changes||[],i,e.facet(ie)),selection:n&&(n instanceof R?n:R.single(n.anchor,n.head)),effects:be(t.effects),annotations:s,scrollIntoView:!!t.scrollIntoView}}function Oe(e,t,i){let n=pe(e,t.length?t[0]:{},e.doc.length);t.length&&!1===t[0].filter&&(i=!1);for(let s=1;s<t.length;s++){!1===t[s].filter&&(i=!1);let r=!!t[s].sequential;n=de(n,pe(e,t[s],r?n.changes.newLength:e.doc.length),r)}let s=ue.create(e,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return ge(i?me(s):s)}function me(e){let t=e.startState,i=!0;for(let n of t.facet(ne)){let t=n(e);if(!1===t){i=!1;break}Array.isArray(t)&&(i=!0===i?t:fe(i,t))}if(!0!==i){let n,s;if(!1===i)s=e.changes.invertedDesc,n=Q.empty(t.doc.length);else{let t=e.changes.filter(i);n=t.changes,s=t.filtered.mapDesc(t.changes).invertedDesc}e=ue.create(t,n,e.selection&&e.selection.map(s),ce.mapEffects(e.effects,s),e.annotations,e.scrollIntoView)}let n=t.facet(se);for(let i=n.length-1;i>=0;i--){let s=n[i](e);e=s instanceof ue?s:Array.isArray(s)&&1==s.length&&s[0]instanceof ue?s[0]:Oe(t,be(s),!1)}return e}function ge(e){let t=e.startState,i=t.facet(re),n=e;for(let s=i.length-1;s>=0;s--){let r=i[s](e);r&&Object.keys(r).length&&(n=de(n,pe(t,r,e.changes.newLength),!0))}return n==e?e:ue.create(t,e.changes,e.selection,n.effects,n.annotations,n.scrollIntoView)}ue.time=ae.define(),ue.userEvent=ae.define(),ue.addToHistory=ae.define(),ue.remote=ae.define();const Se=[];function be(e){return null==e?Se:Array.isArray(e)?e:[e]}var xe=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(xe||(xe={}));const we=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let ye;try{ye=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}function ve(e){if(ye)return ye.test(e);for(let t=0;t<e.length;t++){let i=e[t];if(/\w/.test(i)||i>"€"&&(i.toUpperCase()!=i.toLowerCase()||we.test(i)))return!0}return!1}function ke(e){return t=>{if(!/\S/.test(t))return xe.Space;if(ve(t))return xe.Word;for(let i=0;i<e.length;i++)if(t.indexOf(e[i])>-1)return xe.Word;return xe.Other}}class Qe{constructor(e,t,i,n,s,r){this.config=e,this.doc=t,this.selection=i,this.values=n,this.status=e.statusTemplate.slice(),this.computeSlot=s,r&&(r._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)J(this,e<<1);this.computeSlot=null}field(e,t=!0){let i=this.config.address[e.id];if(null!=i)return J(this,i),K(this,i);if(t)throw new RangeError("Field is not present in this state")}update(...e){return Oe(this,e,!0)}applyTransaction(e){let t,i=this.config,{base:n,compartments:s}=i;for(let t of e.effects)t.is(N.reconfigure)?(i&&(s=new Map,i.compartments.forEach((e,t)=>s.set(t,e)),i=null),s.set(t.value.compartment,t.value.extension)):t.is(ce.reconfigure)?(i=null,n=t.value):t.is(ce.appendConfig)&&(i=null,n=be(n).concat(t.value));if(i)t=e.startState.values.slice();else{i=F.resolve(n,s,this),t=new Qe(i,this.doc,this.selection,i.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values}new Qe(i,e.newDoc,e.newSelection,t,(t,i)=>i.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:R.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),n=this.changes(i.changes),s=[i.range],r=be(i.effects);for(let i=1;i<t.ranges.length;i++){let o=e(t.ranges[i]),a=this.changes(o.changes),l=a.map(n);for(let e=0;e<i;e++)s[e]=s[e].map(l);let h=n.mapDesc(a,!0);s.push(o.range.map(h)),n=n.compose(l),r=ce.mapEffects(r,l).concat(ce.mapEffects(be(o.effects),h))}return{changes:n,selection:R.create(s,t.mainIndex),effects:r}}changes(e=[]){return e instanceof Q?e:Q.of(e,this.doc.length,this.facet(Qe.lineSeparator))}toText(t){return e.of(t.split(this.facet(Qe.lineSeparator)||y))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return null==t?e.default:(J(this,t),K(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let n=e[i];n instanceof D&&null!=this.config.address[n.id]&&(t[i]=n.spec.toJSON(this.field(e[i]),this))}return t}static fromJSON(e,t={},i){if(!e||"string"!=typeof e.doc)throw new RangeError("Invalid JSON representation for EditorState");let n=[];if(i)for(let t in i)if(Object.prototype.hasOwnProperty.call(e,t)){let s=i[t],r=e[t];n.push(s.init(e=>s.spec.fromJSON(r,e)))}return Qe.create({doc:e.doc,selection:R.fromJSON(e.selection),extensions:t.extensions?n.concat([t.extensions]):n})}static create(t={}){let i=F.resolve(t.extensions||[],new Map),n=t.doc instanceof e?t.doc:e.of((t.doc||"").split(i.staticFacet(Qe.lineSeparator)||y)),s=t.selection?t.selection instanceof R?t.selection:R.single(t.selection.anchor,t.selection.head):R.single(0);return V(s,n.length),i.staticFacet(te)||(s=s.asSingle()),new Qe(i,n,s,i.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(Qe.tabSize)}get lineBreak(){return this.facet(Qe.lineSeparator)||"\n"}get readOnly(){return this.facet(oe)}phrase(e,...t){for(let t of this.facet(Qe.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,i)=>{if("$"==i)return"$";let n=+(i||1);return!n||n>t.length?e:t[n-1]})),e}languageDataAt(e,t,i=-1){let n=[];for(let s of this.facet(ee))for(let r of s(this,t,i))Object.prototype.hasOwnProperty.call(r,e)&&n.push(r[e]);return n}charCategorizer(e){return ke(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:n}=this.doc.lineAt(e),s=this.charCategorizer(e),r=e-i,o=e-i;for(;r>0;){let e=p(t,r,!1);if(s(t.slice(e,r))!=xe.Word)break;r=e}for(;o<n;){let e=p(t,o);if(s(t.slice(o,e))!=xe.Word)break;o=e}return r==o?null:R.range(r+i,o+i)}}function $e(e,t,i={}){let n={};for(let t of e)for(let e of Object.keys(t)){let s=t[e],r=n[e];if(void 0===r)n[e]=s;else if(r===s||void 0===s);else{if(!Object.hasOwnProperty.call(i,e))throw new Error("Config merge conflict for field "+e);n[e]=i[e](r,s)}}for(let e in t)void 0===n[e]&&(n[e]=t[e]);return n}Qe.allowMultipleSelections=te,Qe.tabSize=Y.define({combine:e=>e.length?e[0]:4}),Qe.lineSeparator=ie,Qe.readOnly=oe,Qe.phrases=Y.define({compare(e,t){let i=Object.keys(e),n=Object.keys(t);return i.length==n.length&&i.every(i=>e[i]==t[i])}}),Qe.languageData=ee,Qe.changeFilter=ne,Qe.transactionFilter=se,Qe.transactionExtender=re,N.reconfigure=ce.define();class Pe{eq(e){return this==e}range(e,t=e){return Ce.create(e,t,this)}}Pe.prototype.startSide=Pe.prototype.endSide=0,Pe.prototype.point=!1,Pe.prototype.mapMode=v.TrackDel;class Ce{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new Ce(e,t,i)}}function Xe(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Te{constructor(e,t,i,n){this.from=e,this.to=t,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,n=0){let s=i?this.to:this.from;for(let r=n,o=s.length;;){if(r==o)return r;let n=r+o>>1,a=s[n]-e||(i?this.value[n].endSide:this.value[n].startSide)-t;if(n==r)return a>=0?r:o;a>=0?o=n:r=n+1}}between(e,t,i,n){for(let s=this.findIndex(t,-1e9,!0),r=this.findIndex(i,1e9,!1,s);s<r;s++)if(!1===n(this.from[s]+e,this.to[s]+e,this.value[s]))return!1}map(e,t){let i=[],n=[],s=[],r=-1,o=-1;for(let a=0;a<this.value.length;a++){let l,h,c=this.value[a],u=this.from[a]+e,f=this.to[a]+e;if(u==f){let e=t.mapPos(u,c.startSide,c.mapMode);if(null==e)continue;if(l=h=e,c.startSide!=c.endSide&&(h=t.mapPos(u,c.endSide),h<l))continue}else if(l=t.mapPos(u,c.startSide),h=t.mapPos(f,c.endSide),l>h||l==h&&c.startSide>0&&c.endSide<=0)continue;(h-l||c.endSide-c.startSide)<0||(r<0&&(r=l),c.point&&(o=Math.max(o,h-l)),i.push(c),n.push(l-r),s.push(h-r))}return{mapped:i.length?new Te(n,s,i,o):null,pos:r}}}class Ze{constructor(e,t,i,n){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=n}static create(e,t,i,n){return new Ze(e,t,i,n)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:n=0,filterTo:s=this.length}=e,r=e.filter;if(0==t.length&&!r)return this;if(i&&(t=t.slice().sort(Xe)),this.isEmpty)return t.length?Ze.of(t):this;let o=new Me(this,null,-1).goto(0),a=0,l=[],h=new Re;for(;o.value||a<t.length;)if(a<t.length&&(o.from-t[a].from||o.startSide-t[a].value.startSide)>=0){let e=t[a++];h.addInner(e.from,e.to,e.value)||l.push(e)}else 1==o.rangeIndex&&o.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(o.chunkIndex)<t[a].from)&&(!r||n>this.chunkEnd(o.chunkIndex)||s<this.chunkPos[o.chunkIndex])&&h.addChunk(this.chunkPos[o.chunkIndex],this.chunk[o.chunkIndex])?o.nextChunk():((!r||n>o.to||s<o.from||r(o.from,o.to,o.value))&&(h.addInner(o.from,o.to,o.value)||l.push(Ce.create(o.from,o.to,o.value))),o.next());return h.finishInner(this.nextLayer.isEmpty&&!l.length?Ze.empty:this.nextLayer.update({add:l,filter:r,filterFrom:n,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],n=-1;for(let s=0;s<this.chunk.length;s++){let r=this.chunkPos[s],o=this.chunk[s],a=e.touchesRange(r,r+o.length);if(!1===a)n=Math.max(n,o.maxPoint),t.push(o),i.push(e.mapPos(r));else if(!0===a){let{mapped:s,pos:a}=o.map(r,e);s&&(n=Math.max(n,s.maxPoint),t.push(s),i.push(a))}}let s=this.nextLayer.map(e);return 0==t.length?s:new Ze(i,t,s||Ze.empty,n)}between(e,t,i){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let s=this.chunkPos[n],r=this.chunk[n];if(t>=s&&e<=s+r.length&&!1===r.between(s,e-s,t-s,i))return}this.nextLayer.between(e,t,i)}}iter(e=0){return Ye.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ye.from(e).goto(t)}static compare(e,t,i,n,s=-1){let r=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=s),o=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=s),a=Ve(r,o,i),l=new We(r,a,s),h=new We(o,a,s);i.iterGaps((e,t,i)=>Ee(l,e,h,t,i,n)),i.empty&&0==i.length&&Ee(l,0,h,0,0,n)}static eq(e,t,i=0,n){null==n&&(n=999999999);let s=e.filter(e=>!e.isEmpty&&t.indexOf(e)<0),r=t.filter(t=>!t.isEmpty&&e.indexOf(t)<0);if(s.length!=r.length)return!1;if(!s.length)return!0;let o=Ve(s,r),a=new We(s,o,0).goto(i),l=new We(r,o,0).goto(i);for(;;){if(a.to!=l.to||!ze(a.active,l.active)||a.point&&(!l.point||!a.point.eq(l.point)))return!1;if(a.to>n)return!0;a.next(),l.next()}}static spans(e,t,i,n,s=-1){let r=new We(e,null,s).goto(t),o=t,a=r.openStart;for(;;){let e=Math.min(r.to,i);if(r.point){let i=r.activeForPoint(r.to),s=r.pointFrom<t?i.length+1:Math.min(i.length,a);n.point(o,e,r.point,i,s,r.pointRank),a=Math.min(r.openEnd(e),i.length)}else e>o&&(n.span(o,e,r.active,a),a=r.openEnd(e));if(r.to>i)return a+(r.point&&r.to>i?1:0);o=r.to,r.next()}}static of(e,t=!1){let i=new Re;for(let n of e instanceof Ce?[e]:t?Ae(e):e)i.add(n.from,n.to,n.value);return i.finish()}}function Ae(e){if(e.length>1)for(let t=e[0],i=1;i<e.length;i++){let n=e[i];if(Xe(t,n)>0)return e.slice().sort(Xe);t=n}return e}Ze.empty=new Ze([],[],null,-1),Ze.empty.nextLayer=Ze.empty;class Re{finishChunk(e){this.chunks.push(new Te(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new Re)).add(e,t,i)}addInner(e,t,i){let n=e-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(Ze.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=Ze.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Ve(e,t,i){let n=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&n.set(t.chunk[e],t.chunkPos[e]);let s=new Set;for(let e of t)for(let t=0;t<e.chunk.length;t++){let r=n.get(e.chunk[t]);null==r||(i?i.mapPos(r):r)!=e.chunkPos[t]||(null==i?void 0:i.touchesRange(r,r+e.chunk[t].length))||s.add(e.chunk[t])}return s}class Me{constructor(e,t,i,n=0){this.layer=e,this.skip=t,this.minPoint=i,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,i){for(;this.chunkIndex<this.layer.chunk.length;){let t=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(t)||this.layer.chunkEnd(this.chunkIndex)<e||t.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let n=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!i||this.rangeIndex<n)&&this.setRangeIndex(n)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],i=e+t.from[this.rangeIndex];if(this.from=i,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class Ye{constructor(e){this.heap=e}static from(e,t=null,i=-1){let n=[];for(let s=0;s<e.length;s++)for(let r=e[s];!r.isEmpty;r=r.nextLayer)r.maxPoint>=i&&n.push(new Me(r,t,i,s));return 1==n.length?n[0]:new Ye(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)_e(this.heap,e);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)_e(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),_e(this.heap,0)}}}function _e(e,t){for(let i=e[t];;){let n=1+(t<<1);if(n>=e.length)break;let s=e[n];if(n+1<e.length&&s.compare(e[n+1])>=0&&(s=e[n+1],n++),i.compare(s)<0)break;e[n]=i,e[t]=s,t=n}}class We{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Ye.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Ue(this.active,e),Ue(this.activeTo,e),Ue(this.activeRank,e),this.minActive=De(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:n,rank:s}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=s;)t++;qe(this.active,t,i),qe(this.activeTo,t,n),qe(this.activeRank,t,s),e&&qe(e,t,this.cursor.from),this.minActive=De(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),i&&Ue(i,n)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)){this.point=e,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=e.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(i),this.cursor.next()}}}if(i){this.openStart=0;for(let t=i.length-1;t>=0&&i[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function Ee(e,t,i,n,s,r){e.goto(t),i.goto(n);let o=n+s,a=n,l=n-t;for(;;){let t=e.to+l-i.to||e.endSide-i.endSide,n=t<0?e.to+l:i.to,s=Math.min(n,o);if(e.point||i.point?e.point&&i.point&&(e.point==i.point||e.point.eq(i.point))&&ze(e.activeForPoint(e.to),i.activeForPoint(i.to))||r.comparePoint(a,s,e.point,i.point):s>a&&!ze(e.active,i.active)&&r.compareRange(a,s,e.active,i.active),n>o)break;a=n,t<=0&&e.next(),t>=0&&i.next()}}function ze(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++)if(e[i]!=t[i]&&!e[i].eq(t[i]))return!1;return!0}function Ue(e,t){for(let i=t,n=e.length-1;i<n;i++)e[i]=e[i+1];e.pop()}function qe(e,t,i){for(let i=e.length-1;i>=t;i--)e[i+1]=e[i];e[t]=i}function De(e,t){let i=-1,n=1e9;for(let s=0;s<t.length;s++)(t[s]-n||e[s].endSide-e[i].endSide)<0&&(i=s,n=t[s]);return i}function Ie(e,t,i=e.length){let n=0;for(let s=0;s<i;)9==e.charCodeAt(s)?(n+=t-n%t,s++):(n++,s=p(e,s));return n}function je(e,t,i,n){for(let n=0,s=0;;){if(s>=t)return n;if(n==e.length)break;s+=9==e.charCodeAt(n)?i-s%i:1,n=p(e,n)}return!0===n?-1:e.length}const Be="ͼ",Le="undefined"==typeof Symbol?"__"+Be:Symbol.for(Be),Ne="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Ge="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Fe{constructor(e,t){this.rules=[];let{finish:i}=t||{};function n(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function s(e,t,r,o){let a=[],l=/^@(\w+)\b/.exec(e[0]),h=l&&"keyframes"==l[1];if(l&&null==t)return r.push(e[0]+";");for(let i in t){let o=t[i];if(/&/.test(i))s(i.split(/,\s*/).map(t=>e.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),o,r);else if(o&&"object"==typeof o){if(!l)throw new RangeError("The value of a property ("+i+") should be a primitive value.");s(n(i),o,a,h)}else null!=o&&a.push(i.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+o+";")}(a.length||h)&&r.push((!i||l||o?e:e.map(i)).join(", ")+" {"+a.join(" ")+"}")}for(let t in e)s(n(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Ge[Le]||1;return Ge[Le]=e+1,Be+e.toString(36)}static mount(e,t){(e[Ne]||new Je(e)).mount(Array.isArray(t)?t:[t])}}let He=new Map;class Je{constructor(e){let t=e.ownerDocument||e,i=t.defaultView;if(!e.head&&e.adoptedStyleSheets&&i.CSSStyleSheet){let n=He.get(t);if(n)return e.adoptedStyleSheets=[n.sheet,...e.adoptedStyleSheets],e[Ne]=n;this.sheet=new i.CSSStyleSheet,e.adoptedStyleSheets=[this.sheet,...e.adoptedStyleSheets],He.set(t,this)}else{this.styleTag=t.createElement("style");let i=e.head||e;i.insertBefore(this.styleTag,i.firstChild)}this.modules=[],e[Ne]=this}mount(e){let t=this.sheet,i=0,n=0;for(let s=0;s<e.length;s++){let r=e[s],o=this.modules.indexOf(r);if(o<n&&o>-1&&(this.modules.splice(o,1),n--,o=-1),-1==o){if(this.modules.splice(n++,0,r),t)for(let e=0;e<r.rules.length;e++)t.insertRule(r.rules[e],i++)}else{for(;n<o;)i+=this.modules[n++].rules.length;i+=r.rules.length,n++}}if(!t){let e="";for(let t=0;t<this.modules.length;t++)e+=this.modules[t].getRules()+"\n";this.styleTag.textContent=e}}}for(var Ke={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},et={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},tt="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),it="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),nt=0;nt<10;nt++)Ke[48+nt]=Ke[96+nt]=String(nt);for(nt=1;nt<=24;nt++)Ke[nt+111]="F"+nt;for(nt=65;nt<=90;nt++)Ke[nt]=String.fromCharCode(nt+32),et[nt]=String.fromCharCode(nt);for(var st in Ke)et.hasOwnProperty(st)||(et[st]=Ke[st]);function rt(e){var t=!(tt&&e.metaKey&&e.shiftKey&&!e.ctrlKey&&!e.altKey||it&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?et:Ke)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}function ot(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function at(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function lt(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function ht(e,t){if(!t.anchorNode)return!1;try{return at(e,t.anchorNode)}catch(e){return!1}}function ct(e){return 3==e.nodeType?vt(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function ut(e,t,i,n){return!!i&&(dt(e,t,i,n,-1)||dt(e,t,i,n,1))}function ft(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function dt(e,t,i,n,s){for(;;){if(e==i&&t==n)return!0;if(t==(s<0?0:pt(e))){if("DIV"==e.nodeName)return!1;let i=e.parentNode;if(!i||1!=i.nodeType)return!1;t=ft(e)+(s<0?0:1),e=i}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(s<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=s<0?pt(e):0}}}function pt(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}function Ot(e,t){let i=t?e.left:e.right;return{left:i,right:i,top:e.top,bottom:e.bottom}}function mt(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function gt(e,t,i,n,s,r,o,a){let l=e.ownerDocument,h=l.defaultView||window;for(let c=e,u=!1;c&&!u;)if(1==c.nodeType){let e,f=c==l.body;if(f)e=mt(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(u=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let t=c.getBoundingClientRect();e={left:t.left,right:t.left+c.clientWidth,top:t.top,bottom:t.top+c.clientHeight}}let d=0,p=0;if("nearest"==s)t.top<e.top?(p=-(e.top-t.top+o),i>0&&t.bottom>e.bottom+p&&(p=t.bottom-e.bottom+p+o)):t.bottom>e.bottom&&(p=t.bottom-e.bottom+o,i<0&&t.top-p<e.top&&(p=-(e.top+p-t.top+o)));else{let n=t.bottom-t.top,r=e.bottom-e.top;p=("center"==s&&n<=r?t.top+n/2-r/2:"start"==s||"center"==s&&i<0?t.top-o:t.bottom-r+o)-e.top}if("nearest"==n)t.left<e.left?(d=-(e.left-t.left+r),i>0&&t.right>e.right+d&&(d=t.right-e.right+d+r)):t.right>e.right&&(d=t.right-e.right+r,i<0&&t.left<e.left+d&&(d=-(e.left+d-t.left+r)));else{d=("center"==n?t.left+(t.right-t.left)/2-(e.right-e.left)/2:"start"==n==a?t.left-r:t.right-(e.right-e.left)+r)-e.left}if(d||p)if(f)h.scrollBy(d,p);else{let e=0,i=0;if(p){let e=c.scrollTop;c.scrollTop+=p,i=c.scrollTop-e}if(d){let t=c.scrollLeft;c.scrollLeft+=d,e=c.scrollLeft-t}t={left:t.left-e,top:t.top-i,right:t.right-e,bottom:t.bottom-i},e&&Math.abs(e-d)<1&&(n="nearest"),i&&Math.abs(i-p)<1&&(s="nearest")}if(f)break;c=c.assignedSlot||c.parentNode}else{if(11!=c.nodeType)break;c=c.host}}function St(e){let t=e.ownerDocument;for(let i=e.parentNode;i&&i!=t.body;)if(1==i.nodeType){if(i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)return i;i=i.assignedSlot||i.parentNode}else{if(11!=i.nodeType)break;i=i.host}return null}class bt{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?pt(t):0),i,Math.min(e.focusOffset,i?pt(i):0))}set(e,t,i,n){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=n}}let xt,wt=null;function yt(e){if(e.setActive)return e.setActive();if(wt)return e.focus(wt);let t=[];for(let i=e;i&&(t.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(e.focus(null==wt?{get preventScroll(){return wt={preventScroll:!0},!0}}:void 0),!wt){wt=!1;for(let e=0;e<t.length;){let i=t[e++],n=t[e++],s=t[e++];i.scrollTop!=n&&(i.scrollTop=n),i.scrollLeft!=s&&(i.scrollLeft=s)}}}function vt(e,t,i=t){let n=xt||(xt=document.createRange());return n.setEnd(e,i),n.setStart(e,t),n}function kt(e,t,i){let n={key:t,code:t,keyCode:i,which:i,cancelable:!0},s=new KeyboardEvent("keydown",n);s.synthetic=!0,e.dispatchEvent(s);let r=new KeyboardEvent("keyup",n);return r.synthetic=!0,e.dispatchEvent(r),s.defaultPrevented||r.defaultPrevented}function Qt(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}function $t(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function Pt(e,t){let i=t.focusNode,n=t.focusOffset;if(!i||t.anchorNode!=i||t.anchorOffset!=n)return!1;for(n=Math.min(n,pt(i));;)if(n){if(1!=i.nodeType)return!1;let e=i.childNodes[n-1];"false"==e.contentEditable?n--:(i=e,n=pt(i))}else{if(i==e)return!0;n=ft(i),i=i.parentNode}}function Ct(e){return e.scrollTop>Math.max(1,e.scrollHeight-e.clientHeight-4)}class Xt{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new Xt(e.parentNode,ft(e),t)}static after(e,t){return new Xt(e.parentNode,ft(e)+1,t)}}const Tt=[];class Zt{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let i of this.children){if(i==e)return t;t+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(2&this.flags){let i,n=this.dom,s=null;for(let r of this.children){if(7&r.flags){if(!r.dom&&(i=s?s.nextSibling:n.firstChild)){let e=Zt.get(i);(!e||!e.parent&&e.canReuseDOM(r))&&r.reuseDOM(i)}r.sync(e,t),r.flags&=-8}if(i=s?s.nextSibling:n.firstChild,t&&!t.written&&t.node==n&&i!=r.dom&&(t.written=!0),r.dom.parentNode==n)for(;i&&i!=r.dom;)i=At(i);else n.insertBefore(r.dom,i);s=r.dom}for(i=s?s.nextSibling:n.firstChild,i&&t&&t.node==n&&(t.written=!0);i;)i=At(i)}else if(1&this.flags)for(let i of this.children)7&i.flags&&(i.sync(e,t),i.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let i;if(e==this.dom)i=this.dom.childNodes[t];else{let n=0==pt(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==n&&t.firstChild!=t.lastChild&&(n=e==t.firstChild?-1:1),e=t}i=n<0?e:e.nextSibling}if(i==this.dom.firstChild)return 0;for(;i&&!Zt.get(i);)i=i.nextSibling;if(!i)return this.length;for(let e=0,t=0;;e++){let n=this.children[e];if(n.dom==i)return t;t+=n.length+n.breakAfter}}domBoundsAround(e,t,i=0){let n=-1,s=-1,r=-1,o=-1;for(let a=0,l=i,h=i;a<this.children.length;a++){let i=this.children[a],c=l+i.length;if(l<e&&c>t)return i.domBoundsAround(e,t,l);if(c>=e&&-1==n&&(n=a,s=l),l>t&&i.dom.parentNode==this.dom){r=a,o=h;break}h=c,l=c+i.breakAfter}return{from:s,to:o<0?i+this.length:o,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:r<this.children.length&&r>=0?this.children[r].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),1&t.flags)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,7&this.flags&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=Tt){this.markDirty();for(let i=e;i<t;i++){let e=this.children[i];e.parent==this&&e.destroy()}this.children.splice(e,t-e,...i);for(let e=0;e<i.length;e++)i[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Rt(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,i,n,s,r){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!(8&(this.flags|e.flags))}getSide(){return 0}destroy(){this.parent=null}}function At(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}Zt.prototype.breakAfter=0;class Rt{constructor(e,t,i){this.children=e,this.pos=t,this.i=i,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function Vt(e,t,i,n,s,r,o,a,l){let{children:h}=e,c=h.length?h[t]:null,u=r.length?r[r.length-1]:null,f=u?u.breakAfter:o;if(!(t==n&&c&&!o&&!f&&r.length<2&&c.merge(i,s,r.length?u:null,0==i,a,l))){if(n<h.length){let e=h[n];e&&s<e.length?(t==n&&(e=e.split(s),s=0),!f&&u&&e.merge(0,s,u,!0,0,l)?r[r.length-1]=e:(s&&e.merge(0,s,null,!1,0,l),r.push(e))):(null==e?void 0:e.breakAfter)&&(u?u.breakAfter=1:o=1),n++}for(c&&(c.breakAfter=o,i>0&&(!o&&r.length&&c.merge(i,c.length,r[0],!1,a,0)?c.breakAfter=r.shift().breakAfter:(i<c.length||c.children.length&&0==c.children[c.children.length-1].length)&&c.merge(i,c.length,null,!1,a,0),t++));t<n&&r.length;)if(h[n-1].become(r[r.length-1]))n--,r.pop(),l=r.length?0:a;else{if(!h[t].become(r[0]))break;t++,r.shift(),a=r.length?0:l}!r.length&&t&&n<h.length&&!h[t-1].breakAfter&&h[n].merge(0,0,h[t-1],!1,a,l)&&t--,(t<n||r.length)&&e.replaceChildren(t,n,r)}}function Mt(e,t,i,n,s,r){let o=e.childCursor(),{i:a,off:l}=o.findPos(i,1),{i:h,off:c}=o.findPos(t,-1),u=t-i;for(let e of n)u+=e.length;e.length+=u,Vt(e,h,c,a,l,n,0,s,r)}const Yt="￿";class _t{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(Qe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Yt}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let n=e;;){this.findPointBefore(i,n);let e=this.text.length;this.readNode(n);let s=n.nextSibling;if(s==t)break;let r=Zt.get(n),o=Zt.get(s);(r&&o?r.breakAfter:(r?r.breakAfter:Wt(n))||Wt(s)&&("BR"!=n.nodeName||n.cmIgnore)&&this.text.length>e)&&this.lineBreak(),n=s}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let s,r=-1,o=1;if(this.lineSeparator?(r=t.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(s=n.exec(t))&&(r=s.index,o=s[0].length),this.append(t.slice(i,r<0?t.length:r)),r<0)break;if(this.lineBreak(),o>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=o-1);i=r+o}}readNode(e){if(e.cmIgnore)return;let t=Zt.get(e),i=t&&t.overrideDOMText;if(null!=i){this.findPointInside(e,i.length);for(let e=i.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(3==e.nodeType?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+Math.min(t,i.offset))}}function Wt(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}class Et{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}let zt="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},Ut="undefined"!=typeof document?document:{documentElement:{style:{}}};const qt=/Edge\/(\d+)/.exec(zt.userAgent),Dt=/MSIE \d/.test(zt.userAgent),It=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(zt.userAgent),jt=!!(Dt||It||qt),Bt=!jt&&/gecko\/(\d+)/i.test(zt.userAgent),Lt=!jt&&/Chrome\/(\d+)/.exec(zt.userAgent),Nt="webkitFontSmoothing"in Ut.documentElement.style,Gt=!jt&&/Apple Computer/.test(zt.vendor),Ft=Gt&&(/Mobile\/\w+/.test(zt.userAgent)||zt.maxTouchPoints>2);var Ht={mac:Ft||/Mac/.test(zt.platform),windows:/Win/.test(zt.platform),linux:/Linux|X11/.test(zt.platform),ie:jt,ie_version:Dt?Ut.documentMode||6:It?+It[1]:qt?+qt[1]:0,gecko:Bt,gecko_version:Bt?+(/Firefox\/(\d+)/.exec(zt.userAgent)||[0,0])[1]:0,chrome:!!Lt,chrome_version:Lt?+Lt[1]:0,ios:Ft,android:/Android\b/.test(zt.userAgent),webkit:Nt,safari:Gt,webkit_version:Nt?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=Ut.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};const Jt=256;class Kt extends Zt{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,i){return!(8&this.flags||i&&(!(i instanceof Kt)||this.length-(t-e)+i.length>Jt||8&i.flags))&&(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Kt(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=8&this.flags,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Xt(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return ti(this.dom,e,t)}}class ei extends Zt{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(let e of t)e.setParent(this)}setAttrs(e){if($t(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!(8&(this.flags|e.flags))}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?4&this.flags&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,n,s,r){return(!i||!(!(i instanceof ei&&i.mark.eq(this.mark))||e&&s<=0||t<this.length&&r<=0))&&(Mt(this,e,t,i?i.children:[],s-1,r-1),this.markDirty(),!0)}split(e){let t=[],i=0,n=-1,s=0;for(let r of this.children){let o=i+r.length;o>e&&t.push(i<e?r.split(e-i):r),n<0&&i>=e&&(n=s),i=o,s++}let r=this.length-e;return this.length=e,n>-1&&(this.children.length=n,this.markDirty()),new ei(this.mark,t,r)}domAtPos(e){return si(this,e)}coordsAt(e,t){return oi(this,e,t)}}function ti(e,t,i){let n=e.nodeValue.length;t>n&&(t=n);let s=t,r=t,o=0;0==t&&i<0||t==n&&i>=0?Ht.chrome||Ht.gecko||(t?(s--,o=1):r<n&&(r++,o=-1)):i<0?s--:r<n&&r++;let a=vt(e,s,r).getClientRects();if(!a.length)return null;let l=a[(o?o<0:i>=0)?0:a.length-1];return Ht.safari&&!o&&0==l.width&&(l=Array.prototype.find.call(a,e=>e.width)||l),o?Ot(l,o<0):l||null}class ii extends Zt{constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}static create(e,t,i){return new ii(e,t,i)}split(e){let t=ii.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,i,n,s,r){return!(i&&(!(i instanceof ii&&this.widget.compare(i.widget))||e>0&&s<=0||t<this.length&&r<=0))&&(this.length=e+(i?i.length:0)+(this.length-t),!0)}become(e){return e instanceof ii&&e.side==this.side&&this.widget.constructor==e.widget.constructor&&(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(0==this.length)return e.empty;let t=this;for(;t.parent;)t=t.parent;let{view:i}=t,n=i&&i.state.doc,s=this.posAtStart;return n?n.slice(s,s+this.length):e.empty}domAtPos(e){return(this.length?0==e:this.side>0)?Xt.before(this.dom):Xt.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;let n=this.dom.getClientRects(),s=null;if(!n.length)return null;let r=this.side?this.side<0:e>0;for(let t=r?n.length-1:0;s=n[t],!(e>0?0==t:t==n.length-1||s.top<s.bottom);t+=r?-1:1);return Ot(s,!r)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class ni extends Zt{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof ni&&e.side==this.side}split(){return new ni(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?Xt.before(this.dom):Xt.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return e.empty}get isHidden(){return!0}}function si(e,t){let i=e.dom,{children:n}=e,s=0;for(let e=0;s<n.length;s++){let r=n[s],o=e+r.length;if(!(o==e&&r.getSide()<=0)){if(t>e&&t<o&&r.dom.parentNode==i)return r.domAtPos(t-e);if(t<=e)break;e=o}}for(let e=s;e>0;e--){let t=n[e-1];if(t.dom.parentNode==i)return t.domAtPos(t.length)}for(let e=s;e<n.length;e++){let t=n[e];if(t.dom.parentNode==i)return t.domAtPos(0)}return new Xt(i,0)}function ri(e,t,i){let n,{children:s}=e;i>0&&t instanceof ei&&s.length&&(n=s[s.length-1])instanceof ei&&n.mark.eq(t.mark)?ri(n,t.children[0],i-1):(s.push(t),t.setParent(e)),e.length+=t.length}function oi(e,t,i){let n=null,s=-1,r=null,o=-1;function a(e,t){for(let l=0,h=0;l<e.children.length&&h<=t;l++){let c=e.children[l],u=h+c.length;u>=t&&(c.children.length?a(c,t-h):(!r||r.isHidden&&i>0)&&(u>t||h==u&&c.getSide()>0)?(r=c,o=t-h):(h<t||h==u&&c.getSide()<0&&!c.isHidden)&&(n=c,s=t-h)),h=u}}a(e,t);let l=(i<0?n:r)||n||r;return l?l.coordsAt(Math.max(0,l==n?s:o),i):ai(e)}function ai(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let i=ct(t);return i[i.length-1]||null}function li(e,t){for(let i in e)"class"==i&&t.class?t.class+=" "+e.class:"style"==i&&t.style?t.style+=";"+e.style:t[i]=e[i];return t}Kt.prototype.children=ii.prototype.children=ni.prototype.children=Tt;const hi=Object.create(null);function ci(e,t,i){if(e==t)return!0;e||(e=hi),t||(t=hi);let n=Object.keys(e),s=Object.keys(t);if(n.length-(i&&n.indexOf(i)>-1?1:0)!=s.length-(i&&s.indexOf(i)>-1?1:0))return!1;for(let r of n)if(r!=i&&(-1==s.indexOf(r)||e[r]!==t[r]))return!1;return!0}function ui(e,t,i){let n=null;if(t)for(let s in t)i&&s in i||e.removeAttribute(n=s);if(i)for(let s in i)t&&t[s]==i[s]||e.setAttribute(n=s,i[s]);return!!n}function fi(e){let t=Object.create(null);for(let i=0;i<e.attributes.length;i++){let n=e.attributes[i];t[n.name]=n.value}return t}class di{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}destroy(e){}}var pi=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(pi||(pi={}));class Oi extends Pe{constructor(e,t,i,n){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=n}get heightRelevant(){return!1}static mark(e){return new mi(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new Si(e,t,t,i,e.widget||null,!1)}static replace(e){let t,i,n=!!e.block;if(e.isBlockGap)t=-5e8,i=4e8;else{let{start:s,end:r}=bi(e,n);t=(s?n?-3e8:-1:5e8)-1,i=1+(r?n?2e8:1:-6e8)}return new Si(e,t,i,n,e.widget||null,!0)}static line(e){return new gi(e)}static set(e,t=!1){return Ze.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}Oi.none=Ze.empty;class mi extends Oi{constructor(e){let{start:t,end:i}=bi(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,i;return this==e||e instanceof mi&&this.tagName==e.tagName&&(this.class||(null===(t=this.attrs)||void 0===t?void 0:t.class))==(e.class||(null===(i=e.attrs)||void 0===i?void 0:i.class))&&ci(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}mi.prototype.point=!1;class gi extends Oi{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof gi&&this.spec.class==e.spec.class&&ci(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}gi.prototype.mapMode=v.TrackBefore,gi.prototype.point=!0;class Si extends Oi{constructor(e,t,i,n,s,r){super(t,i,s,e),this.block=n,this.isReplace=r,this.mapMode=n?t<=0?v.TrackBefore:v.TrackAfter:v.TrackDel}get type(){return this.startSide<this.endSide?pi.WidgetRange:this.startSide<=0?pi.WidgetBefore:pi.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Si&&xi(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function bi(e,t=!1){let{inclusiveStart:i,inclusiveEnd:n}=e;return null==i&&(i=e.inclusive),null==n&&(n=e.inclusive),{start:null!=i?i:t,end:null!=n?n:t}}function xi(e,t){return e==t||!!(e&&t&&e.compare(t))}function wi(e,t,i,n=0){let s=i.length-1;s>=0&&i[s]+n>=e?i[s]=Math.max(i[s],t):i.push(e,t)}Si.prototype.point=!0;class yi extends Zt{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,i,n,s,r){if(i){if(!(i instanceof yi))return!1;this.dom||i.transferDOM(this)}return n&&this.setDeco(i?i.attrs:null),Mt(this,e,t,i?i.children:[],s,r),!0}split(e){let t=new yi;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:i,off:n}=this.childPos(e);n&&(t.append(this.children[i].split(n),0),this.children[i].merge(n,this.children[i].length,null,!1,0,0),i++);for(let e=i;e<this.children.length;e++)t.append(this.children[e],0);for(;i>0&&0==this.children[i-1].length;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){ci(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){ri(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=li(t,this.attrs||{})),i&&(this.attrs=li({class:i},this.attrs||{}))}domAtPos(e){return si(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.flags|=6)}sync(e,t){var i;this.dom?4&this.flags&&($t(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(ui(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let n=this.dom.lastChild;for(;n&&Zt.get(n)instanceof ei;)n=n.lastChild;if(!(n&&this.length&&("BR"==n.nodeName||0!=(null===(i=Zt.get(n))||void 0===i?void 0:i.isEditable)||Ht.ios&&this.children.some(e=>e instanceof Kt)))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e,t=0;for(let i of this.children){if(!(i instanceof Kt)||/[^ -~]/.test(i.text))return null;let n=ct(i.dom);if(1!=n.length)return null;t+=n[0].width,e=n[0].height}return t?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:t/this.length,textHeight:e}:null}coordsAt(e,t){let i=oi(this,e,t);if(!this.children.length&&i&&this.parent){let{heightOracle:e}=this.parent.view.viewState,t=i.bottom-i.top;if(Math.abs(t-e.lineHeight)<2&&e.textHeight<t){let n=(t-e.textHeight)/2;return{top:i.top+n,bottom:i.bottom-n,left:i.left,right:i.left}}}return i}become(e){return!1}get type(){return pi.Text}static find(e,t){for(let i=0,n=0;i<e.children.length;i++){let s=e.children[i],r=n+s.length;if(r>=t){if(s instanceof yi)return s;if(r>t)break}n=r+s.breakAfter}return null}}class vi extends Zt{constructor(e,t,i){super(),this.widget=e,this.length=t,this.type=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,n,s,r){return!(i&&(!(i instanceof vi&&this.widget.compare(i.widget))||e>0&&s<=0||t<this.length&&r<=0))&&(this.length=e+(i?i.length:0)+(this.length-t),!0)}domAtPos(e){return 0==e?Xt.before(this.dom):Xt.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let i=new vi(this.widget,t,this.type);return i.breakAfter=this.breakAfter,i}get children(){return Tt}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):e.empty}domBoundsAround(){return null}become(e){return e instanceof vi&&e.widget.constructor==this.widget.constructor&&(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.type=e.type,this.breakAfter=e.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){return this.widget.coordsAt(this.dom,e,t)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class ki{constructor(e,t,i,n){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=n,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof vi&&e.type==pi.WidgetBefore)}getLine(){return this.curLine||(this.content.push(this.curLine=new yi),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Qi(new ni(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||this.getLine()}buildText(e,t,i){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:i,done:n}=this.cursor.next(this.skip);if(this.skip=0,n)throw new Error("Ran out of text content when drawing inline views");if(i){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let n=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(Qi(new Kt(this.text.slice(this.textOff,this.textOff+n)),t),i),this.atCursorPos=!0,this.textOff+=n,e-=n,i=0}}span(e,t,i,n){this.buildText(t-e,i,n),this.pos=t,this.openStart<0&&(this.openStart=n)}point(e,t,i,n,s,r){if(this.disallowBlockEffectsFor[r]&&i instanceof Si){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=t-e;if(i instanceof Si)if(i.block){let{type:e}=i;e!=pi.WidgetAfter||this.posCovered()||this.getLine(),this.addBlockWidget(new vi(i.widget||new $i("div"),o,e))}else{let r=ii.create(i.widget||new $i("span"),o,o?0:i.startSide),a=this.atCursorPos&&!r.isEditable&&s<=n.length&&(e<t||i.startSide>0),l=!r.isEditable&&(e<t||s>n.length||i.startSide<=0),h=this.getLine();2!=this.pendingBuffer||a||r.isEditable||(this.pendingBuffer=0),this.flushBuffer(n),a&&(h.append(Qi(new ni(1),n),s),s=n.length+Math.max(0,s-n.length)),h.append(Qi(r,n),s),this.atCursorPos=l,this.pendingBuffer=l?e<t||s>n.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=s)}static build(e,t,i,n,s){let r=new ki(e,t,i,s);return r.openEnd=Ze.spans(n,t,i,r),r.openStart<0&&(r.openStart=r.openEnd),r.finish(r.openEnd),r}}function Qi(e,t){for(let i of t)e=new ei(i,[e],e.length);return e}class $i extends di{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}const Pi=Y.define(),Ci=Y.define(),Xi=Y.define(),Ti=Y.define(),Zi=Y.define(),Ai=Y.define(),Ri=Y.define(),Vi=Y.define({combine:e=>e.some(e=>e)}),Mi=Y.define({combine:e=>e.some(e=>e)});class Yi{constructor(e,t="nearest",i="nearest",n=5,s=5){this.range=e,this.y=t,this.x=i,this.yMargin=n,this.xMargin=s}map(e){return e.empty?this:new Yi(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}}const _i=ce.define({map:(e,t)=>e.map(t)});function Wi(e,t,i){let n=e.facet(Ti);n.length?n[0](t):window.onerror?window.onerror(String(t),i,void 0,void 0,t):i?console.error(i+":",t):console.error(t)}const Ei=Y.define({combine:e=>!e.length||e[0]});let zi=0;const Ui=Y.define();class qi{constructor(e,t,i,n){this.id=e,this.create=t,this.domEventHandlers=i,this.extension=n(this)}static define(e,t){const{eventHandlers:i,provide:n,decorations:s}=t||{};return new qi(zi++,e,i,e=>{let t=[Ui.of(e)];return s&&t.push(Bi.of(t=>{let i=t.plugin(e);return i?s(i):Oi.none})),n&&t.push(n(e)),t})}static fromClass(e,t){return qi.define(t=>new e(t),t)}}class Di{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(Wi(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){Wi(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){Wi(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Ii=Y.define(),ji=Y.define(),Bi=Y.define(),Li=Y.define(),Ni=Y.define();function Gi(e){let t=0,i=0,n=0,s=0;for(let r of e.state.facet(Ni)){let o=r(e);o&&(null!=o.left&&(t=Math.max(t,o.left)),null!=o.right&&(i=Math.max(i,o.right)),null!=o.top&&(n=Math.max(n,o.top)),null!=o.bottom&&(s=Math.max(s,o.bottom)))}return{left:t,right:i,top:n,bottom:s}}const Fi=Y.define();class Hi{constructor(e,t,i,n){this.fromA=e,this.toA=t,this.fromB=i,this.toB=n}join(e){return new Hi(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let n=e[t-1];if(!(n.fromA>i.toA)){if(n.toA<i.fromA)break;i=i.join(n),e.splice(t-1,1)}}return e.splice(t,0,i),e}static extendWithRanges(e,t){if(0==t.length)return e;let i=[];for(let n=0,s=0,r=0,o=0;;n++){let a=n==e.length?null:e[n],l=r-o,h=a?a.fromB:1e9;for(;s<t.length&&t[s]<h;){let e=t[s],n=t[s+1],r=Math.max(o,e),a=Math.min(h,n);if(r<=a&&new Hi(r+l,a+l,r,a).addToSet(i),n>h)break;s+=2}if(!a)return i;new Hi(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),r=a.toA,o=a.toB}}}class Ji{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=Q.empty(this.startState.doc.length);for(let e of i)this.changes=this.changes.compose(e.changes);let n=[];this.changes.iterChangedRanges((e,t,i,s)=>n.push(new Hi(e,t,i,s))),this.changedRanges=n}static create(e,t,i){return new Ji(e,t,i)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}var Ki=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(Ki||(Ki={}));const en=Ki.LTR,tn=Ki.RTL;function nn(e){let t=[];for(let i=0;i<e.length;i++)t.push(1<<+e[i]);return t}const sn=nn("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),rn=nn("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),on=Object.create(null),an=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),i=e.charCodeAt(1);on[t]=i,on[i]=-t}function ln(e){return e<=247?sn[e]:1424<=e&&e<=1524?2:1536<=e&&e<=1785?rn[e-1536]:1774<=e&&e<=2220?4:8192<=e&&e<=8203?256:64336<=e&&e<=65023?4:8204==e?256:1}const hn=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class cn{constructor(e,t,i){this.from=e,this.to=t,this.level=i}get dir(){return this.level%2?tn:en}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,i,n){let s=-1;for(let r=0;r<e.length;r++){let o=e[r];if(o.from<=t&&o.to>=t){if(o.level==i)return r;(s<0||(0!=n?n<0?o.from<t:o.to>t:e[s].level>o.level))&&(s=r)}}if(s<0)throw new RangeError("Index out of range");return s}}const un=[];function fn(e,t){let i=e.length,n=t==en?1:2,s=t==en?2:1;if(!e||1==n&&!hn.test(e))return dn(i);for(let t=0,s=n,r=n;t<i;t++){let i=ln(e.charCodeAt(t));512==i?i=s:8==i&&4==r&&(i=16),un[t]=4==i?2:i,7&i&&(r=i),s=i}for(let e=0,t=n,s=n;e<i;e++){let n=un[e];if(128==n)e<i-1&&t==un[e+1]&&24&t?n=un[e]=t:un[e]=256;else if(64==n){let n=e+1;for(;n<i&&64==un[n];)n++;let r=e&&8==t||n<i&&8==un[n]?1==s?1:8:256;for(let t=e;t<n;t++)un[t]=r;e=n-1}else 8==n&&1==s&&(un[e]=1);t=n,7&n&&(s=n)}for(let t,r,o,a=0,l=0,h=0;a<i;a++)if(r=on[t=e.charCodeAt(a)])if(r<0){for(let e=l-3;e>=0;e-=3)if(an[e+1]==-r){let t=an[e+2],i=2&t?n:4&t?1&t?s:n:0;i&&(un[a]=un[an[e]]=i),l=e;break}}else{if(189==an.length)break;an[l++]=a,an[l++]=t,an[l++]=h}else if(2==(o=un[a])||1==o){let e=o==n;h=e?0:1;for(let t=l-3;t>=0;t-=3){let i=an[t+2];if(2&i)break;if(e)an[t+2]|=2;else{if(4&i)break;an[t+2]|=4}}}for(let e=0;e<i;e++)if(256==un[e]){let t=e+1;for(;t<i&&256==un[t];)t++;let s=1==(e?un[e-1]:n),r=s==(1==(t<i?un[t]:n))?s?1:2:n;for(let i=e;i<t;i++)un[i]=r;e=t-1}let r=[];if(1==n)for(let e=0;e<i;){let t=e,n=1!=un[e++];for(;e<i&&n==(1!=un[e]);)e++;if(n)for(let i=e;i>t;){let e=i,n=2!=un[--i];for(;i>t&&n==(2!=un[i-1]);)i--;r.push(new cn(i,e,n?2:1))}else r.push(new cn(t,e,0))}else for(let e=0;e<i;){let t=e,n=2==un[e++];for(;e<i&&n==(2==un[e]);)e++;r.push(new cn(t,e,n?1:2))}return r}function dn(e){return[new cn(0,e,0)]}let pn="";function On(e,t,i,n,s){var r;let o=n.head-e.from,a=-1;if(0==o){if(!s||!e.length)return null;t[0].level!=i&&(o=t[0].side(!1,i),a=0)}else if(o==e.length){if(s)return null;let e=t[t.length-1];e.level!=i&&(o=e.side(!0,i),a=t.length-1)}a<0&&(a=cn.find(t,o,null!==(r=n.bidiLevel)&&void 0!==r?r:-1,n.assoc));let l=t[a];o==l.side(s,i)&&(l=t[a+=s?1:-1],o=l.side(!s,i));let h=s==(l.dir==i),c=p(e.text,o,h);if(pn=e.text.slice(Math.min(o,c),Math.max(o,c)),c!=l.side(s,i))return R.cursor(c+e.from,h?-1:1,l.level);let u=a==(s?t.length-1:0)?null:t[a+(s?1:-1)];return u||l.level==i?u&&u.level<l.level?R.cursor(u.side(!s,i)+e.from,s?1:-1,u.level):R.cursor(c+e.from,s?-1:1,l.level):R.cursor(s?e.to:e.from,s?-1:1,i)}class mn extends Zt{constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[],this.hasComposition=null,this.markedForComposition=new Set,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new yi],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Hi(0,0,0,e.state.doc.length)],0,null)}get length(){return this.view.state.doc.length}update(e){let t=e.changedRanges;this.minWidth>0&&t.length&&(t.every(({fromA:e,toA:t})=>t<this.minWidthFrom||e>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0);let i=this.view.inputState.composing<0?null:xn(this.view,e.changes);if(this.hasComposition){this.markedForComposition.clear();let{from:i,to:n}=this.hasComposition;t=new Hi(i,n,e.changes.mapPos(i,-1),e.changes.mapPos(n,1)).addToSet(t.slice())}this.hasComposition=i?{from:i.range.fromB,to:i.range.toB}:null,(Ht.ie||Ht.chrome)&&!i&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let n=kn(this.decorations,this.updateDeco(),e.changes);return t=Hi.extendWithRanges(t,n),!!(7&this.flags||0!=t.length)&&(this.updateInner(t,e.startState.doc.length,i),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,i);let{observer:n}=this.view;n.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=Ht.chrome||Ht.ios?{node:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.flags&=-8,e&&(e.written||n.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(e=>e.flags&=-9);let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof vi&&e.widget instanceof Sn&&s.push(e.dom);n.updateGaps(s)}updateChildren(e,t,i){let n=i?i.range.addToSet(e.slice()):e,s=this.childCursor(t);for(let e=n.length-1;;e--){let t=e>=0?n[e]:null;if(!t)break;let r,o,a,l,{fromA:h,toA:c,fromB:u,toB:f}=t;if(i&&i.range.fromB<f&&i.range.toB>u){let e=ki.build(this.view.state.doc,u,i.range.fromB,this.decorations,this.dynamicDecorationMap),t=ki.build(this.view.state.doc,i.range.toB,f,this.decorations,this.dynamicDecorationMap);o=e.breakAtStart,a=e.openStart,l=t.openEnd;let n=this.compositionView(i);t.breakAtStart?n.breakAfter=1:t.content.length&&n.merge(n.length,n.length,t.content[0],!1,t.openStart,0)&&(n.breakAfter=t.content[0].breakAfter,t.content.shift()),e.content.length&&n.merge(0,0,e.content[e.content.length-1],!0,0,e.openEnd)&&e.content.pop(),r=e.content.concat(n).concat(t.content)}else({content:r,breakAtStart:o,openStart:a,openEnd:l}=ki.build(this.view.state.doc,u,f,this.decorations,this.dynamicDecorationMap));let{i:d,off:p}=s.findPos(c,1),{i:O,off:m}=s.findPos(h,-1);Vt(this,O,m,d,p,r,o,a,l)}i&&this.fixCompositionDOM(i)}compositionView(e){let t=new Kt(e.text.nodeValue);t.flags|=8;for(let{deco:i}of e.marks)t=new ei(i,[t],t.length);let i=new yi;return i.append(t,0),i}fixCompositionDOM(e){let t=(e,t)=>{t.flags|=8,this.markedForComposition.add(t);let i=Zt.get(e);i!=t&&(i&&(i.dom=null),t.setDOM(e))},i=this.childPos(e.range.fromB,1),n=this.children[i.i];t(e.line,n);for(let s=e.marks.length-1;s>=-1;s--)i=n.childPos(i.off,1),n=n.children[i.i],t(s>=0?e.marks[s].node:e.text,n)}updateSelection(e=!1,t=!1){!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange();let i=this.view.root.activeElement,n=i==this.dom,s=!n&&ht(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(n||t||s))return;let r=this.forceSelection;this.forceSelection=!1;let o=this.view.state.selection.main,a=this.domAtPos(o.anchor),l=o.empty?a:this.domAtPos(o.head);if(Ht.gecko&&o.empty&&!this.hasComposition&&gn(a)){let e=document.createTextNode("");this.view.observer.ignore(()=>a.node.insertBefore(e,a.node.childNodes[a.offset]||null)),a=l=new Xt(e,0),r=!0}let h=this.view.observer.selectionRange;!r&&h.focusNode&&ut(a.node,a.offset,h.anchorNode,h.anchorOffset)&&ut(l.node,l.offset,h.focusNode,h.focusOffset)||(this.view.observer.ignore(()=>{Ht.android&&Ht.chrome&&this.dom.contains(h.focusNode)&&Qn(h.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=ot(this.view.root);if(e)if(o.empty){if(Ht.gecko){let e=yn(a.node,a.offset);if(e&&3!=e){let t=wn(a.node,a.offset,1==e?1:-1);t&&(a=new Xt(t,1==e?0:t.nodeValue.length))}}e.collapse(a.node,a.offset),null!=o.bidiLevel&&null!=h.cursorBidiLevel&&(h.cursorBidiLevel=o.bidiLevel)}else if(e.extend){e.collapse(a.node,a.offset);try{e.extend(l.node,l.offset)}catch(e){}}else{let t=document.createRange();o.anchor>o.head&&([a,l]=[l,a]),t.setEnd(l.node,l.offset),t.setStart(a.node,a.offset),e.removeAllRanges(),e.addRange(t)}else;s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(a,l)),this.impreciseAnchor=a.precise?null:new Xt(h.anchorNode,h.anchorOffset),this.impreciseHead=l.precise?null:new Xt(h.focusNode,h.focusOffset)}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=ot(e.root),{anchorNode:n,anchorOffset:s}=e.observer.selectionRange;if(!(i&&t.empty&&t.assoc&&i.modify))return;let r=yi.find(this,t.head);if(!r)return;let o=r.posAtStart;if(t.head==o||t.head==o+r.length)return;let a=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!a||!l||a.bottom>l.top)return;let h=this.domAtPos(t.head+t.assoc);i.collapse(h.node,h.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=t.from&&i.collapse(n,s)}nearest(e){for(let t=e;t;){let e=Zt.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let e=this.children[t];if(i<e.length||e instanceof yi)break;t++,i=0}return this.children[t].domAtPos(i)}coordsAt(e,t){for(let i=this.length,n=this.children.length-1;;n--){let s=this.children[n],r=i-s.breakAfter-s.length;if(e>r||e==r&&s.type!=pi.WidgetBefore&&s.type!=pi.WidgetAfter&&(!n||2==t||this.children[n-1].breakAfter||this.children[n-1].type==pi.WidgetBefore&&t>-2))return s.coordsAt(e-r,t);i=r}}measureVisibleLineHeights(e){let t=[],{from:i,to:n}=e,s=this.view.contentDOM.clientWidth,r=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,a=this.view.textDirection==Ki.LTR;for(let e=0,l=0;l<this.children.length;l++){let h=this.children[l],c=e+h.length;if(c>n)break;if(e>=i){let i=h.dom.getBoundingClientRect();if(t.push(i.height),r){let t=h.dom.lastChild,n=t?ct(t):[];if(n.length){let t=n[n.length-1],r=a?t.right-i.left:i.right-t.left;r>o&&(o=r,this.minWidth=s,this.minWidthFrom=e,this.minWidthTo=c)}}}e=c+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?Ki.RTL:Ki.LTR}measureTextSize(){for(let e of this.children)if(e instanceof yi){let t=e.measureTextSize();if(t)return t}let e,t,i,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.style.position="absolute",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(n);let s=ct(n.firstChild)[0];e=n.getBoundingClientRect().height,t=s?s.width/27:7,i=s?s.height:e,n.remove()}),{lineHeight:e,charWidth:t,textHeight:i}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Rt(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,n=0;;n++){let s=n==t.viewports.length?null:t.viewports[n],r=s?s.from-1:this.length;if(r>i){let n=t.lineBlockAt(r).bottom-t.lineBlockAt(i).top;e.push(Oi.replace({widget:new Sn(n),block:!0,inclusive:!0,isBlockGap:!0}).range(i,r))}if(!s)break;i=s.to+1}return Oi.set(e)}updateDeco(){let e=this.view.state.facet(Bi).map((e,t)=>(this.dynamicDecorationMap[t]="function"==typeof e)?e(this.view):e);for(let t=e.length;t<e.length+3;t++)this.dynamicDecorationMap[t]=!1;return this.decorations=[...e,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){let t,{range:i}=e,n=this.coordsAt(i.head,i.empty?i.assoc:i.head>i.anchor?-1:1);if(!n)return;!i.empty&&(t=this.coordsAt(i.anchor,i.anchor>i.head?-1:1))&&(n={left:Math.min(n.left,t.left),top:Math.min(n.top,t.top),right:Math.max(n.right,t.right),bottom:Math.max(n.bottom,t.bottom)});let s=Gi(this.view),r={left:n.left-s.left,top:n.top-s.top,right:n.right+s.right,bottom:n.bottom+s.bottom};gt(this.view.scrollDOM,r,i.head<i.anchor?-1:1,e.x,e.y,e.xMargin,e.yMargin,this.view.textDirection==Ki.LTR)}}function gn(e){return 1==e.node.nodeType&&e.node.firstChild&&(0==e.offset||"false"==e.node.childNodes[e.offset-1].contentEditable)&&(e.offset==e.node.childNodes.length||"false"==e.node.childNodes[e.offset].contentEditable)}class Sn extends di{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}function bn(e){let t=e.observer.selectionRange,i=t.focusNode&&wn(t.focusNode,t.focusOffset,0);if(!i)return null;let n,s,r=Zt.get(i);if(r instanceof Kt)n=r.posAtStart,s=n+r.length;else e:for(let t=0,r=i;;){for(let i,o=r.previousSibling;o;o=o.previousSibling){if(i=Zt.get(o)){n=s=i.posAtEnd+t;break e}let r=new _t([],e.state);if(r.readNode(o),r.text.indexOf(Yt)>-1)return null;t+=r.text.length}if(r=r.parentNode,!r)return null;let i=Zt.get(r);if(i){n=s=i.posAtStart+t;break}}return{from:n,to:s,node:i}}function xn(e,t){let i=bn(e);if(!i)return null;let{from:n,to:s,node:r}=i,o=t.mapPos(n,-1),a=t.mapPos(s,1),l=r.nodeValue;if(/[\n\r]/.test(l))return null;if(a-o!=l.length){let i=t.mapPos(n,1),r=t.mapPos(s,-1);if(r-i==l.length)o=i,a=r;else if(e.state.doc.sliceString(a-l.length,a)==l)o=a-l.length;else{if(e.state.doc.sliceString(o,o+l.length)!=l)return null;a=o+l.length}}let{main:h}=e.state.selection;if(e.state.doc.sliceString(o,a)!=l||o>h.head||a<h.head)return null;let c=[],u=new Hi(n,s,o,a);for(let t=r.parentNode;;t=t.parentNode){let i=Zt.get(t);if(i instanceof ei)c.push({node:t,deco:i.mark});else{if(i instanceof yi||"DIV"==t.nodeName&&t.parentNode==e.contentDOM)return{range:u,text:r,marks:c,line:t};if(t==e.contentDOM)return null;c.push({node:t,deco:new mi({inclusive:!0,attributes:fi(t),tagName:t.tagName.toLowerCase()})})}}}function wn(e,t,i){if(i<=0)for(let i=e,n=t;;){if(3==i.nodeType)return i;if(!(1==i.nodeType&&n>0))break;i=i.childNodes[n-1],n=pt(i)}if(i>=0)for(let n=e,s=t;;){if(3==n.nodeType)return n;if(!(1==n.nodeType&&s<n.childNodes.length&&i>=0))break;n=n.childNodes[s],s=0}return null}function yn(e,t){return 1!=e.nodeType?0:(t&&"false"==e.childNodes[t-1].contentEditable?1:0)|(t<e.childNodes.length&&"false"==e.childNodes[t].contentEditable?2:0)}class vn{constructor(){this.changes=[]}compareRange(e,t){wi(e,t,this.changes)}comparePoint(e,t){wi(e,t,this.changes)}}function kn(e,t,i){let n=new vn;return Ze.compare(e,t,i,n),n.changes}function Qn(e,t){for(let i=e;i&&i!=t;i=i.assignedSlot||i.parentNode)if(1==i.nodeType&&"false"==i.contentEditable)return!0;return!1}function $n(e,t,i=1){let n=e.charCategorizer(t),s=e.doc.lineAt(t),r=t-s.from;if(0==s.length)return R.cursor(t);0==r?i=1:r==s.length&&(i=-1);let o=r,a=r;i<0?o=p(s.text,r,!1):a=p(s.text,r);let l=n(s.text.slice(o,a));for(;o>0;){let e=p(s.text,o,!1);if(n(s.text.slice(e,o))!=l)break;o=e}for(;a<s.length;){let e=p(s.text,a);if(n(s.text.slice(a,e))!=l)break;a=e}return R.range(o+s.from,a+s.from)}function Pn(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function Cn(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function Xn(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function Tn(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function Zn(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function An(e,t,i){let n,s,r,o,a,l,h,c,u=!1;for(let f=e.firstChild;f;f=f.nextSibling){let e=ct(f);for(let d=0;d<e.length;d++){let p=e[d];s&&Xn(s,p)&&(p=Tn(Zn(p,s.bottom),s.top));let O=Pn(t,p),m=Cn(i,p);if(0==O&&0==m)return 3==f.nodeType?Rn(f,t,i):An(f,t,i);if(!n||o>m||o==m&&r>O){n=f,s=p,r=O,o=m;let a=m?i<p.top?-1:1:O?t<p.left?-1:1:0;u=!a||(a>0?d<e.length-1:d>0)}0==O?i>p.bottom&&(!h||h.bottom<p.bottom)?(a=f,h=p):i<p.top&&(!c||c.top>p.top)&&(l=f,c=p):h&&Xn(h,p)?h=Zn(h,p.bottom):c&&Xn(c,p)&&(c=Tn(c,p.top))}}if(h&&h.bottom>=i?(n=a,s=h):c&&c.top<=i&&(n=l,s=c),!n)return{node:e,offset:0};let f=Math.max(s.left,Math.min(s.right,t));return 3==n.nodeType?Rn(n,f,i):u&&"false"!=n.contentEditable?An(n,f,i):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,n)+(t>=(s.left+s.right)/2?1:0)}}function Rn(e,t,i){let n=e.nodeValue.length,s=-1,r=1e9,o=0;for(let a=0;a<n;a++){let n=vt(e,a,a+1).getClientRects();for(let l=0;l<n.length;l++){let h=n[l];if(h.top==h.bottom)continue;o||(o=t-h.left);let c=(h.top>i?h.top-i:i-h.bottom)-1;if(h.left-1<=t&&h.right+1>=t&&c<r){let i=t>=(h.left+h.right)/2,n=i;if(Ht.chrome||Ht.gecko){vt(e,a).getBoundingClientRect().left==h.right&&(n=!i)}if(c<=0)return{node:e,offset:a+(n?1:0)};s=a+(n?1:0),r=c}}}return{node:e,offset:s>-1?s:o>0?e.nodeValue.length:0}}function Vn(e,t,i,n=-1){var s,r;let o,a=e.contentDOM.getBoundingClientRect(),l=a.top+e.viewState.paddingTop,{docHeight:h}=e.viewState,{x:c,y:u}=t,f=u-l;if(f<0)return 0;if(f>h)return e.state.doc.length;for(let t=e.viewState.heightOracle.textHeight/2,s=!1;o=e.elementAtHeight(f),o.type!=pi.Text;)for(;f=n>0?o.bottom+t:o.top-t,!(f>=0&&f<=h);){if(s)return i?null:0;s=!0,n=-n}u=l+f;let d=o.from;if(d<e.viewport.from)return 0==e.viewport.from?0:i?null:Mn(e,a,o,c,u);if(d>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:i?null:Mn(e,a,o,c,u);let p=e.dom.ownerDocument,O=e.root.elementFromPoint?e.root:p,m=O.elementFromPoint(c,u);m&&!e.contentDOM.contains(m)&&(m=null),m||(c=Math.max(a.left+1,Math.min(a.right-1,c)),m=O.elementFromPoint(c,u),m&&!e.contentDOM.contains(m)&&(m=null));let g,S=-1;if(m&&0!=(null===(s=e.docView.nearest(m))||void 0===s?void 0:s.isEditable))if(p.caretPositionFromPoint){let e=p.caretPositionFromPoint(c,u);e&&({offsetNode:g,offset:S}=e)}else if(p.caretRangeFromPoint){let t=p.caretRangeFromPoint(c,u);t&&(({startContainer:g,startOffset:S}=t),(!e.contentDOM.contains(g)||Ht.safari&&Yn(g,S,c)||Ht.chrome&&_n(g,S,c))&&(g=void 0))}if(!g||!e.docView.dom.contains(g)){let t=yi.find(e.docView,d);if(!t)return f>o.top+o.height/2?o.to:o.from;({node:g,offset:S}=An(t.dom,c,u))}let b=e.docView.nearest(g);if(!b)return null;if(b.isWidget&&1==(null===(r=b.dom)||void 0===r?void 0:r.nodeType)){let e=b.dom.getBoundingClientRect();return t.y<e.top||t.y<=e.bottom&&t.x<=(e.left+e.right)/2?b.posAtStart:b.posAtEnd}return b.localPosFromDOM(g,S)+b.posAtStart}function Mn(e,t,i,n,s){let r=Math.round((n-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&i.height>1.5*e.defaultLineHeight){let t=e.viewState.heightOracle.textHeight;r+=Math.floor((s-i.top-.5*(e.defaultLineHeight-t))/t)*e.viewState.heightOracle.lineLength}let o=e.state.sliceDoc(i.from,i.to);return i.from+je(o,r,e.state.tabSize)}function Yn(e,t,i){let n;if(3!=e.nodeType||t!=(n=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return vt(e,n-1,n).getBoundingClientRect().left>i}function _n(e,t,i){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}return i-(1==e.nodeType?e.getBoundingClientRect():vt(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}function Wn(e,t){let i=e.lineBlockAt(t);if(Array.isArray(i.type))for(let e of i.type)if(e.to>t||e.to==t&&(e.to==i.to||e.type==pi.Text))return e;return i}function En(e,t,i,n){let s=Wn(e,t.head),r=n&&s.type==pi.Text&&(e.lineWrapping||s.widgetLineBreaks)?e.coordsAtPos(t.assoc<0&&t.head>s.from?t.head-1:t.head):null;if(r){let t=e.dom.getBoundingClientRect(),n=e.textDirectionAt(s.from),o=e.posAtCoords({x:i==(n==Ki.LTR)?t.right-1:t.left+1,y:(r.top+r.bottom)/2});if(null!=o)return R.cursor(o,i?-1:1)}return R.cursor(i?s.to:s.from,i?-1:1)}function zn(e,t,i,n){let s=e.state.doc.lineAt(t.head),r=e.bidiSpans(s),o=e.textDirectionAt(s.from);for(let a=t,l=null;;){let t=On(s,r,o,a,i),h=pn;if(!t){if(s.number==(i?e.state.doc.lines:1))return a;h="\n",s=e.state.doc.line(s.number+(i?1:-1)),r=e.bidiSpans(s),t=R.cursor(i?s.from:s.to)}if(l){if(!l(h))return a}else{if(!n)return t;l=n(h)}a=t}}function Un(e,t,i){let n=e.state.charCategorizer(t),s=n(i);return e=>{let t=n(e);return s==xe.Space&&(s=t),s==t}}function qn(e,t,i,n){let s=t.head,r=i?1:-1;if(s==(i?e.state.doc.length:0))return R.cursor(s,t.assoc);let o,a=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),h=e.coordsAtPos(s),c=e.documentTop;if(h)null==a&&(a=h.left-l.left),o=r<0?h.top:h.bottom;else{let t=e.viewState.lineBlockAt(s);null==a&&(a=Math.min(l.right-l.left,e.defaultCharacterWidth*(s-t.from))),o=(r<0?t.top:t.bottom)+c}let u=l.left+a,f=null!=n?n:e.viewState.heightOracle.textHeight>>1;for(let i=0;;i+=10){let n=o+(f+i)*r,h=Vn(e,{x:u,y:n},!1,r);if(n<l.top||n>l.bottom||(r<0?h<s:h>s))return R.cursor(h,t.assoc,void 0,a)}}function Dn(e,t,i){for(;;){let n=0;for(let s of e)s.between(t-1,t+1,(e,s,r)=>{if(t>e&&t<s){let r=n||i||(t-e<s-t?-1:1);t=r<0?e:s,n=r}});if(!n)return t}}function In(e,t,i){let n=Dn(e.state.facet(Li).map(t=>t(e)),i.from,t.head>i.from?-1:1);return n==i.from?i:R.cursor(n,n<i.from?1:-1)}class jn{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.mouseSelection=null;let t=(t,i)=>{this.ignoreDuringComposition(i)||"keydown"==i.type&&this.keydown(e,i)||(this.mustFlushObserver(i)&&e.observer.forceFlush(),this.runCustomHandlers(i.type,e,i)?i.preventDefault():t(e,i))};for(let i in ns){let n=ns[i];e.contentDOM.addEventListener(i,i=>{is(e,i)&&t(n,i)},ss[i]),this.registeredEvents.push(i)}e.scrollDOM.addEventListener("mousedown",i=>{if(i.target==e.scrollDOM&&i.clientY>e.contentDOM.getBoundingClientRect().bottom&&(t(ns.mousedown,i),!i.defaultPrevented&&2==i.button)){let t=e.contentDOM.style.minHeight;e.contentDOM.style.minHeight="100%",setTimeout(()=>e.contentDOM.style.minHeight=t,200)}}),e.scrollDOM.addEventListener("drop",i=>{i.target==e.scrollDOM&&i.clientY>e.contentDOM.getBoundingClientRect().bottom&&t(ns.drop,i)}),Ht.chrome&&102==Ht.chrome_version&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,Ht.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var i;let n;this.customHandlers=[];for(let s of t)if(n=null===(i=s.update(e).spec)||void 0===i?void 0:i.domEventHandlers){this.customHandlers.push({plugin:s.value,handlers:n});for(let t in n)this.registeredEvents.indexOf(t)<0&&"scroll"!=t&&(this.registeredEvents.push(t),e.contentDOM.addEventListener(t,i=>{is(e,i)&&this.runCustomHandlers(t,e,i)&&i.preventDefault()}))}}runCustomHandlers(e,t,i){for(let n of this.customHandlers){let s=n.handlers[e];if(s)try{if(s.call(n.plugin,i,t)||i.defaultPrevented)return!0}catch(e){Wi(t.state,e)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let i of this.customHandlers){let n=i.handlers.scroll;if(n)try{n.call(i.plugin,t,e)}catch(t){Wi(e.state,t)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),9==t.keyCode&&Date.now()<this.lastEscPress+2e3)return!0;if(27!=t.keyCode&&Nn.indexOf(t.keyCode)<0&&(e.inputState.lastEscPress=0),Ht.android&&Ht.chrome&&!t.synthetic&&(13==t.keyCode||8==t.keyCode))return e.observer.delayAndroidKey(t.key,t.keyCode),!0;let i;return!(!Ht.ios||t.synthetic||t.altKey||t.metaKey||!((i=Bn.find(e=>e.keyCode==t.keyCode))&&!t.ctrlKey||Ln.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey))&&(this.pendingIOSKey=i||t,setTimeout(()=>this.flushIOSKey(e),250),!0)}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&(this.pendingIOSKey=void 0,kt(e.contentDOM,t.key,t.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(Ht.safari&&!Ht.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100)&&(this.compositionPendingKey=!1,!0))}mustFlushObserver(e){return"keydown"==e.type&&229!=e.keyCode}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const Bn=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Ln="dthko",Nn=[16,17,18,20,91,92,224,225],Gn=6;function Fn(e){return.7*Math.max(0,e)+8}function Hn(e,t){return Math.max(Math.abs(e.clientX-t.clientX),Math.abs(e.clientY-t.clientY))}class Jn{constructor(e,t,i,n){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=St(e.contentDOM),this.atoms=e.state.facet(Li).map(t=>t(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(Qe.allowMultipleSelections)&&Kn(e,t),this.dragging=!(!ts(e,t)||1!=gs(t))&&null}start(e){!1===this.dragging&&(e.preventDefault(),this.select(e))}move(e){var t;if(0==e.buttons)return this.destroy();if(this.dragging||null==this.dragging&&Hn(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let i=0,n=0,s=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight},r=Gi(this.view);e.clientX-r.left<=s.left+Gn?i=-Fn(s.left-e.clientX):e.clientX+r.right>=s.right-Gn&&(i=Fn(e.clientX-s.right)),e.clientY-r.top<=s.top+Gn?n=-Fn(s.top-e.clientY):e.clientY+r.bottom>=s.bottom-Gn&&(n=Fn(e.clientY-s.bottom)),this.setScrollSpeed(i,n)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}skipAtoms(e){let t=null;for(let i=0;i<e.ranges.length;i++){let n=e.ranges[i],s=null;if(n.empty){let e=Dn(this.atoms,n.from,0);e!=n.from&&(s=R.cursor(e,-1))}else{let e=Dn(this.atoms,n.from,-1),t=Dn(this.atoms,n.to,1);e==n.from&&t==n.to||(s=R.range(n.from==n.anchor?e:t,n.from==n.head?e:t))}s&&(t||(t=e.ranges.slice()),t[i]=s)}return t?R.create(t,e.mainIndex):e}select(e){let{view:t}=this,i=this.skipAtoms(this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(t.state.selection)||i.main.assoc!=t.state.selection.main.assoc&&!1===this.dragging)&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Kn(e,t){let i=e.state.facet(Pi);return i.length?i[0](t):Ht.mac?t.metaKey:t.ctrlKey}function es(e,t){let i=e.state.facet(Ci);return i.length?i[0](t):Ht.mac?!t.altKey:!t.ctrlKey}function ts(e,t){let{main:i}=e.state.selection;if(i.empty)return!1;let n=ot(e.root);if(!n||0==n.rangeCount)return!0;let s=n.getRangeAt(0).getClientRects();for(let e=0;e<s.length;e++){let i=s[e];if(i.left<=t.clientX&&i.right>=t.clientX&&i.top<=t.clientY&&i.bottom>=t.clientY)return!0}return!1}function is(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let i,n=t.target;n!=e.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(i=Zt.get(n))&&i.ignoreEvent(t))return!1;return!0}const ns=Object.create(null),ss=Object.create(null),rs=Ht.ie&&Ht.ie_version<15||Ht.ios&&Ht.webkit_version<604;function os(e){let t=e.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{e.focus(),i.remove(),as(e,i.value)},50)}function as(e,t){let i,{state:n}=e,s=1,r=n.toText(t),o=r.lines==n.selection.ranges.length;if(null!=vs&&n.selection.ranges.every(e=>e.empty)&&vs==r.toString()){let e=-1;i=n.changeByRange(i=>{let a=n.doc.lineAt(i.from);if(a.from==e)return{range:i};e=a.from;let l=n.toText((o?r.line(s++).text:t)+n.lineBreak);return{changes:{from:a.from,insert:l},range:R.cursor(i.from+l.length)}})}else i=o?n.changeByRange(e=>{let t=r.line(s++);return{changes:{from:e.from,to:e.to,insert:t.text},range:R.cursor(e.from+t.length)}}):n.replaceSelection(r);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}function ls(e,t,i,n){if(1==n)return R.cursor(t,i);if(2==n)return $n(e.state,t,i);{let i=yi.find(e.docView,t),n=e.state.doc.lineAt(i?i.posAtEnd:t),s=i?i.posAtStart:n.from,r=i?i.posAtEnd:n.to;return r<e.state.doc.length&&r==n.to&&r++,R.range(s,r)}}ns.keydown=(e,t)=>{e.inputState.setSelectionOrigin("select"),27==t.keyCode&&(e.inputState.lastEscPress=Date.now())},ns.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},ns.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},ss.touchstart=ss.touchmove={passive:!0},ns.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return;let i=null;for(let n of e.state.facet(Xi))if(i=n(e,t),i)break;if(i||0!=t.button||(i=Ss(e,t)),i){let n=!e.hasFocus;e.inputState.startMouseSelection(new Jn(e,t,i,n)),n&&e.observer.ignore(()=>yt(e.contentDOM)),e.inputState.mouseSelection&&e.inputState.mouseSelection.start(t)}};let hs=(e,t)=>e>=t.top&&e<=t.bottom,cs=(e,t,i)=>hs(t,i)&&e>=i.left&&e<=i.right;function us(e,t,i,n){let s=yi.find(e.docView,t);if(!s)return 1;let r=t-s.posAtStart;if(0==r)return 1;if(r==s.length)return-1;let o=s.coordsAt(r,-1);if(o&&cs(i,n,o))return-1;let a=s.coordsAt(r,1);return a&&cs(i,n,a)?1:o&&hs(n,o)?-1:1}function fs(e,t){let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:i,bias:us(e,i,t.clientX,t.clientY)}}const ds=Ht.ie&&Ht.ie_version<=11;let ps=null,Os=0,ms=0;function gs(e){if(!ds)return e.detail;let t=ps,i=ms;return ps=e,ms=Date.now(),Os=!t||i>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(Os+1)%3:1}function Ss(e,t){let i=fs(e,t),n=gs(t),s=e.state.selection;return{update(e){e.docChanged&&(i.pos=e.changes.mapPos(i.pos),s=s.map(e.changes))},get(t,r,o){let a,l=fs(e,t),h=ls(e,l.pos,l.bias,n);if(i.pos!=l.pos&&!r){let t=ls(e,i.pos,i.bias,n),s=Math.min(t.from,h.from),r=Math.max(t.to,h.to);h=s<h.from?R.range(s,r):R.range(r,s)}return r?s.replaceRange(s.main.extend(h.from,h.to)):o&&1==n&&s.ranges.length>1&&(a=bs(s,l.pos))?a:o?s.addRange(h):R.create([h])}}}function bs(e,t){for(let i=0;i<e.ranges.length;i++){let{from:n,to:s}=e.ranges[i];if(n<=t&&s>=t)return R.create(e.ranges.slice(0,i).concat(e.ranges.slice(i+1)),e.mainIndex==i?0:e.mainIndex-(e.mainIndex>i?1:0))}return null}function xs(e,t,i,n){if(!i)return;let s=e.posAtCoords({x:t.clientX,y:t.clientY},!1);t.preventDefault();let{mouseSelection:r}=e.inputState,o=n&&r&&r.dragging&&es(e,t)?{from:r.dragging.from,to:r.dragging.to}:null,a={from:s,insert:i},l=e.state.changes(o?[o,a]:a);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(s,-1),head:l.mapPos(s,1)},userEvent:o?"move.drop":"input.drop"})}function ws(e,t){let i=e.dom.parentNode;if(!i)return;let n=i.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=t,n.focus(),n.selectionEnd=t.length,n.selectionStart=0,setTimeout(()=>{n.remove(),e.focus()},50)}function ys(e){let t=[],i=[],n=!1;for(let n of e.selection.ranges)n.empty||(t.push(e.sliceDoc(n.from,n.to)),i.push(n));if(!t.length){let s=-1;for(let{from:n}of e.selection.ranges){let r=e.doc.lineAt(n);r.number>s&&(t.push(r.text),i.push({from:r.from,to:Math.min(e.doc.length,r.to+1)})),s=r.number}n=!0}return{text:t.join(e.lineBreak),ranges:i,linewise:n}}ns.dragstart=(e,t)=>{let{selection:{main:i}}=e.state,{mouseSelection:n}=e.inputState;n&&(n.dragging=i),t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(i.from,i.to)),t.dataTransfer.effectAllowed="copyMove")},ns.drop=(e,t)=>{if(!t.dataTransfer)return;if(e.state.readOnly)return t.preventDefault();let i=t.dataTransfer.files;if(i&&i.length){t.preventDefault();let n=Array(i.length),s=0,r=()=>{++s==i.length&&xs(e,t,n.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e<i.length;e++){let t=new FileReader;t.onerror=r,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(n[e]=t.result),r()},t.readAsText(i[e])}}else xs(e,t,t.dataTransfer.getData("Text"),!0)},ns.paste=(e,t)=>{if(e.state.readOnly)return t.preventDefault();e.observer.flush();let i=rs?null:t.clipboardData;i?(as(e,i.getData("text/plain")||i.getData("text/uri-text")),t.preventDefault()):os(e)};let vs=null;ns.copy=ns.cut=(e,t)=>{let{text:i,ranges:n,linewise:s}=ys(e.state);if(!i&&!s)return;vs=s?i:null;let r=rs?null:t.clipboardData;r?(t.preventDefault(),r.clearData(),r.setData("text/plain",i)):ws(e,i),"cut"!=t.type||e.state.readOnly||e.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"})};const ks=ae.define();function Qs(e,t){let i=[];for(let n of e.facet(Ri)){let s=n(e,t);s&&i.push(s)}return i?e.update({effects:i,annotations:ks.of(!0)}):null}function $s(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let i=Qs(e.state,t);i?e.dispatch(i):e.update([])}},10)}ns.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),$s(e)},ns.blur=e=>{e.observer.clearSelectionRange(),$s(e)},ns.compositionstart=ns.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},ns.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionPendingKey=!0,e.inputState.compositionPendingChange=e.observer.pendingRecords().length>0,e.inputState.compositionFirstChange=null,Ht.chrome&&Ht.android?e.observer.flushSoon():e.inputState.compositionPendingChange?Promise.resolve().then(()=>e.observer.flush()):setTimeout(()=>{e.inputState.composing<0&&e.docView.hasComposition&&e.update([])},50)},ns.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},ns.beforeinput=(e,t)=>{var i;let n;if(Ht.chrome&&Ht.android&&(n=Bn.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let t=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout(()=>{var i;((null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}};const Ps=["pre-wrap","normal","pre-line","break-spaces"];class Cs{constructor(t){this.lineWrapping=t,this.doc=e.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Ps.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i<e.length;i++){let n=e[i];n<0?i++:this.heightSamples[Math.floor(10*n)]||(t=!0,this.heightSamples[Math.floor(10*n)]=!0)}return t}refresh(e,t,i,n,s,r){let o=Ps.indexOf(e)>-1,a=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=o;if(this.lineWrapping=o,this.lineHeight=t,this.charWidth=i,this.textHeight=n,this.lineLength=s,a){this.heightSamples={};for(let e=0;e<r.length;e++){let t=r[e];t<0?e++:this.heightSamples[Math.floor(10*t)]=!0}}return a}}class Xs{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Ts{constructor(e,t,i,n,s){this.from=e,this.length=t,this.top=i,this.height=n,this._content=s}get type(){return"number"==typeof this._content?pi.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Si?this._content.widget:null}get widgetLineBreaks(){return"number"==typeof this._content?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new Ts(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Zs=function(e){return e[e.ByPos=0]="ByPos",e[e.ByHeight=1]="ByHeight",e[e.ByPosNoHeight=2]="ByPosNoHeight",e}(Zs||(Zs={}));const As=.001;class Rs{constructor(e,t,i=2){this.length=e,this.height=t,this.flags=i}get outdated(){return(2&this.flags)>0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>As&&(e.heightChanged=!0),this.height=t)}replace(e,t,i){return Rs.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,n){let s=this,r=i.doc;for(let o=n.length-1;o>=0;o--){let{fromA:a,toA:l,fromB:h,toB:c}=n[o],u=s.lineAt(a,Zs.ByPosNoHeight,i.setDoc(t),0,0),f=u.to>=l?u:s.lineAt(l,Zs.ByPosNoHeight,i,0,0);for(c+=f.to-l,l=f.to;o>0&&u.from<=n[o-1].toA;)a=n[o-1].fromA,h=n[o-1].fromB,o--,a<u.from&&(u=s.lineAt(a,Zs.ByPosNoHeight,i,0,0));h+=u.from-a,a=u.from;let d=zs.build(i.setDoc(r),e,h,c);s=s.replace(a,l,d)}return s.updateHeight(i,0)}static empty(){return new Ms(0,0)}static of(e){if(1==e.length)return e[0];let t=0,i=e.length,n=0,s=0;for(;;)if(t==i)if(n>2*s){let s=e[t-1];s.break?e.splice(--t,1,s.left,null,s.right):e.splice(--t,1,s.left,s.right),i+=1+s.break,n-=s.size}else{if(!(s>2*n))break;{let t=e[i];t.break?e.splice(i,1,t.left,null,t.right):e.splice(i,1,t.left,t.right),i+=2+t.break,s-=t.size}}else if(n<s){let i=e[t++];i&&(n+=i.size)}else{let t=e[--i];t&&(s+=t.size)}let r=0;return null==e[t-1]?(r=1,t--):null==e[t]&&(r=1,i++),new _s(Rs.of(e.slice(0,t)),r,Rs.of(e.slice(i)))}}Rs.prototype.size=1;class Vs extends Rs{constructor(e,t,i){super(e,t),this.deco=i}blockAt(e,t,i,n){return new Ts(n,this.length,i,this.height,this.deco||0)}lineAt(e,t,i,n,s){return this.blockAt(0,i,n,s)}forEachLine(e,t,i,n,s,r){e<=s+this.length&&t>=s&&r(this.blockAt(0,i,n,s))}updateHeight(e,t=0,i=!1,n){return n&&n.from<=t&&n.more&&this.setHeight(e,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Ms extends Vs{constructor(e,t){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0}blockAt(e,t,i,n){return new Ts(n,this.length,i,this.height,this.breaks)}replace(e,t,i){let n=i[0];return 1==i.length&&(n instanceof Ms||n instanceof Ys&&4&n.flags)&&Math.abs(this.length-n.length)<10?(n instanceof Ys?n=new Ms(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):Rs.of(i)}updateHeight(e,t=0,i=!1,n){return n&&n.from<=t&&n.more?this.setHeight(e,n.heights[n.index++]):(i||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Ys extends Rs{constructor(e){super(e,0)}heightMetrics(e,t){let i,n=e.doc.lineAt(t).number,s=e.doc.lineAt(t+this.length).number,r=s-n+1,o=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*r);i=t/r,this.length>r+1&&(o=(this.height-t)/(this.length-r-1))}else i=this.height/r;return{firstLine:n,lastLine:s,perLine:i,perChar:o}}blockAt(e,t,i,n){let{firstLine:s,lastLine:r,perLine:o,perChar:a}=this.heightMetrics(t,n);if(t.lineWrapping){let s=n+Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length),r=t.doc.lineAt(s),l=o+r.length*a,h=Math.max(i,e-l/2);return new Ts(r.from,r.length,h,l,0)}{let n=Math.max(0,Math.min(r-s,Math.floor((e-i)/o))),{from:a,length:l}=t.doc.line(s+n);return new Ts(a,l,i+o*n,o,0)}}lineAt(e,t,i,n,s){if(t==Zs.ByHeight)return this.blockAt(e,i,n,s);if(t==Zs.ByPosNoHeight){let{from:t,to:n}=i.doc.lineAt(e);return new Ts(t,n-t,0,0,0)}let{firstLine:r,perLine:o,perChar:a}=this.heightMetrics(i,s),l=i.doc.lineAt(e),h=o+l.length*a,c=l.number-r,u=n+o*c+a*(l.from-s-c);return new Ts(l.from,l.length,Math.max(n,Math.min(u,n+this.height-h)),h,0)}forEachLine(e,t,i,n,s,r){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(i,s);for(let h=e,c=n;h<=t;){let t=i.doc.lineAt(h);if(h==e){let i=t.number-o;c+=a*i+l*(e-s-i)}let n=a+l*t.length;r(new Ts(t.from,t.length,c,n,0)),c+=n,h=t.to+1}}replace(e,t,i){let n=this.length-t;if(n>0){let e=i[i.length-1];e instanceof Ys?i[i.length-1]=new Ys(e.length+n):i.push(null,new Ys(n-1))}if(e>0){let t=i[0];t instanceof Ys?i[0]=new Ys(e+t.length):i.unshift(new Ys(e-1),null)}return Rs.of(i)}decomposeLeft(e,t){t.push(new Ys(e-1),null)}decomposeRight(e,t){t.push(null,new Ys(this.length-e-1))}updateHeight(e,t=0,i=!1,n){let s=t+this.length;if(n&&n.from<=t+this.length&&n.more){let i=[],r=Math.max(t,n.from),o=-1;for(n.from>t&&i.push(new Ys(n.from-t-1).updateHeight(e,t));r<=s&&n.more;){let t=e.doc.lineAt(r).length;i.length&&i.push(null);let s=n.heights[n.index++];-1==o?o=s:Math.abs(s-o)>=As&&(o=-2);let a=new Ms(t,s);a.outdated=!1,i.push(a),r+=t+1}r<=s&&i.push(null,new Ys(s-r).updateHeight(e,r));let a=Rs.of(i);return(o<0||Math.abs(a.height-this.height)>=As||Math.abs(o-this.heightMetrics(e,t).perLine)>=As)&&(e.heightChanged=!0),a}return(i||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class _s extends Rs{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return 1&this.flags}blockAt(e,t,i,n){let s=i+this.left.height;return e<s?this.left.blockAt(e,t,i,n):this.right.blockAt(e,t,s,n+this.left.length+this.break)}lineAt(e,t,i,n,s){let r=n+this.left.height,o=s+this.left.length+this.break,a=t==Zs.ByHeight?e<r:e<o,l=a?this.left.lineAt(e,t,i,n,s):this.right.lineAt(e,t,i,r,o);if(this.break||(a?l.to<o:l.from>o))return l;let h=t==Zs.ByPosNoHeight?Zs.ByPosNoHeight:Zs.ByPos;return a?l.join(this.right.lineAt(o,h,i,r,o)):this.left.lineAt(o,h,i,n,s).join(l)}forEachLine(e,t,i,n,s,r){let o=n+this.left.height,a=s+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,i,n,s,r),t>=a&&this.right.forEachLine(e,t,i,o,a,r);else{let l=this.lineAt(a,Zs.ByPos,i,n,s);e<l.from&&this.left.forEachLine(e,l.from-1,i,n,s,r),l.to>=e&&l.from<=t&&r(l),t>l.to&&this.right.forEachLine(l.to+1,t,i,o,a,r)}}replace(e,t,i){let n=this.left.length+this.break;if(t<n)return this.balanced(this.left.replace(e,t,i),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,i));let s=[];e>0&&this.decomposeLeft(e,s);let r=s.length;for(let e of i)s.push(e);if(e>0&&Ws(s,r-1),t<this.length){let e=s.length;this.decomposeRight(t,s),Ws(s,e)}return Rs.of(s)}decomposeLeft(e,t){let i=this.left.length;if(e<=i)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(i++,e>=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,n=i+this.break;if(e>=n)return this.right.decomposeRight(e-n,t);e<i&&this.left.decomposeRight(e,t),this.break&&e<n&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Rs.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,n){let{left:s,right:r}=this,o=t+s.length+this.break,a=null;return n&&n.from<=t+s.length&&n.more?a=s=s.updateHeight(e,t,i,n):s.updateHeight(e,t,i),n&&n.from<=o+r.length&&n.more?a=r=r.updateHeight(e,o,i,n):r.updateHeight(e,o,i),a?this.balanced(s,r):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Ws(e,t){let i,n;null==e[t]&&(i=e[t-1])instanceof Ys&&(n=e[t+1])instanceof Ys&&e.splice(t-1,3,new Ys(i.length+1+n.length))}const Es=5;class zs{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof Ms?i.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Ms(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e<t||i.heightRelevant){let n=i.widget?i.widget.estimatedHeight:0,s=i.widget?i.widget.lineBreaks:0;n<0&&(n=this.oracle.lineHeight);let r=t-e;i.block?this.addBlock(new Vs(r,n,i)):(r||s||n>=Es)&&this.addLineDeco(n,s,r)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Ms(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let i=new Ys(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Ms)return e;let t=new Ms(0,-1);return this.nodes.push(t),t}addBlock(e){var t;this.enterLine();let i=null===(t=e.deco)||void 0===t?void 0:t.type;i!=pi.WidgetAfter||this.isCovered||this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,i!=pi.WidgetBefore&&(this.covering=e)}addLineDeco(e,t,i){let n=this.ensureLine();n.length+=i,n.collapsed+=i,n.widgetHeight=Math.max(n.widgetHeight,e),n.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof Ms||this.isCovered?(this.writtenTo<this.pos||null==t)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new Ms(0,-1));let i=e;for(let e of this.nodes)e instanceof Ms&&e.updateHeight(this.oracle,i),i+=e?e.length:1;return this.nodes}static build(e,t,i,n){let s=new zs(i,e);return Ze.spans(t,i,n,s,0),s.finish(i)}}function Us(e,t,i){let n=new qs;return Ze.compare(e,t,i,n,0),n.changes}class qs{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,i,n){(e<t||i&&i.heightRelevant||n&&n.heightRelevant)&&wi(e,t,this.changes,5)}}function Ds(e,t){let i=e.getBoundingClientRect(),n=e.ownerDocument,s=n.defaultView||window,r=Math.max(0,i.left),o=Math.min(s.innerWidth,i.right),a=Math.max(0,i.top),l=Math.min(s.innerHeight,i.bottom);for(let t=e.parentNode;t&&t!=n.body;)if(1==t.nodeType){let i=t,n=window.getComputedStyle(i);if((i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)&&"visible"!=n.overflow){let n=i.getBoundingClientRect();r=Math.max(r,n.left),o=Math.min(o,n.right),a=Math.max(a,n.top),l=t==e.parentNode?n.bottom:Math.min(l,n.bottom)}t="absolute"==n.position||"fixed"==n.position?i.offsetParent:i.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:r-i.left,right:Math.max(r,o)-i.left,top:a-(i.top+t),bottom:Math.max(a,l)-(i.top+t)}}function Is(e,t){let i=e.getBoundingClientRect();return{left:0,right:i.right-i.left,top:t,bottom:i.bottom-(i.top+t)}}class js{constructor(e,t,i){this.from=e,this.to=t,this.size=i}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++){let n=e[i],s=t[i];if(n.from!=s.from||n.to!=s.to||n.size!=s.size)return!1}return!0}draw(e){return Oi.replace({widget:new Bs(this.size,e)}).range(this.from,this.to)}}class Bs extends di{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}}class Ls{constructor(t){this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scrollTop=0,this.scrolledToBottom=!0,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Ks,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Ki.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let i=t.facet(ji).some(e=>"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new Cs(i),this.stateDeco=t.facet(Bi).filter(e=>"function"!=typeof e),this.heightMap=Rs.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle.setDoc(t.doc),[new Hi(0,0,0,t.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Oi.set(this.lineGaps.map(e=>e.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let n=i?t.head:t.anchor;if(!e.some(({from:e,to:t})=>n>=e&&n<=t)){let{from:t,to:i}=this.lineBlockAt(n);e.push(new Ns(t,i))}}this.viewports=e.sort((e,t)=>e.from-t.from),this.scaler=this.heightMap.height<=7e6?Ks:new er(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(1==this.scaler.scale?e:tr(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Bi).filter(e=>"function"!=typeof e);let n=e.changedRanges,s=Hi.extendWithRanges(n,Us(i,this.stateDeco,e?e.changes:Q.empty(this.state.doc.length))),r=this.heightMap.height,o=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),this.heightMap.height!=r&&(e.flags|=2),o?(this.scrollAnchorPos=e.changes.mapPos(o.from,-1),this.scrollAnchorHeight=o.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=this.heightMap.height);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<a.from||t.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let l=!e.changes.empty||2&e.flags||a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,this.updateForViewport(),l&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Mi)&&(this.mustEnforceCursorAssoc=!0)}measure(t){let i=t.contentDOM,n=window.getComputedStyle(i),s=this.heightOracle,r=n.whiteSpace;this.defaultTextDirection="rtl"==n.direction?Ki.RTL:Ki.LTR;let o=this.heightOracle.mustRefreshForWrapping(r),a=i.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let h=0,c=0,u=parseInt(n.paddingTop)||0,f=parseInt(n.paddingBottom)||0;this.paddingTop==u&&this.paddingBottom==f||(this.paddingTop=u,this.paddingBottom=f,h|=10),this.editorWidth!=t.scrollDOM.clientWidth&&(s.lineWrapping&&(l=!0),this.editorWidth=t.scrollDOM.clientWidth,h|=8),this.scrollTop!=t.scrollDOM.scrollTop&&(this.scrollAnchorHeight=-1,this.scrollTop=t.scrollDOM.scrollTop),this.scrolledToBottom=Ct(t.scrollDOM);let d=(this.printing?Is:Ds)(i,this.paddingTop),p=d.top-this.pixelViewport.top,O=d.bottom-this.pixelViewport.bottom;this.pixelViewport=d;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(l=!0)),!this.inView&&!this.scrollTarget)return 0;let g=a.width;if(this.contentDOMWidth==g&&this.editorHeight==t.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=t.scrollDOM.clientHeight,h|=8),l){let i=t.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(i)&&(o=!0),o||s.lineWrapping&&Math.abs(g-this.contentDOMWidth)>s.charWidth){let{lineHeight:e,charWidth:n,textHeight:a}=t.docView.measureTextSize();o=e>0&&s.refresh(r,e,n,a,g/n,i),o&&(t.docView.minWidth=0,h|=8)}p>0&&O>0?c=Math.max(p,O):p<0&&O<0&&(c=Math.min(p,O)),s.heightChanged=!1;for(let n of this.viewports){let r=n.from==this.viewport.from?i:t.docView.measureVisibleLineHeights(n);this.heightMap=(o?Rs.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle,[new Hi(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(s,0,o,new Xs(n.from,r))}s.heightChanged&&(h|=2)}let S=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return S&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(2&h||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,t)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,s=this.heightOracle,{visibleTop:r,visibleBottom:o}=this,a=new Ns(n.lineAt(r-1e3*i,Zs.ByHeight,s,0,0).from,n.lineAt(o+1e3*(1-i),Zs.ByHeight,s,0,0).to);if(t){let{head:e}=t.range;if(e<a.from||e>a.to){let i,r=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),o=n.lineAt(e,Zs.ByPos,s,0,0);i="center"==t.y?(o.top+o.bottom)/2-r/2:"start"==t.y||"nearest"==t.y&&e<a.from?o.top:o.bottom-r,a=new Ns(n.lineAt(i-500,Zs.ByHeight,s,0,0).from,n.lineAt(i+r+500,Zs.ByHeight,s,0,0).to)}}return a}mapViewport(e,t){let i=t.mapPos(e.from,-1),n=t.mapPos(e.to,1);return new Ns(this.heightMap.lineAt(i,Zs.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(n,Zs.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},i=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(e,Zs.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,Zs.ByPos,this.heightOracle,0,0),{visibleTop:r,visibleBottom:o}=this;return(0==e||n<=r-Math.max(10,Math.min(-i,250)))&&(t==this.state.doc.length||s>=o+Math.max(10,Math.min(i,250)))&&n>r-2e3&&s<o+2e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let i=[];for(let n of e)t.touchesRange(n.from,n.to)||i.push(new js(t.mapPos(n.from),t.mapPos(n.to),n.size));return i}ensureLineGaps(e,t){let i=this.heightOracle.lineWrapping,n=i?1e4:2e3,s=n>>1,r=n<<1;if(this.defaultTextDirection!=Ki.LTR&&!i)return[];let o=[],a=(n,r,l,h)=>{if(r-n<s)return;let c=this.state.selection.main,u=[c.from];c.empty||u.push(c.to);for(let e of u)if(e>n&&e<r)return a(n,e-10,l,h),void a(e+10,r,l,h);let f=Js(e,e=>e.from>=l.from&&e.to<=l.to&&Math.abs(e.from-n)<s&&Math.abs(e.to-r)<s&&!u.some(t=>e.from<t&&e.to>t));if(!f){if(r<l.to&&t&&i&&t.visibleRanges.some(e=>e.from<=r&&e.to>=r)){let e=t.moveToLineBoundary(R.cursor(r),!1,!0).head;e>n&&(r=e)}f=new js(n,r,this.gapSize(l,n,r,h))}o.push(f)};for(let e of this.viewportLines){if(e.length<r)continue;let t=Gs(e.from,e.to,this.stateDeco);if(t.total<r)continue;let s,o,l=this.scrollTarget?this.scrollTarget.range.head:null;if(i){let i,r,a=n/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=l){let n=Hs(t,l),s=((this.visibleBottom-this.visibleTop)/2+a)/e.height;i=n-s,r=n+s}else i=(this.visibleTop-e.top-a)/e.height,r=(this.visibleBottom-e.top+a)/e.height;s=Fs(t,i),o=Fs(t,r)}else{let e,i,r=t.total*this.heightOracle.charWidth,a=n*this.heightOracle.charWidth;if(null!=l){let n=Hs(t,l),s=((this.pixelViewport.right-this.pixelViewport.left)/2+a)/r;e=n-s,i=n+s}else e=(this.pixelViewport.left-a)/r,i=(this.pixelViewport.right+a)/r;s=Fs(t,e),o=Fs(t,i)}s>e.from&&a(e.from,s,e,t),o<e.to&&a(o,e.to,e,t)}return o}gapSize(e,t,i,n){let s=Hs(n,i)-Hs(n,t);return this.heightOracle.lineWrapping?e.height*s:n.total*this.heightOracle.charWidth*s}updateLineGaps(e){js.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Oi.set(e.map(e=>e.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];Ze.spans(e,this.viewport.from,this.viewport.to,{span(e,i){t.push({from:e,to:i})},point(){}},20);let i=t.length!=this.visibleRanges.length||this.visibleRanges.some((e,i)=>e.from!=t[i].from||e.to!=t[i].to);return this.visibleRanges=t,i?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||tr(this.heightMap.lineAt(e,Zs.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return tr(this.heightMap.lineAt(this.scaler.fromDOM(e),Zs.ByHeight,this.heightOracle,0,0),this.scaler)}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return tr(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Ns{constructor(e,t){this.from=e,this.to=t}}function Gs(e,t,i){let n=[],s=e,r=0;return Ze.spans(i,e,t,{span(){},point(e,t){e>s&&(n.push({from:s,to:e}),r+=e-s),s=t}},20),s<t&&(n.push({from:s,to:t}),r+=t-s),{total:r,ranges:n}}function Fs({total:e,ranges:t},i){if(i<=0)return t[0].from;if(i>=1)return t[t.length-1].to;let n=Math.floor(e*i);for(let e=0;;e++){let{from:i,to:s}=t[e],r=s-i;if(n<=r)return i+n;n-=r}}function Hs(e,t){let i=0;for(let{from:n,to:s}of e.ranges){if(t<=s){i+=t-n;break}i+=s-n}return i/e.total}function Js(e,t){for(let i of e)if(t(i))return i}const Ks={toDOM:e=>e,fromDOM:e=>e,scale:1};class er{constructor(e,t,i){let n=0,s=0,r=0;this.viewports=i.map(({from:i,to:s})=>{let r=t.lineAt(i,Zs.ByPos,e,0,0).top,o=t.lineAt(s,Zs.ByPos,e,0,0).bottom;return n+=o-r,{from:i,to:s,top:r,bottom:o,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(t.height-n);for(let e of this.viewports)e.domTop=r+(e.top-s)*this.scale,r=e.domBottom=e.domTop+(e.bottom-e.top),s=e.bottom}toDOM(e){for(let t=0,i=0,n=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return n+(e-i)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);i=s.bottom,n=s.domBottom}}fromDOM(e){for(let t=0,i=0,n=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return i+(e-n)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);i=s.bottom,n=s.domBottom}}}function tr(e,t){if(1==t.scale)return e;let i=t.toDOM(e.top),n=t.toDOM(e.bottom);return new Ts(e.from,e.length,i,n-i,Array.isArray(e._content)?e._content.map(e=>tr(e,t)):e._content)}const ir=Y.define({combine:e=>e.join(" ")}),nr=Y.define({combine:e=>e.indexOf(!0)>-1}),sr=Fe.newName(),rr=Fe.newName(),or=Fe.newName(),ar={"&light":"."+rr,"&dark":"."+or};function lr(e,t,i){return new Fe(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!i||!i[t])throw new RangeError("Unsupported selector: "+t);return i[t]}):e+" "+t})}const hr=lr("."+sr,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",left:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:'url(\'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>\')',backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},ar);class cr{constructor(e,t,i,n){this.typeOver=n,this.bounds=null,this.text="";let{impreciseHead:s,impreciseAnchor:r}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,i,0))){let t=s||r?[]:dr(e),i=new _t(t,e.state);i.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=i.text,this.newSel=pr(t,this.bounds.from)}else{let t=e.observer.selectionRange,i=s&&s.node==t.focusNode&&s.offset==t.focusOffset||!at(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),n=r&&r.node==t.anchorNode&&r.offset==t.anchorOffset||!at(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);this.newSel=R.single(n,i)}}}function ur(t,i){let n,{newSel:s}=i,r=t.state.selection.main,o=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(i.bounds){let{from:s,to:a}=i.bounds,l=r.from,h=null;(8===o||Ht.android&&i.text.length<a-s)&&(l=r.to,h="end");let c=fr(t.state.doc.sliceString(s,a,Yt),i.text,l-s,h);c&&(Ht.chrome&&13==o&&c.toB==c.from+2&&i.text.slice(c.from,c.toB)==Yt+Yt&&c.toB--,n={from:s+c.from,to:s+c.toA,insert:e.of(i.text.slice(c.from,c.toB).split(Yt))})}else s&&(!t.hasFocus&&t.state.facet(Ei)||s.main.eq(r))&&(s=null);if(!n&&!s)return!1;if(!n&&i.typeOver&&!r.empty&&s&&s.main.empty?n={from:r.from,to:r.to,insert:t.state.doc.slice(r.from,r.to)}:n&&n.from>=r.from&&n.to<=r.to&&(n.from!=r.from||n.to!=r.to)&&r.to-r.from-(n.to-n.from)<=4?n={from:r.from,to:r.to,insert:t.state.doc.slice(r.from,n.from).append(n.insert).append(t.state.doc.slice(n.to,r.to))}:(Ht.mac||Ht.android)&&n&&n.from==n.to&&n.from==r.head-1&&/^\. ?$/.test(n.insert.toString())&&"off"==t.contentDOM.getAttribute("autocorrect")?(s&&2==n.insert.length&&(s=R.single(s.main.anchor-1,s.main.head-1)),n={from:r.from,to:r.to,insert:e.of([" "])}):Ht.chrome&&n&&n.from==n.to&&n.from==r.head&&"\n "==n.insert.toString()&&t.lineWrapping&&(s&&(s=R.single(s.main.anchor-1,s.main.head-1)),n={from:r.from,to:r.to,insert:e.of([" "])}),n){let e=t.state;if(Ht.ios&&t.inputState.flushIOSKey(t))return!0;if(Ht.android&&(n.from==r.from&&n.to==r.to&&1==n.insert.length&&2==n.insert.lines&&kt(t.contentDOM,"Enter",13)||(n.from==r.from-1&&n.to==r.to&&0==n.insert.length||8==o&&n.insert.length<n.to-n.from)&&kt(t.contentDOM,"Backspace",8)||n.from==r.from&&n.to==r.to+1&&0==n.insert.length&&kt(t.contentDOM,"Delete",46)))return!0;let i,a=n.insert.toString();if(t.state.facet(Ai).some(e=>e(t,n.from,n.to,a)))return!0;if(t.inputState.composing>=0&&t.inputState.composing++,n.from>=r.from&&n.to<=r.to&&n.to-n.from>=(r.to-r.from)/3&&(!s||s.main.empty&&s.main.from==n.from+n.insert.length)&&t.inputState.composing<0){let s=r.from<n.from?e.sliceDoc(r.from,n.from):"",o=r.to>n.to?e.sliceDoc(n.to,r.to):"";i=e.replaceSelection(t.state.toText(s+n.insert.sliceString(0,void 0,t.state.lineBreak)+o))}else{let o=e.changes(n),a=s&&s.main.to<=o.newLength?s.main:void 0;if(e.selection.ranges.length>1&&t.inputState.composing>=0&&n.to<=r.to&&n.to>=r.to-10){let s=t.state.sliceDoc(n.from,n.to),l=bn(t)||t.state.doc.lineAt(r.head),h=r.to-n.to,c=r.to-r.from;i=e.changeByRange(i=>{if(i.from==r.from&&i.to==r.to)return{changes:o,range:a||i.map(o)};let u=i.to-h,f=u-s.length;if(i.to-i.from!=c||t.state.sliceDoc(f,u)!=s||l&&i.to>=l.from&&i.from<=l.to)return{range:i};let d=e.changes({from:f,to:u,insert:n.insert}),p=i.to-r.to;return{changes:d,range:a?R.range(Math.max(0,a.anchor+p),Math.max(0,a.head+p)):i.map(d)}})}else i={changes:o,selection:a&&e.selection.replaceRange(a)}}let l="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,l+=".compose",t.inputState.compositionFirstChange&&(l+=".start",t.inputState.compositionFirstChange=!1)),t.dispatch(i,{scrollIntoView:!0,userEvent:l}),!0}if(s&&!s.main.eq(r)){let e=!1,i="select";return t.inputState.lastSelectionTime>Date.now()-50&&("select"==t.inputState.lastSelectionOrigin&&(e=!0),i=t.inputState.lastSelectionOrigin),t.dispatch({selection:s,scrollIntoView:e,userEvent:i}),!0}return!1}function fr(e,t,i,n){let s=Math.min(e.length,t.length),r=0;for(;r<s&&e.charCodeAt(r)==t.charCodeAt(r);)r++;if(r==s&&e.length==t.length)return null;let o=e.length,a=t.length;for(;o>0&&a>0&&e.charCodeAt(o-1)==t.charCodeAt(a-1);)o--,a--;if("end"==n){i-=o+Math.max(0,r-Math.min(o,a))-r}if(o<r&&e.length<t.length){r-=i<=r&&i>=o?r-i:0,a=r+(a-o),o=r}else if(a<r){r-=i<=r&&i>=a?r-i:0,o=r+(o-a),a=r}return{from:r,toA:o,toB:a}}function dr(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:i,anchorOffset:n,focusNode:s,focusOffset:r}=e.observer.selectionRange;return i&&(t.push(new Et(i,n)),s==i&&r==n||t.push(new Et(s,r))),t}function pr(e,t){if(0==e.length)return null;let i=e[0].pos,n=2==e.length?e[1].pos:i;return i>-1&&n>-1?R.single(i+t,n+t):null}const Or={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},mr=Ht.ie&&Ht.ie_version<=11;class gr{constructor(e){this.view=e,this.active=!1,this.selectionRange=new bt,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);(Ht.ie&&Ht.ie_version<=11||Ht.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),mr&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM),this.resizeContent=new ResizeObserver(()=>this.view.requestMeasure()),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver(e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runScrollHandlers(this.view,e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500)}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,n=this.selectionRange;if(i.state.facet(Ei)?i.root.activeElement!=this.dom:!ht(i.dom,n))return;let s=n.anchorNode&&i.docView.nearest(n.anchorNode);s&&s.ignoreEvent(e)?t||(this.selectionChanged=!1):(Ht.ie&&Ht.ie_version<=11||Ht.android&&Ht.chrome)&&!i.state.selection.main.empty&&n.focusNode&&ut(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Ht.safari&&11==e.root.nodeType&&lt(this.dom.ownerDocument)==this.dom&&br(this.view)||ot(e.root);if(!t||this.selectionRange.eq(t))return!1;let i=ht(this.dom,t);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&Pt(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),i&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let i=this.dom;i;)if(1==i.nodeType)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==i?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(i),i=i.assignedSlot||i.parentNode;else{if(11!=i.nodeType)break;i=i.host}if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);for(let e of this.scrollTargets=t)e.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Or),mr&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),mr&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var i;if(!this.delayedAndroidKey){let e=()=>{let e=this.delayedAndroidKey;if(e){this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=e.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&e.force&&kt(this.dom,e.key,e.keyCode)}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(null===(i=this.delayedAndroidKey)||void 0===i?void 0:i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,n=!1;for(let s of e){let e=this.readMutation(s);e&&(e.typeOver&&(n=!0),-1==t?({from:t,to:i}=e):(t=Math.min(e.from,t),i=Math.max(e.to,i)))}return{from:t,to:i,typeOver:n}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),n=this.selectionChanged&&ht(this.dom,this.selectionRange);return e<0&&!n?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new cr(this.view,e,t,i))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let i=this.view.state,n=ur(this.view,t);return this.view.state==i&&this.view.update([]),n}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.flags|=4),"childList"==e.type){let i=Sr(t,e.previousSibling||e.target.previousSibling,-1),n=Sr(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:n?t.posBefore(n):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,i,n;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(i=this.resizeScroll)||void 0===i||i.disconnect(),null===(n=this.resizeContent)||void 0===n||n.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function Sr(e,t,i){for(;t;){let n=Zt.get(t);if(n&&n.parent==e)return n;let s=t.parentNode;t=s!=e.dom?s:i>0?t.nextSibling:t.previousSibling}return null}function br(e){let t=null;function i(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),!t)return null;let n=t.startContainer,s=t.startOffset,r=t.endContainer,o=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor);return ut(a.node,a.offset,r,o)&&([n,s,r,o]=[r,o,n,s]),{anchorNode:n,anchorOffset:s,focusNode:r,focusOffset:o}}class xr{constructor(e={}){this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(e=>this.update([e])),this.dispatch=this.dispatch.bind(this),this._root=e.root||Qt(e.parent)||document,this.viewState=new Ls(e.state||Qe.create(e)),this.plugins=this.state.facet(Ui).map(e=>new Di(e));for(let e of this.plugins)e.update(this);this.observer=new gr(this),this.inputState=new jn(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new mn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return this.inputState.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}dispatch(...e){let t=1==e.length&&e[0]instanceof ue?e[0]:this.state.update(...e);this._dispatch(t,this)}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,i=!1,n=!1,s=this.state;for(let t of e){if(t.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=t.state}if(this.destroyed)return void(this.viewState.state=s);let r=this.hasFocus,o=0,a=null;e.some(e=>e.annotation(ks))?(this.inputState.notifiedFocused=r,o=1):r!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=r,a=Qs(s,r),a||(o=1));let l=this.observer.delayedAndroidKey,h=null;if(l?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(Qe.phrases)!=this.state.facet(Qe.phrases))return this.setState(s);t=Ji.create(this,s,e),t.flags|=o;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(c&&(c=c.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;c=new Yi(e.empty?e:R.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(_i)&&(c=e.value)}this.viewState.update(t,c),this.bidiCache=vr.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),i=this.docView.update(t),this.state.facet(Fi)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(t.startState.facet(ir)!=t.state.facet(ir)&&(this.viewState.mustMeasureContent=!0),(i||n||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(Zi))e(t);(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!ur(this,h)&&l.force&&kt(this.contentDOM,l.key,l.keyCode)})}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new Ls(e),this.plugins=e.facet(Ui).map(e=>new Di(e)),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView=new mn(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Ui),i=e.state.facet(Ui);if(t!=i){let n=[];for(let s of i){let i=t.indexOf(s);if(i<0)n.push(new Di(s));else{let t=this.plugins[i];t.mustUpdate=e,n.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=n,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e<this.plugins.length;e++)this.plugins[e].update(this)}measure(e=!0){if(this.destroyed)return;this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.scrollDOM,{scrollTop:n}=i,{scrollAnchorPos:s,scrollAnchorHeight:r}=this.viewState;n!=this.viewState.scrollTop&&(r=-1),this.viewState.scrollAnchorHeight=-1;try{for(let e=0;;e++){if(r<0)if(Ct(i))s=-1,r=this.viewState.heightMap.height;else{let e=this.viewState.scrollAnchorAt(n);s=e.from,r=e.top}this.updateState=1;let o=this.viewState.measure(this);if(!o&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let a=[];4&o||([this.measureRequests,a]=[a,this.measureRequests]);let l=a.map(e=>{try{return e.read(this)}catch(e){return Wi(this.state,e),yr}}),h=Ji.create(this,this.state,[]),c=!1;h.flags|=o,t?t.flags|=o:t=h,this.updateState=2,h.empty||(this.updatePlugins(h),this.inputState.update(h),this.updateAttrs(),c=this.docView.update(h));for(let e=0;e<a.length;e++)if(l[e]!=yr)try{let t=a[e];t.write&&t.write(l[e],this)}catch(e){Wi(this.state,e)}if(c&&this.docView.updateSelection(!0),!h.viewportChanged&&0==this.measureRequests.length){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null;continue}{let e=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)-r;if(e>1||e<-1){n=i.scrollTop=n+e,r=-1;continue}}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(Zi))e(t)}get themeClasses(){return sr+" "+(this.state.facet(nr)?or:rr)+" "+this.state.facet(ir)}updateAttrs(){let e=kr(this,Ii,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(Ei)?"true":"false",class:"cm-content",style:`${Ht.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),kr(this,ji,t);let i=this.observer.ignore(()=>{let i=ui(this.contentDOM,this.contentAttrs,t),n=ui(this.dom,this.editorAttrs,e);return i||n});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let e of i.effects)if(e.is(xr.announce)){t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value}}mountStyles(){this.styleModules=this.state.facet(Fi),Fe.mount(this.root,this.styleModules.concat(hr).reverse())}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(null!=e.key)for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key)return void(this.measureRequests[t]=e);this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(void 0===t||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find(t=>t.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return In(this,e,zn(this,e,t,i))}moveByGroup(e,t){return In(this,e,zn(this,e,t,t=>Un(this,e.head,t)))}moveToLineBoundary(e,t,i=!0){return En(this,e,t,i)}moveVertically(e,t,i){return In(this,e,qn(this,e,t,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Vn(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let n=this.state.doc.lineAt(e),s=this.bidiSpans(n);return Ot(i,s[cn.find(s,e-n.from,-1,t)].dir==Ki.LTR==t>0)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Vi)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>wr)return dn(e.length);let t=this.textDirectionAt(e.from);for(let i of this.bidiCache)if(i.from==e.from&&i.dir==t)return i.order;let i=fn(e.text,t);return this.bidiCache.push(new vr(e.from,e.to,t,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Ht.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{yt(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return _i.of(new Yi("number"==typeof e?R.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return qi.define(()=>({}),{eventHandlers:e})}static theme(e,t){let i=Fe.newName(),n=[ir.of(i),Fi.of(lr("."+i,e))];return t&&t.dark&&n.push(nr.of(!0)),n}static baseTheme(e){return B.lowest(Fi.of(lr("."+sr,e,ar)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),n=i&&Zt.get(i)||Zt.get(e);return(null===(t=null==n?void 0:n.rootView)||void 0===t?void 0:t.view)||null}}xr.styleModule=Fi,xr.inputHandler=Ai,xr.focusChangeEffect=Ri,xr.perLineTextDirection=Vi,xr.exceptionSink=Ti,xr.updateListener=Zi,xr.editable=Ei,xr.mouseSelectionStyle=Xi,xr.dragMovesSelection=Ci,xr.clickAddsSelectionRange=Pi,xr.decorations=Bi,xr.atomicRanges=Li,xr.scrollMargins=Ni,xr.darkTheme=nr,xr.contentAttributes=ji,xr.editorAttributes=Ii,xr.lineWrapping=xr.contentAttributes.of({class:"cm-lineWrapping"}),xr.announce=ce.define();const wr=4096,yr={};class vr{constructor(e,t,i,n){this.from=e,this.to=t,this.dir=i,this.order=n}static update(e,t){if(t.empty)return e;let i=[],n=e.length?e[e.length-1].dir:Ki.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let r=e[s];r.dir!=n||t.touchesRange(r.from,r.to)||i.push(new vr(t.mapPos(r.from,1),t.mapPos(r.to,-1),r.dir,r.order))}return i}}function kr(e,t,i){for(let n=e.state.facet(t),s=n.length-1;s>=0;s--){let t=n[s],r="function"==typeof t?t(e):t;r&&li(r,i)}return i}const Qr=Ht.mac?"mac":Ht.windows?"win":Ht.linux?"linux":"key";function $r(e,t){const i=e.split(/-(?!$)/);let n,s,r,o,a=i[i.length-1];"Space"==a&&(a=" ");for(let e=0;e<i.length-1;++e){const a=i[e];if(/^(cmd|meta|m)$/i.test(a))o=!0;else if(/^a(lt)?$/i.test(a))n=!0;else if(/^(c|ctrl|control)$/i.test(a))s=!0;else if(/^s(hift)?$/i.test(a))r=!0;else{if(!/^mod$/i.test(a))throw new Error("Unrecognized modifier name: "+a);"mac"==t?o=!0:s=!0}}return n&&(a="Alt-"+a),s&&(a="Ctrl-"+a),o&&(a="Meta-"+a),r&&(a="Shift-"+a),a}function Pr(e,t,i){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==i&&t.shiftKey&&(e="Shift-"+e),e}const Cr=B.default(xr.domEventHandlers({keydown:(e,t)=>Yr(Zr(t.state),e,t,"editor")})),Xr=Y.define({enables:Cr}),Tr=new WeakMap;function Zr(e){let t=e.facet(Xr),i=Tr.get(t);return i||Tr.set(t,i=Mr(t.reduce((e,t)=>e.concat(t),[]))),i}function Ar(e,t,i){return Yr(Zr(e.state),t,e,i)}let Rr=null;const Vr=4e3;function Mr(e,t=Qr){let i=Object.create(null),n=Object.create(null),s=(e,t)=>{let i=n[e];if(null==i)n[e]=t;else if(i!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},r=(e,n,r,o,a)=>{var l,h;let c=i[e]||(i[e]=Object.create(null)),u=n.split(/ (?!$)/).map(e=>$r(e,t));for(let t=1;t<u.length;t++){let i=u.slice(0,t).join(" ");s(i,!0),c[i]||(c[i]={preventDefault:!0,stopPropagation:!1,run:[t=>{let n=Rr={view:t,prefix:i,scope:e};return setTimeout(()=>{Rr==n&&(Rr=null)},Vr),!0}]})}let f=u.join(" ");s(f,!1);let d=c[f]||(c[f]={preventDefault:!1,stopPropagation:!1,run:(null===(h=null===(l=c._any)||void 0===l?void 0:l.run)||void 0===h?void 0:h.slice())||[]});r&&d.run.push(r),o&&(d.preventDefault=!0),a&&(d.stopPropagation=!0)};for(let n of e){let e=n.scope?n.scope.split(" "):["editor"];if(n.any)for(let t of e){let e=i[t]||(i[t]=Object.create(null));e._any||(e._any={preventDefault:!1,stopPropagation:!1,run:[]});for(let t in e)e[t].run.push(n.any)}let s=n[t]||n.key;if(s)for(let t of e)r(t,s,n.run,n.preventDefault,n.stopPropagation),n.shift&&r(t,"Shift-"+s,n.shift,n.preventDefault,n.stopPropagation)}return i}function Yr(e,t,i,n){let s=rt(t),r=w(b(s,0))==s.length&&" "!=s,o="",a=!1,l=!1,h=!1;Rr&&Rr.view==i&&Rr.scope==n&&(o=Rr.prefix+" ",Nn.indexOf(t.keyCode)<0&&(l=!0,Rr=null));let c,u,f=new Set,d=e=>{if(e){for(let n of e.run)if(!f.has(n)&&(f.add(n),n(i,t)))return e.stopPropagation&&(h=!0),!0;e.preventDefault&&(e.stopPropagation&&(h=!0),l=!0)}return!1},p=e[n];return p&&(d(p[o+Pr(s,t,!r)])?a=!0:r&&(t.altKey||t.metaKey||t.ctrlKey)&&!(Ht.windows&&t.ctrlKey&&t.altKey)&&(c=Ke[t.keyCode])&&c!=s?(d(p[o+Pr(c,t,!0)])||t.shiftKey&&(u=et[t.keyCode])!=s&&u!=c&&d(p[o+Pr(u,t,!1)]))&&(a=!0):r&&t.shiftKey&&d(p[o+Pr(s,t,!0)])&&(a=!0),!a&&d(p._any)&&(a=!0)),l&&(a=!0),a&&h&&t.stopPropagation(),a}class _r{constructor(e,t,i,n,s){this.className=e,this.left=t,this.top=i,this.width=n,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let n=e.coordsAtPos(i.head,i.assoc||1);if(!n)return[];let s=Wr(e);return[new _r(t,n.left-s.left,n.top-s.top,null,n.bottom-n.top)]}return zr(e,t,i)}}function Wr(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Ki.LTR?t.left:t.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,top:t.top-e.scrollDOM.scrollTop}}function Er(e,t,i){let n=R.cursor(t);return{from:Math.max(i.from,e.moveToLineBoundary(n,!1,!0).from),to:Math.min(i.to,e.moveToLineBoundary(n,!0,!0).from),type:pi.Text}}function zr(e,t,i){if(i.to<=e.viewport.from||i.from>=e.viewport.to)return[];let n=Math.max(i.from,e.viewport.from),s=Math.min(i.to,e.viewport.to),r=e.textDirection==Ki.LTR,o=e.contentDOM,a=o.getBoundingClientRect(),l=Wr(e),h=o.querySelector(".cm-line"),c=h&&window.getComputedStyle(h),u=a.left+(c?parseInt(c.paddingLeft)+Math.min(0,parseInt(c.textIndent)):0),f=a.right-(c?parseInt(c.paddingRight):0),d=Wn(e,n),p=Wn(e,s),O=d.type==pi.Text?d:null,m=p.type==pi.Text?p:null;if(O&&(e.lineWrapping||d.widgetLineBreaks)&&(O=Er(e,n,O)),m&&(e.lineWrapping||p.widgetLineBreaks)&&(m=Er(e,s,m)),O&&m&&O.from==m.from)return S(b(i.from,i.to,O));{let t=O?b(i.from,null,O):x(d,!1),n=m?b(null,i.to,m):x(p,!0),s=[];return(O||d).to<(m||p).from-(O&&m?1:0)||d.widgetLineBreaks>1&&t.bottom+e.defaultLineHeight/2<n.top?s.push(g(u,t.bottom,f,n.top)):t.bottom<n.top&&e.elementAtHeight((t.bottom+n.top)/2).type==pi.Text&&(t.bottom=n.top=(t.bottom+n.top)/2),S(t).concat(s).concat(S(n))}function g(e,i,n,s){return new _r(t,e-l.left,i-l.top-.01,n-e,s-i+.01)}function S({top:e,bottom:t,horizontal:i}){let n=[];for(let s=0;s<i.length;s+=2)n.push(g(i[s],e,i[s+1],t));return n}function b(t,i,n){let s=1e9,o=-1e9,a=[];function l(t,i,l,h,c){let d=e.coordsAtPos(t,t==n.to?-2:2),p=e.coordsAtPos(l,l==n.from?2:-2);d&&p&&(s=Math.min(d.top,p.top,s),o=Math.max(d.bottom,p.bottom,o),c==Ki.LTR?a.push(r&&i?u:d.left,r&&h?f:p.right):a.push(!r&&h?u:p.left,!r&&i?f:d.right))}let h=null!=t?t:n.from,c=null!=i?i:n.to;for(let n of e.visibleRanges)if(n.to>h&&n.from<c)for(let s=Math.max(n.from,h),r=Math.min(n.to,c);;){let n=e.state.doc.lineAt(s);for(let o of e.bidiSpans(n)){let e=o.from+n.from,a=o.to+n.from;if(e>=r)break;a>s&&l(Math.max(e,s),null==t&&e<=h,Math.min(a,r),null==i&&a>=c,o.dir)}if(s=n.to+1,s>=r)break}return 0==a.length&&l(h,null==t,c,null==i,e.textDirection),{top:s,bottom:o,horizontal:a}}function x(e,t){let i=a.top+(t?e.top:e.bottom);return{top:i,bottom:i,horizontal:[]}}}function Ur(e,t){return e.constructor==t.constructor&&e.eq(t)}class qr{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Dr)!=e.state.facet(Dr)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(Dr);for(;t<i.length&&i[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}draw(e){if(e.length!=this.drawn.length||e.some((e,t)=>!Ur(e,this.drawn[t]))){let t=this.dom.firstChild,i=0;for(let n of e)n.update&&t&&n.constructor&&this.drawn[i].constructor&&n.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(n.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Dr=Y.define();function Ir(e){return[qi.define(t=>new qr(t,e)),Dr.of(e)]}const jr=!Ht.ios,Br=Y.define({combine:e=>$e(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function Lr(e={}){return[Br.of(e),Gr,Hr,Kr,Mi.of(!0)]}function Nr(e){return e.startState.facet(Br)!=e.state.facet(Br)}const Gr=Ir({above:!0,markers(e){let{state:t}=e,i=t.facet(Br),n=[];for(let s of t.selection.ranges){let r=s==t.selection.main;if(s.empty?!r||jr:i.drawRangeCursor){let t=r?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=s.empty?s:R.cursor(s.head,s.head>s.anchor?-1:1);for(let s of _r.forRange(e,t,i))n.push(s)}}return n},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let i=Nr(e);return i&&Fr(e.state,t),e.docChanged||e.selectionSet||i},mount(e,t){Fr(t.state,e)},class:"cm-cursorLayer"});function Fr(e,t){t.style.animationDuration=e.facet(Br).cursorBlinkRate+"ms"}const Hr=Ir({above:!1,markers:e=>e.state.selection.ranges.map(t=>t.empty?[]:_r.forRange(e,"cm-selectionBackground",t)).reduce((e,t)=>e.concat(t)),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||Nr(e),class:"cm-selectionLayer"}),Jr={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};jr&&(Jr[".cm-line"].caretColor="transparent !important");const Kr=B.highest(xr.theme(Jr)),eo=ce.define({map:(e,t)=>null==e?null:t.mapPos(e)}),to=D.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(eo)?t.value:e,e))}),io=qi.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let i=e.state.field(to);null==i?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(to)!=i||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let e=this.view.state.field(to),t=null!=e&&this.view.coordsAtPos(e);if(!t)return null;let i=this.view.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+this.view.scrollDOM.scrollLeft,top:t.top-i.top+this.view.scrollDOM.scrollTop,height:t.bottom-t.top}}drawCursor(e){this.cursor&&(e?(this.cursor.style.left=e.left+"px",this.cursor.style.top=e.top+"px",this.cursor.style.height=e.height+"px"):this.cursor.style.left="-100000px")}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(to)!=e&&this.view.dispatch({effects:eo.of(e)})}},{eventHandlers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function no(){return[to,io]}function so(e,t,i,n,s){t.lastIndex=0;for(let r,o=e.iterRange(i,n),a=i;!o.next().done;a+=o.value.length)if(!o.lineBreak)for(;r=t.exec(o.value);)s(a+r.index,r)}function ro(e,t){let i=e.visibleRanges;if(1==i.length&&i[0].from==e.viewport.from&&i[0].to==e.viewport.to)return i;let n=[];for(let{from:s,to:r}of i)s=Math.max(e.state.doc.lineAt(s).from,s-t),r=Math.min(e.state.doc.lineAt(r).to,r+t),n.length&&n[n.length-1].to>=s?n[n.length-1].to=r:n.push({from:s,to:r});return n}class oo{constructor(e){const{regexp:t,decoration:i,decorate:n,boundary:s,maxLength:r=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,n)this.addMatch=(e,t,i,s)=>n(s,i,i+e[0].length,e,t);else if("function"==typeof i)this.addMatch=(e,t,n,s)=>{let r=i(e,t,n);r&&s(n,n+e[0].length,r)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,n,s)=>s(n,n+e[0].length,i)}this.boundary=s,this.maxLength=r}createDeco(e){let t=new Re,i=t.add.bind(t);for(let{from:t,to:n}of ro(e,this.maxLength))so(e.state.doc,this.regexp,t,n,(t,n)=>this.addMatch(n,e,t,i));return t.finish()}updateDeco(e,t){let i=1e9,n=-1;return e.docChanged&&e.changes.iterChanges((t,s,r,o)=>{o>e.view.viewport.from&&r<e.view.viewport.to&&(i=Math.min(r,i),n=Math.max(o,n))}),e.viewportChanged||n-i>1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,t.map(e.changes),i,n):t}updateRange(e,t,i,n){for(let s of e.visibleRanges){let r=Math.max(s.from,i),o=Math.min(s.to,n);if(o>r){let i=e.state.doc.lineAt(r),n=i.to<o?e.state.doc.lineAt(o):i,a=Math.max(s.from,i.from),l=Math.min(s.to,n.to);if(this.boundary){for(;r>i.from;r--)if(this.boundary.test(i.text[r-1-i.from])){a=r;break}for(;o<n.to;o++)if(this.boundary.test(n.text[o-n.from])){l=o;break}}let h,c=[],u=(e,t,i)=>c.push(i.range(e,t));if(i==n)for(this.regexp.lastIndex=a-i.from;(h=this.regexp.exec(i.text))&&h.index<l-i.from;)this.addMatch(h,e,h.index+i.from,u);else so(e.state.doc,this.regexp,a,l,(t,i)=>this.addMatch(i,e,t,u));t=t.update({filterFrom:a,filterTo:l,filter:(e,t)=>e<a||t>l,add:c})}}return t}}const ao=null!=/x/.unicode?"gu":"g",lo=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",ao),ho={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let co=null;function uo(){var e;if(null==co&&"undefined"!=typeof document&&document.body){let t=document.body.style;co=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return co||!1}const fo=Y.define({combine(e){let t=$e(e,{render:null,specialChars:lo,addSpecialChars:null});return(t.replaceTabs=!uo())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,ao)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,ao)),t}});function po(e={}){return[fo.of(e),mo()]}let Oo=null;function mo(){return Oo||(Oo=qi.fromClass(class{constructor(e){this.view=e,this.decorations=Oi.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(fo)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new oo({regexp:e.specialChars,decoration:(t,i,n)=>{let{doc:s}=i.state,r=b(t[0],0);if(9==r){let e=s.lineAt(n),t=i.state.tabSize,r=Ie(e.text,t,n-e.from);return Oi.replace({widget:new xo((t-r%t)*this.view.defaultCharacterWidth)})}return this.decorationCache[r]||(this.decorationCache[r]=Oi.replace({widget:new bo(e,r)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(fo);e.startState.facet(fo)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))}const go="•";function So(e){return e>=32?go:10==e?"␤":String.fromCharCode(9216+e)}class bo extends di{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=So(this.code),i=e.state.phrase("Control character")+" "+(ho[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,i,t);if(n)return n;let s=document.createElement("span");return s.textContent=t,s.title=i,s.setAttribute("aria-label",i),s.className="cm-specialChar",s}ignoreEvent(){return!1}}class xo extends di{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function wo(){return vo}const yo=Oi.line({class:"cm-activeLine"}),vo=qi.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,i=[];for(let n of e.state.selection.ranges){let s=e.lineBlockAt(n.head);s.from>t&&(i.push(yo.range(s.from)),t=s.from)}return Oi.set(i)}},{decorations:e=>e.decorations});class ko extends di{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}coordsAt(e){let t=e.firstChild?ct(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),n=Ot(t[0],"rtl"!=i.direction),s=parseInt(i.lineHeight);return n.bottom-n.top>1.5*s?{left:n.left,right:n.right,top:n.top,bottom:n.top+s}:n}ignoreEvent(){return!1}}function Qo(e){return qi.fromClass(class{constructor(t){this.view=t,this.placeholder=e?Oi.set([Oi.widget({widget:new ko(e),side:1}).range(0)]):Oi.none}get decorations(){return this.view.state.doc.length?Oi.none:this.placeholder}},{decorations:e=>e.decorations})}const $o=2e3;function Po(e,t,i){let n=Math.min(t.line,i.line),s=Math.max(t.line,i.line),r=[];if(t.off>$o||i.off>$o||t.col<0||i.col<0){let o=Math.min(t.off,i.off),a=Math.max(t.off,i.off);for(let t=n;t<=s;t++){let i=e.doc.line(t);i.length<=a&&r.push(R.range(i.from+o,i.to+a))}}else{let o=Math.min(t.col,i.col),a=Math.max(t.col,i.col);for(let t=n;t<=s;t++){let i=e.doc.line(t),n=je(i.text,o,e.tabSize,!0);if(n<0)r.push(R.cursor(i.to));else{let t=je(i.text,a,e.tabSize);r.push(R.range(i.from+n,i.from+t))}}}return r}function Co(e,t){let i=e.coordsAtPos(e.viewport.from);return i?Math.round(Math.abs((i.left-t)/e.defaultCharacterWidth)):-1}function Xo(e,t){let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),n=e.state.doc.lineAt(i),s=i-n.from,r=s>$o?-1:s==n.length?Co(e,t.clientX):Ie(n.text,e.state.tabSize,i-n.from);return{line:n.number,col:r,off:s}}function To(e,t){let i=Xo(e,t),n=e.state.selection;return i?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(i.line).from),s=e.state.doc.lineAt(t);i={line:s.number,col:i.col,off:Math.min(i.off,s.length)},n=n.map(e.changes)}},get(t,s,r){let o=Xo(e,t);if(!o)return n;let a=Po(e.state,i,o);return a.length?r?R.create(a.concat(n.ranges)):R.create(a):n}}:null}function Zo(e){let t=(null==e?void 0:e.eventFilter)||(e=>e.altKey&&0==e.button);return xr.mouseSelectionStyle.of((e,i)=>t(i)?To(e,i):null)}const Ao={Alt:[18,e=>!!e.altKey],Control:[17,e=>!!e.ctrlKey],Shift:[16,e=>!!e.shiftKey],Meta:[91,e=>!!e.metaKey]},Ro={style:"cursor: crosshair"};function Vo(e={}){let[t,i]=Ao[e.key||"Alt"],n=qi.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventHandlers:{keydown(e){this.set(e.keyCode==t||i(e))},keyup(e){e.keyCode!=t&&i(e)||this.set(!1)},mousemove(e){this.set(i(e))}}});return[n,xr.contentAttributes.of(e=>{var t;return(null===(t=e.plugin(n))||void 0===t?void 0:t.isDown)?Ro:null})]}const Mo="-10000px";class Yo{constructor(e,t,i){this.facet=t,this.createTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e),this.tooltipViews=this.tooltips.map(i)}update(e){var t;let i=e.state.facet(this.facet),n=i.filter(e=>e);if(i===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let s=[];for(let t=0;t<n.length;t++){let i=n[t],r=-1;if(i){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==i.create&&(r=e)}if(r<0)s[t]=this.createTooltipView(i);else{let i=s[t]=this.tooltipViews[r];i.update&&i.update(e)}}}for(let e of this.tooltipViews)s.indexOf(e)<0&&(e.dom.remove(),null===(t=e.destroy)||void 0===t||t.call(e));return this.input=i,this.tooltips=n,this.tooltipViews=s,!0}}function _o(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const Wo=Y.define({combine:e=>{var t,i,n;return{position:Ht.ios?"absolute":(null===(t=e.find(e=>e.position))||void 0===t?void 0:t.position)||"fixed",parent:(null===(i=e.find(e=>e.parent))||void 0===i?void 0:i.parent)||null,tooltipSpace:(null===(n=e.find(e=>e.tooltipSpace))||void 0===n?void 0:n.tooltipSpace)||_o}}}),Eo=new WeakMap,zo=qi.fromClass(class{constructor(e){this.view=e,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(Wo);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new Yo(e,Do,e=>this.createTooltip(e)),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e);t&&this.observeIntersection();let i=t||e.geometryChanged,n=e.state.facet(Wo);if(n.position!=this.position){this.position=n.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;i=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(e){let t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",t.dom.appendChild(e)}return t.dom.style.position=this.position,t.dom.style.top=Mo,this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}destroy(){var e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect();return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map((e,t)=>{let i=this.manager.tooltipViews[t];return i.getCoords?i.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(Wo).tooltipSpace(this.view)}}writeMeasure(e){var t;let{editor:i,space:n}=e,s=[];for(let r=0;r<this.manager.tooltips.length;r++){let o=this.manager.tooltips[r],a=this.manager.tooltipViews[r],{dom:l}=a,h=e.pos[r],c=e.size[r];if(!h||h.bottom<=Math.max(i.top,n.top)||h.top>=Math.min(i.bottom,n.bottom)||h.right<Math.max(i.left,n.left)-.1||h.left>Math.min(i.right,n.right)+.1){l.style.top=Mo;continue}let u=o.arrow?a.dom.querySelector(".cm-tooltip-arrow"):null,f=u?7:0,d=c.right-c.left,p=null!==(t=Eo.get(a))&&void 0!==t?t:c.bottom-c.top,O=a.offset||qo,m=this.view.textDirection==Ki.LTR,g=c.width>n.right-n.left?m?n.left:n.right-c.width:m?Math.min(h.left-(u?14:0)+O.x,n.right-d):Math.max(n.left,h.left-d+(u?14:0)-O.x),S=!!o.above;!o.strictSide&&(S?h.top-(c.bottom-c.top)-O.y<n.top:h.bottom+(c.bottom-c.top)+O.y>n.bottom)&&S==n.bottom-h.bottom>h.top-n.top&&(S=!S);let b=(S?h.top-n.top:n.bottom-h.bottom)-f;if(b<p&&!1!==a.resize){if(b<this.view.defaultLineHeight){l.style.top=Mo;continue}Eo.set(a,p),l.style.height=(p=b)+"px"}else l.style.height&&(l.style.height="");let x=S?h.top-p-f-O.y:h.bottom+f+O.y,w=g+d;if(!0!==a.overlap)for(let e of s)e.left<w&&e.right>g&&e.top<x+p&&e.bottom>x&&(x=S?e.top-p-2-f:e.bottom+f+2);"absolute"==this.position?(l.style.top=x-e.parent.top+"px",l.style.left=g-e.parent.left+"px"):(l.style.top=x+"px",l.style.left=g+"px"),u&&(u.style.left=h.left+(m?O.x:-O.x)-(g+14-7)+"px"),!0!==a.overlap&&s.push({left:g,top:x,right:w,bottom:x+p}),l.classList.toggle("cm-tooltip-above",S),l.classList.toggle("cm-tooltip-below",!S),a.positioned&&a.positioned(e.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let e of this.manager.tooltipViews)e.dom.style.top=Mo}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),Uo=xr.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),qo={x:0,y:0},Do=Y.define({enables:[zo,Uo]}),Io=Y.define();class jo{constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Yo(e,Io,e=>this.createHostedView(e))}static create(e){return new jo(e)}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let t of this.manager.tooltipViews)null===(e=t.destroy)||void 0===e||e.call(t)}}const Bo=Do.compute([Io],e=>{let t=e.facet(Io).filter(e=>e);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.filter(e=>null!=e.end).map(e=>e.end)),create:jo.create,above:t[0].above,arrow:t.some(e=>e.arrow)}});class Lo{constructor(e,t,i,n,s){this.view=e,this.source=t,this.field=i,this.setHover=n,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{lastMove:e}=this,t=this.view.contentDOM.contains(e.target)?this.view.posAtCoords(e):null;if(null==t)return;let i=this.view.coordsAtPos(t);if(null==i||e.y<i.top||e.y>i.bottom||e.x<i.left-this.view.defaultCharacterWidth||e.x>i.right+this.view.defaultCharacterWidth)return;let n=this.view.bidiSpans(this.view.state.doc.lineAt(t)).find(e=>e.from<=t&&e.to>=t),s=n&&n.dir==Ki.RTL?-1:1,r=this.source(this.view,t,e.x<i.left?-s:s);if(null==r?void 0:r.then){let e=this.pending={pos:t};r.then(t=>{this.pending==e&&(this.pending=null,t&&this.view.dispatch({effects:this.setHover.of(t)}))},e=>Wi(this.view.state,e,"hover tooltip"))}else r&&this.view.dispatch({effects:this.setHover.of(r)})}mousemove(e){var t;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let i=this.active;if(i&&!No(this.lastMove.target)||this.pending){let{pos:n}=i||this.pending,s=null!==(t=null==i?void 0:i.end)&&void 0!==t?t:n;(n==s?this.view.posAtCoords(this.lastMove)==n:Go(this.view,n,s,e.clientX,e.clientY,6))||(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1,this.active&&!No(e.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function No(e){for(let t=e;t;t=t.parentNode)if(1==t.nodeType&&t.classList.contains("cm-tooltip"))return!0;return!1}function Go(e,t,i,n,s,r){let o=document.createRange(),a=e.domAtPos(t),l=e.domAtPos(i);o.setEnd(l.node,l.offset),o.setStart(a.node,a.offset);let h=o.getClientRects();o.detach();for(let e=0;e<h.length;e++){let t=h[e];if(Math.max(t.top-s,s-t.bottom,t.left-n,n-t.right)<=r)return!0}return!1}function Fo(e,t={}){let i=ce.define(),n=D.define({create:()=>null,update(e,n){if(e&&(t.hideOnChange&&(n.docChanged||n.selection)||t.hideOn&&t.hideOn(n,e)))return null;if(e&&n.docChanged){let t=n.changes.mapPos(e.pos,-1,v.TrackDel);if(null==t)return null;let i=Object.assign(Object.create(null),e);i.pos=t,null!=e.end&&(i.end=n.changes.mapPos(e.end)),e=i}for(let t of n.effects)t.is(i)&&(e=t.value),t.is(Jo)&&(e=null);return e},provide:e=>Io.from(e)});return[n,qi.define(s=>new Lo(s,e,n,i,t.hoverTime||300)),Bo]}function Ho(e,t){let i=e.plugin(zo);if(!i)return null;let n=i.manager.tooltips.indexOf(t);return n<0?null:i.manager.tooltipViews[n]}const Jo=ce.define(),Ko=Y.define({combine(e){let t,i;for(let n of e)t=t||n.topContainer,i=i||n.bottomContainer;return{topContainer:t,bottomContainer:i}}});function ea(e,t){let i=e.plugin(ta),n=i?i.specs.indexOf(t):-1;return n>-1?i.panels[n]:null}const ta=qi.fromClass(class{constructor(e){this.input=e.state.facet(sa),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet(Ko);this.top=new ia(e,!0,t.topContainer),this.bottom=new ia(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet(Ko);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new ia(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new ia(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=e.state.facet(sa);if(i!=this.input){let t=i.filter(e=>e),n=[],s=[],r=[],o=[];for(let i of t){let t,a=this.specs.indexOf(i);a<0?(t=i(e.view),o.push(t)):(t=this.panels[a],t.update&&t.update(e)),n.push(t),(t.top?s:r).push(t)}this.specs=t,this.panels=n,this.top.sync(s),this.bottom.sync(r);for(let e of o)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>xr.scrollMargins.of(t=>{let i=t.plugin(e);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}})});class ia{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=na(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=na(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(this.container&&this.classes!=this.view.themeClasses){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}}function na(e){let t=e.nextSibling;return e.remove(),t}const sa=Y.define({enables:ta});class ra extends Pe{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}ra.prototype.elementClass="",ra.prototype.toDOM=void 0,ra.prototype.mapMode=v.TrackBefore,ra.prototype.startSide=ra.prototype.endSide=-1,ra.prototype.point=!0;const oa=Y.define(),aa={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Ze.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},la=Y.define();function ha(e){return[ua(),la.of(Object.assign(Object.assign({},aa),e))]}const ca=Y.define({combine:e=>e.some(e=>e)});function ua(e){let t=[fa];return e&&!1===e.fixed&&t.push(ca.of(!0)),t}const fa=qi.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=e.state.facet(la).map(t=>new ma(e,t));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(ca),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,i=e.view.viewport,n=Math.min(t.to,i.to)-Math.max(t.from,i.from);this.syncGutters(n<.8*(i.to-i.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(ca)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let i=Ze.iter(this.view.state.facet(oa),this.view.viewport.from),n=[],s=this.gutters.map(e=>new Oa(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks)if(n.length&&(n=[]),Array.isArray(e.type)){let t=!0;for(let r of e.type)if(r.type==pi.Text&&t){pa(i,n,r.from);for(let e of s)e.line(this.view,r,n);t=!1}else if(r.widget)for(let e of s)e.widget(this.view,r)}else if(e.type==pi.Text){pa(i,n,e.from);for(let t of s)t.line(this.view,e,n)}for(let e of s)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(la),i=e.state.facet(la),n=e.docChanged||e.heightChanged||e.viewportChanged||!Ze.eq(e.startState.facet(oa),e.state.facet(oa),e.view.viewport.from,e.view.viewport.to);if(t==i)for(let t of this.gutters)t.update(e)&&(n=!0);else{n=!0;let s=[];for(let n of i){let i=t.indexOf(n);i<0?s.push(new ma(this.view,n)):(this.gutters[i].update(e),s.push(this.gutters[i]))}for(let e of this.gutters)e.dom.remove(),s.indexOf(e)<0&&e.destroy();for(let e of s)this.dom.appendChild(e.dom);this.gutters=s}return n}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>xr.scrollMargins.of(t=>{let i=t.plugin(e);return i&&0!=i.gutters.length&&i.fixed?t.textDirection==Ki.LTR?{left:i.dom.offsetWidth}:{right:i.dom.offsetWidth}:null})});function da(e){return Array.isArray(e)?e:[e]}function pa(e,t,i){for(;e.value&&e.from<=i;)e.from==i&&t.push(e.value),e.next()}class Oa{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=Ze.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:n}=this,s=t.top-this.height;if(this.i==n.elements.length){let r=new ga(e,t.height,s,i);n.elements.push(r),n.dom.appendChild(r.dom)}else n.elements[this.i].update(e,t.height,s,i);this.height=t.bottom,this.i++}line(e,t,i){let n=[];pa(this.cursor,n,t.from),i.length&&(n=n.concat(i));let s=this.gutter.config.lineMarker(e,t,n);s&&n.unshift(s);let r=this.gutter;(0!=n.length||r.config.renderEmptyElements)&&this.addElement(e,t,n)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t);i&&this.addElement(e,t,[i])}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class ma{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,n=>{let s,r=n.target;if(r!=this.dom&&this.dom.contains(r)){for(;r.parentNode!=this.dom;)r=r.parentNode;let e=r.getBoundingClientRect();s=(e.top+e.bottom)/2}else s=n.clientY;let o=e.lineBlockAtHeight(s-e.documentTop);t.domEventHandlers[i](e,o,n)&&n.preventDefault()});this.markers=da(t.markers(e)),t.initialSpacer&&(this.spacer=new ga(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=da(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let i=e.view.viewport;return!Ze.eq(this.markers,t,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class ga{constructor(e,t,i,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,n)}update(e,t,i,n){this.height!=t&&(this.dom.style.height=(this.height=t)+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),Sa(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,t){let i="cm-gutterElement",n=this.dom.firstChild;for(let s=0,r=0;;){let o=r,a=s<t.length?t[s++]:null,l=!1;if(a){let e=a.elementClass;e&&(i+=" "+e);for(let e=r;e<this.markers.length;e++)if(this.markers[e].compare(a)){o=e,l=!0;break}}else o=this.markers.length;for(;r<o;){let e=this.markers[r++];if(e.toDOM){e.destroy(n);let t=n.nextSibling;n.remove(),n=t}}if(!a)break;a.toDOM&&(l?n=n.nextSibling:this.dom.insertBefore(a.toDOM(e),n)),l&&r++}this.dom.className=i,this.markers=t}destroy(){this.setMarkers(null,[])}}function Sa(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++)if(!e[i].compare(t[i]))return!1;return!0}const ba=Y.define(),xa=Y.define({combine:e=>$e(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let e in t){let n=i[e],s=t[e];i[e]=n?(e,t,i)=>n(e,t,i)||s(e,t,i):s}return i}})});class wa extends ra{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function ya(e,t){return e.state.facet(xa).formatNumber(t,e.state)}const va=la.compute([xa],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(ba),lineMarker:(e,t,i)=>i.some(e=>e.toDOM)?null:new wa(ya(e,e.state.doc.lineAt(t.from).number)),widgetMarker:()=>null,lineMarkerChange:e=>e.startState.facet(xa)!=e.state.facet(xa),initialSpacer:e=>new wa(ya(e,Qa(e.state.doc.lines))),updateSpacer(e,t){let i=ya(t.view,Qa(t.view.state.doc.lines));return i==e.number?e:new wa(i)},domEventHandlers:e.facet(xa).domEventHandlers}));function ka(e={}){return[xa.of(e),ua(),va]}function Qa(e){let t=9;for(;t<e;)t=10*t+9;return t}const $a=new class extends ra{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},Pa=oa.compute(["selection"],e=>{let t=[],i=-1;for(let n of e.selection.ranges){let s=e.doc.lineAt(n.head).from;s>i&&(i=s,t.push($a.range(s)))}return Ze.of(t)});function Ca(){return Pa}const Xa=1024;let Ta=0;class Za{constructor(e,t){this.from=e,this.to=t}}class Aa{constructor(e={}){this.id=Ta++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=Ma.match(e)),t=>{let i=e(t);return void 0===i?null:[this,i]}}}Aa.closedBy=new Aa({deserialize:e=>e.split(" ")}),Aa.openedBy=new Aa({deserialize:e=>e.split(" ")}),Aa.group=new Aa({deserialize:e=>e.split(" ")}),Aa.contextHash=new Aa({perNode:!0}),Aa.lookAhead=new Aa({perNode:!0}),Aa.mounted=new Aa({perNode:!0});class Ra{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}}const Va=Object.create(null);class Ma{constructor(e,t,i,n=0){this.name=e,this.props=t,this.id=i,this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):Va,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),n=new Ma(e.name||"",t,e.id,i);if(e.props)for(let i of e.props)if(Array.isArray(i)||(i=i(n)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}return n}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(Aa.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let n of i.split(" "))t[n]=e[i];return e=>{for(let i=e.prop(Aa.group),n=-1;n<(i?i.length:0);n++){let s=t[n<0?e.name:i[n]];if(s)return s}}}}Ma.none=new Ma("",Object.create(null),0,8);class Ya{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let i of this.types){let n=null;for(let t of e){let e=t(i);e&&(n||(n=Object.assign({},i.props)),n[e[0].id]=e[1])}t.push(n?new Ma(i.name,n,i.id,i.flags):i)}return new Ya(t)}}const _a=new WeakMap,Wa=new WeakMap;var Ea;!function(e){e[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays"}(Ea||(Ea={}));class za{constructor(e,t,i,n,s){if(this.type=e,this.children=t,this.positions=i,this.length=n,this.props=null,s&&s.length){this.props=Object.create(null);for(let[e,t]of s)this.props["number"==typeof e?e:e.id]=t}}toString(){let e=this.prop(Aa.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let i=e.toString();i&&(t&&(t+=","),t+=i)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new Ha(this.topNode,e)}cursorAt(e,t=0,i=0){let n=_a.get(this)||this.topNode,s=new Ha(n);return s.moveTo(e,t),_a.set(this,s._tree),s}get topNode(){return new Ba(this,0,0,null)}resolve(e,t=0){let i=ja(_a.get(this)||this.topNode,e,t,!1);return _a.set(this,i),i}resolveInner(e,t=0){let i=ja(Wa.get(this)||this.topNode,e,t,!0);return Wa.set(this,i),i}iterate(e){let{enter:t,leave:i,from:n=0,to:s=this.length}=e,r=e.mode||0,o=(r&Ea.IncludeAnonymous)>0;for(let e=this.cursor(r|Ea.IncludeAnonymous);;){let r=!1;if(e.from<=s&&e.to>=n&&(!o&&e.type.isAnonymous||!1!==t(e))){if(e.firstChild())continue;r=!0}for(;r&&i&&(o||!e.type.isAnonymous)&&i(e),!e.nextSibling();){if(!e.parent())return;r=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:il(Ma.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,i)=>new za(this.type,e,t,i,this.propValues),e.makeTree||((e,t,i)=>new za(Ma.none,e,t,i)))}static build(e){return Ka(e)}}za.empty=new za(Ma.none,[],[],0);class Ua{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new Ua(this.buffer,this.index)}}class qa{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return Ma.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],i=this.buffer[e+3],n=this.set.types[t],s=n.name;if(/\W/.test(s)&&!n.isError&&(s=JSON.stringify(s)),i==(e+=4))return s;let r=[];for(;e<i;)r.push(this.childString(e)),e=this.buffer[e+3];return s+"("+r.join(",")+")"}findChild(e,t,i,n,s){let{buffer:r}=this,o=-1;for(let a=e;a!=t&&!(Da(s,n,r[a+1],r[a+2])&&(o=a,i>0));a=r[a+3]);return o}slice(e,t,i){let n=this.buffer,s=new Uint16Array(t-e),r=0;for(let o=e,a=0;o<t;){s[a++]=n[o++],s[a++]=n[o++]-i;let t=s[a++]=n[o++]-i;s[a++]=n[o++]-e,r=Math.max(r,t)}return new qa(s,r,this.set)}}function Da(e,t,i,n){switch(e){case-2:return i<t;case-1:return n>=t&&i<t;case 0:return i<t&&n>t;case 1:return i<=t&&n>t;case 2:return n>t;case 4:return!0}}function Ia(e,t){let i=e.childBefore(t);for(;i;){let t=i.lastChild;if(!t||t.to!=i.to)break;t.type.isError&&t.from==t.to?(e=i,i=t.prevSibling):i=t}return e}function ja(e,t,i,n){for(var s;e.from==e.to||(i<1?e.from>=t:e.from>t)||(i>-1?e.to<=t:e.to<t);){let t=!n&&e instanceof Ba&&e.index<0?null:e.parent;if(!t)return e;e=t}let r=n?0:Ea.IgnoreOverlays;if(n)for(let n=e,o=n.parent;o;n=o,o=n.parent)n instanceof Ba&&n.index<0&&(null===(s=o.enter(t,i,r))||void 0===s?void 0:s.from)!=n.from&&(e=o);for(;;){let n=e.enter(t,i,r);if(!n)return e;e=n}}class Ba{constructor(e,t,i,n){this._tree=e,this.from=t,this.index=i,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,i,n,s=0){for(let r=this;;){for(let{children:o,positions:a}=r._tree,l=t>0?o.length:-1;e!=l;e+=t){let l=o[e],h=a[e]+r.from;if(Da(n,i,h,h+l.length))if(l instanceof qa){if(s&Ea.ExcludeBuffers)continue;let o=l.findChild(0,l.buffer.length,t,i-h,n);if(o>-1)return new Fa(new Ga(r,l,e,h),null,o)}else if(s&Ea.IncludeAnonymous||!l.type.isAnonymous||Ja(l)){let o;if(!(s&Ea.IgnoreMounts)&&l.props&&(o=l.prop(Aa.mounted))&&!o.overlay)return new Ba(o.tree,h,e,r);let a=new Ba(l,h,e,r);return s&Ea.IncludeAnonymous||!a.type.isAnonymous?a:a.nextChild(t<0?l.children.length-1:0,t,i,n)}}if(s&Ea.IncludeAnonymous||!r.type.isAnonymous)return null;if(e=r.index>=0?r.index+t:t<0?-1:r._parent._tree.children.length,r=r._parent,!r)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}enter(e,t,i=0){let n;if(!(i&Ea.IgnoreOverlays)&&(n=this._tree.prop(Aa.mounted))&&n.overlay){let i=e-this.from;for(let{from:e,to:s}of n.overlay)if((t>0?e<=i:e<i)&&(t<0?s>=i:s>i))return new Ba(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}cursor(e=0){return new Ha(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return ja(this,e,t,!1)}resolveInner(e,t=0){return ja(this,e,t,!0)}enterUnfinishedNodesBefore(e){return Ia(this,e)}getChild(e,t=null,i=null){let n=La(this,e,t,i);return n.length?n[0]:null}getChildren(e,t=null,i=null){return La(this,e,t,i)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return Na(this,e)}}function La(e,t,i,n){let s=e.cursor(),r=[];if(!s.firstChild())return r;if(null!=i)for(;!s.type.is(i);)if(!s.nextSibling())return r;for(;;){if(null!=n&&s.type.is(n))return r;if(s.type.is(t)&&r.push(s.node),!s.nextSibling())return null==n?r:[]}}function Na(e,t,i=t.length-1){for(let n=e.parent;i>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(t[i]&&t[i]!=n.name)return!1;i--}}return!0}class Ga{constructor(e,t,i,n){this.parent=e,this.buffer=t,this.index=i,this.start=n}}class Fa{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,i);return s<0?null:new Fa(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}enter(e,t,i=0){if(i&Ea.ExcludeBuffers)return null;let{buffer:n}=this.context,s=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new Fa(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Fa(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Fa(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new Ha(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,n=this.index+4,s=i.buffer[this.index+3];if(s>n){let r=i.buffer[this.index+1];e.push(i.slice(n,s,r)),t.push(0)}return new za(this.type,e,t,this.to-this.from)}resolve(e,t=0){return ja(this,e,t,!1)}resolveInner(e,t=0){return ja(this,e,t,!0)}enterUnfinishedNodesBefore(e){return Ia(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,i=null){let n=La(this,e,t,i);return n.length?n[0]:null}getChildren(e,t=null,i=null){return La(this,e,t,i)}get node(){return this}matchContext(e){return Na(this,e)}}class Ha{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Ba)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return!!e&&(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0)}yieldBuf(e,t){this.index=e;let{start:i,buffer:n}=this.buffer;return this.type=t||n.set.types[n.buffer[e]],this.from=i+n.buffer[e+1],this.to=i+n.buffer[e+2],!0}yield(e){return!!e&&(e instanceof Ba?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:n}=this.buffer,s=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,i);return!(s<0)&&(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?!(i&Ea.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ea.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ea.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return!!this._tree._parent&&this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode));let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let e=i<0?0:this.stack[i]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(e)}return i<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:n}=this;if(n){if(e>0){if(this.index<n.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(n.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:i}=n)}else({index:t,_parent:i}=this._tree);for(;i;({index:t,_parent:i}=i))if(t>-1)for(let n=t+e,s=e<0?-1:i._tree.children.length;n!=s;n+=e){let e=i._tree.children[n];if(this.mode&Ea.IncludeAnonymous||e instanceof qa||!e.type.isAnonymous||Ja(e))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,i=0;if(e&&e.context==this.buffer)e:for(let n=this.index,s=this.stack.length;s>=0;){for(let r=e;r;r=r._parent)if(r.index==n){if(n==this.index)return r;t=r,i=s+1;break e}n=this.stack[--s]}for(let e=i;e<this.stack.length;e++)t=new Fa(this.buffer,t,this.stack[e]);return this.bufferNode=new Fa(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let i=0;;){let n=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){i++;continue}this.type.isAnonymous||(n=!0)}for(;n&&t&&t(this),n=this.type.isAnonymous,!this.nextSibling();){if(!i)return;this.parent(),i--,n=!0}}}matchContext(e){if(!this.buffer)return Na(this.node,e);let{buffer:t}=this.buffer,{types:i}=t.set;for(let n=e.length-1,s=this.stack.length-1;n>=0;s--){if(s<0)return Na(this.node,e,n);let r=i[t.buffer[this.stack[s]]];if(!r.isAnonymous){if(e[n]&&e[n]!=r.name)return!1;n--}}return!0}}function Ja(e){return e.children.some(e=>e instanceof qa||!e.type.isAnonymous||Ja(e))}function Ka(e){var t;let{buffer:i,nodeSet:n,maxBufferLength:s=Xa,reused:r=[],minRepeatType:o=n.types.length}=e,a=Array.isArray(i)?new Ua(i,i.length):i,l=n.types,h=0,c=0;function u(e,t,i,g,S){let{id:b,start:x,end:w,size:y}=a,v=c;for(;y<0;){if(a.next(),-1==y){let t=r[b];return i.push(t),void g.push(x-e)}if(-3==y)return void(h=b);if(-4==y)return void(c=b);throw new RangeError("Unrecognized record size: "+y)}let k,Q,$=l[b],P=x-e;if(w-x<=s&&(Q=O(a.pos-t,S))){let t=new Uint16Array(Q.size-Q.skip),i=a.pos-Q.size,s=t.length;for(;a.pos>i;)s=m(Q.start,t,s);k=new qa(t,w-Q.start,n),P=Q.start-e}else{let e=a.pos-y;a.next();let t=[],i=[],n=b>=o?b:-1,r=0,l=w;for(;a.pos>e;)n>=0&&a.id==n&&a.size>=0?(a.end<=l-s&&(d(t,i,x,r,a.end,l,n,v),r=t.length,l=a.end),a.next()):u(x,e,t,i,n);if(n>=0&&r>0&&r<t.length&&d(t,i,x,r,x,l,n,v),t.reverse(),i.reverse(),n>-1&&r>0){let e=f($);k=il($,t,i,0,t.length,0,w-x,e,e)}else k=p($,t,i,w-x,v-w)}i.push(k),g.push(P)}function f(e){return(t,i,n)=>{let s,r,o=0,a=t.length-1;if(a>=0&&(s=t[a])instanceof za){if(!a&&s.type==e&&s.length==n)return s;(r=s.prop(Aa.lookAhead))&&(o=i[a]+s.length+r)}return p(e,t,i,n,o)}}function d(e,t,i,s,r,o,a,l){let h=[],c=[];for(;e.length>s;)h.push(e.pop()),c.push(t.pop()+i-r);e.push(p(n.types[a],h,c,o-r,l-o)),t.push(r-i)}function p(e,t,i,n,s=0,r){if(h){let e=[Aa.contextHash,h];r=r?[e].concat(r):[e]}if(s>25){let e=[Aa.lookAhead,s];r=r?[e].concat(r):[e]}return new za(e,t,i,n,r)}function O(e,t){let i=a.fork(),n=0,r=0,l=0,h=i.end-s,c={size:0,start:0,skip:0};e:for(let s=i.pos-e;i.pos>s;){let e=i.size;if(i.id==t&&e>=0){c.size=n,c.start=r,c.skip=l,l+=4,n+=4,i.next();continue}let a=i.pos-e;if(e<0||a<s||i.start<h)break;let u=i.id>=o?4:0,f=i.start;for(i.next();i.pos>a;){if(i.size<0){if(-3!=i.size)break e;u+=4}else i.id>=o&&(u+=4);i.next()}r=f,n+=e,l+=u}return(t<0||n==e)&&(c.size=n,c.start=r,c.skip=l),c.size>4?c:void 0}function m(e,t,i){let{id:n,start:s,end:r,size:l}=a;if(a.next(),l>=0&&n<o){let o=i;if(l>4){let n=a.pos-(l-4);for(;a.pos>n;)i=m(e,t,i)}t[--i]=o,t[--i]=r-e,t[--i]=s-e,t[--i]=n}else-3==l?h=n:-4==l&&(c=n);return i}let g=[],S=[];for(;a.pos>0;)u(e.start||0,e.bufferStart||0,g,S,-1);let b=null!==(t=e.length)&&void 0!==t?t:g.length?S[0]+g[0].length:0;return new za(l[e.topID],g.reverse(),S.reverse(),b)}const el=new WeakMap;function tl(e,t){if(!e.isAnonymous||t instanceof qa||t.type!=e)return 1;let i=el.get(t);if(null==i){i=1;for(let n of t.children){if(n.type!=e||!(n instanceof za)){i=1;break}i+=tl(e,n)}el.set(t,i)}return i}function il(e,t,i,n,s,r,o,a,l){let h=0;for(let i=n;i<s;i++)h+=tl(e,t[i]);let c=Math.ceil(1.5*h/8),u=[],f=[];function d(t,i,n,s,o){for(let a=n;a<s;){let n=a,h=i[a],p=tl(e,t[a]);for(a++;a<s;a++){let i=tl(e,t[a]);if(p+i>=c)break;p+=i}if(a==n+1){if(p>c){let e=t[n];d(e.children,e.positions,0,e.children.length,i[n]+o);continue}u.push(t[n])}else{let s=i[a-1]+t[a-1].length-h;u.push(il(e,t,i,n,a,h,s,null,l))}f.push(h+o-r)}}return d(t,i,n,s,0),(a||l)(u,f,o)}class nl{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof Fa?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ba&&this.map.set(e.tree,t)}get(e){return e instanceof Fa?this.getBuffer(e.context.buffer,e.index):e instanceof Ba?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class sl{constructor(e,t,i,n,s=!1,r=!1){this.from=e,this.to=t,this.tree=i,this.offset=n,this.open=(s?1:0)|(r?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],i=!1){let n=[new sl(0,e.length,e,0,!1,i)];for(let i of t)i.to>e.length&&n.push(i);return n}static applyChanges(e,t,i=128){if(!t.length)return e;let n=[],s=1,r=e.length?e[0]:null;for(let o=0,a=0,l=0;;o++){let h=o<t.length?t[o]:null,c=h?h.fromA:1e9;if(c-a>=i)for(;r&&r.from<c;){let t=r;if(a>=t.from||c<=t.to||l){let e=Math.max(t.from,a)-l,i=Math.min(t.to,c)-l;t=e>=i?null:new sl(e,i,t.tree,t.offset+l,o>0,!!h)}if(t&&n.push(t),r.to>c)break;r=s<e.length?e[s++]:null}if(!h)break;a=h.toA,l=h.toA-h.toB}return n}}class rl{startParse(e,t,i){return"string"==typeof e&&(e=new ol(e)),i=i?i.length?i.map(e=>new Za(e.from,e.to)):[new Za(0,0)]:[new Za(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let n=this.startParse(e,t,i);for(;;){let e=n.advance();if(e)return e}}}class ol{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function al(e){return(t,i,n,s)=>new ul(t,e,i,n,s)}class ll{constructor(e,t,i,n,s){if(this.parser=e,this.parse=t,this.overlay=i,this.target=n,this.ranges=s,!s.length||s.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(s))}}class hl{constructor(e,t,i,n,s,r,o){this.parser=e,this.predicate=t,this.mounts=i,this.index=n,this.start=s,this.target=r,this.prev=o,this.depth=0,this.ranges=[]}}const cl=new Aa({perNode:!0});class ul{constructor(e,t,i,n,s){this.nest=t,this.input=i,this.fragments=n,this.ranges=s,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new za(e.type,e.children,e.positions,e.length,e.propValues.concat([[cl,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[Aa.mounted.id]=new Ra(t,e.overlay,e.parser),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].ranges[0].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new ml(this.fragments),t=null,i=null,n=new Ha(new Ba(this.baseTree,this.ranges[0].from,0,null),Ea.IncludeAnonymous|Ea.IgnoreMounts);e:for(let s,r;null==this.stoppedAt||n.from<this.stoppedAt;){let o,a=!0;if(e.hasNode(n)){if(t){let e=t.mounts.find(e=>e.frag.from<=n.from&&e.frag.to>=n.to&&e.mount.overlay);if(e)for(let i of e.mount.overlay){let s=i.from+e.pos,r=i.to+e.pos;s>=n.from&&r<=n.to&&!t.ranges.some(e=>e.from<r&&e.to>s)&&t.ranges.push({from:s,to:r})}}a=!1}else if(i&&(r=fl(i.ranges,n.from,n.to)))a=2!=r;else if(!n.type.isAnonymous&&n.from<n.to&&(s=this.nest(n,this.input))){n.tree||pl(n);let r=e.findMounts(n.from,s.parser);if("function"==typeof s.overlay)t=new hl(s.parser,s.overlay,r,this.inner.length,n.from,n.tree,t);else{let e=gl(this.ranges,s.overlay||[new Za(n.from,n.to)]);e.length&&this.inner.push(new ll(s.parser,s.parser.startParse(this.input,bl(r,e),e),s.overlay?s.overlay.map(e=>new Za(e.from-n.from,e.to-n.from)):null,n.tree,e)),s.overlay?e.length&&(i={ranges:e,depth:0,prev:i}):a=!1}}else t&&(o=t.predicate(n))&&(!0===o&&(o=new Za(n.from,n.to)),o.from<o.to&&t.ranges.push(o));if(a&&n.firstChild())t&&t.depth++,i&&i.depth++;else for(;!n.nextSibling();){if(!n.parent())break e;if(t&&!--t.depth){let e=gl(this.ranges,t.ranges);e.length&&this.inner.splice(t.index,0,new ll(t.parser,t.parser.startParse(this.input,bl(t.mounts,e),e),t.ranges.map(e=>new Za(e.from-t.start,e.to-t.start)),t.target,e)),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}}function fl(e,t,i){for(let n of e){if(n.from>=i)break;if(n.to>t)return n.from<=t&&n.to>=i?2:1}return 0}function dl(e,t,i,n,s,r){if(t<i){let o=e.buffer[t+1];n.push(e.slice(t,i,o)),s.push(o-r)}}function pl(e){let{node:t}=e,i=0;do{e.parent(),i++}while(!e.tree);let n=0,s=e.tree,r=0;for(;r=s.positions[n]+e.from,!(r<=t.from&&r+s.children[n].length>=t.to);n++);let o=s.children[n],a=o.buffer;function l(e,i,n,s,h){let c=e;for(;a[c+2]+r<=t.from;)c=a[c+3];let u=[],f=[];dl(o,e,c,u,f,s);let d=a[c+1],p=a[c+2],O=d+r==t.from&&p+r==t.to&&a[c]==t.type.id;return u.push(O?t.toTree():l(c+4,a[c+3],o.set.types[a[c]],d,p-d)),f.push(d-s),dl(o,a[c+3],i,u,f,s),new za(n,u,f,h)}s.children[n]=l(0,a.length,Ma.none,0,o.length);for(let n=0;n<=i;n++)e.childAfter(t.from)}class Ol{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(Ea.IncludeAnonymous|Ea.IgnoreMounts)}moveTo(e){let{cursor:t}=this,i=e-this.offset;for(;!this.done&&t.from<i;)t.to>=e&&t.enter(i,1,Ea.IgnoreOverlays|Ea.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof za))break;t=t.children[0]}return!1}}class ml{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=null!==(t=i.tree.prop(cl))&&void 0!==t?t:i.to,this.inner=new Ol(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(cl))&&void 0!==e?e:t.to,this.inner=new Ol(t.tree,-t.offset)}}findMounts(e,t){var i;let n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let s=null===(i=e.tree)||void 0===i?void 0:i.prop(Aa.mounted);if(s&&s.parser==t)for(let t=this.fragI;t<this.fragments.length;t++){let i=this.fragments[t];if(i.from>=e.to)break;i.tree==this.curFrag.tree&&n.push({frag:i,pos:e.from-i.offset,mount:s})}}}return n}}function gl(e,t){let i=null,n=t;for(let s=1,r=0;s<e.length;s++){let o=e[s-1].to,a=e[s].from;for(;r<n.length;r++){let e=n[r];if(e.from>=a)break;e.to<=o||(i||(n=i=t.slice()),e.from<o?(i[r]=new Za(e.from,o),e.to>a&&i.splice(r+1,0,new Za(a,e.to))):e.to>a?i[r--]=new Za(a,e.to):i.splice(r--,1))}}return n}function Sl(e,t,i,n){let s=0,r=0,o=!1,a=!1,l=-1e9,h=[];for(;;){let c=s==e.length?1e9:o?e[s].to:e[s].from,u=r==t.length?1e9:a?t[r].to:t[r].from;if(o!=a){let e=Math.max(l,i),t=Math.min(c,u,n);e<t&&h.push(new Za(e,t))}if(l=Math.min(c,u),1e9==l)break;c==l&&(o?(o=!1,s++):o=!0),u==l&&(a?(a=!1,r++):a=!0)}return h}function bl(e,t){let i=[];for(let{pos:n,mount:s,frag:r}of e){let e=n+(s.overlay?s.overlay[0].from:0),o=e+s.tree.length,a=Math.max(r.from,e),l=Math.min(r.to,o);if(s.overlay){let o=Sl(t,s.overlay.map(e=>new Za(e.from+n,e.to+n)),a,l);for(let t=0,n=a;;t++){let a=t==o.length,h=a?l:o[t].from;if(h>n&&i.push(new sl(n,h,s.tree,-e,r.from>=n||r.openStart,r.to<=h||r.openEnd)),a)break;n=o[t].to}}else i.push(new sl(a,l,s.tree,-e,r.from>=e||r.openStart,r.to<=o||r.openEnd))}return i}class xl{constructor(e,t,i,n,s,r,o,a,l,h=0,c){this.p=e,this.stack=t,this.state=i,this.reducePos=n,this.pos=s,this.score=r,this.buffer=o,this.bufferBase=a,this.curContext=l,this.lookAhead=h,this.parent=c}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let n=e.parser.context;return new xl(e,[],t,i,i,0,[],0,n?new wl(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var t;let i=e>>19,n=65535&e,{parser:s}=this.p,r=s.dynamicPrecedence(n);if(r&&(this.score+=r),0==i)return this.pushState(s.getGoto(this.state,n,!0),this.reducePos),n<s.minRepeatTerm&&this.storeNode(n,this.reducePos,this.reducePos,4,!0),void this.reduceContext(n,this.reducePos);let o=this.stack.length-3*(i-1)-(262144&e?6:0),a=o?this.stack[o-2]:this.p.ranges[0].from,l=this.reducePos-a;l>=2e3&&!(null===(t=this.p.parser.nodeSet.types[n])||void 0===t?void 0:t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSize<l&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=l));let h=o?this.stack[o-1]:0,c=this.bufferBase+this.buffer.length-h;if(n<s.minRepeatTerm||131072&e){let e=s.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(n,a,e,c+4,!0)}if(262144&e)this.state=this.stack[o];else{let e=this.stack[o-3];this.state=s.getGoto(e,n,!0)}for(;this.stack.length>o;)this.stack.pop();this.reduceContext(n,a)}storeNode(e,t,i,n=4,s=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this,n=this.buffer.length;if(0==n&&e.parent&&(n=e.bufferBase-e.parent.bufferBase,e=e.parent),n>0&&0==e.buffer[n-4]&&e.buffer[n-1]>-1){if(t==i)return;if(e.buffer[n-2]>=t)return void(e.buffer[n-2]=i)}}if(s&&this.pos!=i){let s=this.buffer.length;if(s>0&&0!=this.buffer[s-4])for(;s>0&&this.buffer[s-2]>i;)this.buffer[s]=this.buffer[s-4],this.buffer[s+1]=this.buffer[s-3],this.buffer[s+2]=this.buffer[s-2],this.buffer[s+3]=this.buffer[s-1],s-=4,n>4&&(n-=4);this.buffer[s]=e,this.buffer[s+1]=t,this.buffer[s+2]=i,this.buffer[s+3]=n}else this.buffer.push(e,t,i,n)}shift(e,t,i){let n=this.pos;if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let s=e,{parser:r}=this.p;(i>this.pos||t<=r.maxNode)&&(this.pos=i,r.stateFlag(s,1)||(this.reducePos=i)),this.pushState(s,n),this.shiftContext(t,n),t<=r.maxNode&&this.buffer.push(t,n,i,4)}else this.pos=i,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,i,4)}apply(e,t,i){65536&e?this.reduce(e):this.shift(e,t,i)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(i,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new xl(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new vl(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==i)return!1;if(0==(65536&i))return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let n,s=0;s<t.length;s+=2)(n=t[s+1])!=this.state&&this.p.parser.hasAction(n,e)&&i.push(t[s],n);if(this.stack.length<120)for(let e=0;i.length<8&&e<t.length;e+=2){let n=t[e+1];i.some((e,t)=>1&t&&e==n)||i.push(t[e],n)}t=i}let i=[];for(let e=0;e<t.length&&i.length<4;e+=2){let n=t[e+1];if(n==this.state)continue;let s=this.split();s.pushState(n,this.pos),s.storeNode(0,s.pos,s.pos,4,!0),s.shiftContext(t[e],this.pos),s.score-=200,i.push(s)}return i}forceReduce(){let{parser:e}=this.p,t=e.stateSlot(this.state,5);if(0==(65536&t))return!1;if(!e.validAction(this.state,t)){let i=t>>19,n=65535&t,s=this.stack.length-3*i;if(s<0||e.getGoto(this.stack[s],n,!1)<0){let e=this.findForcedReduction();if(null==e)return!1;t=e}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(t),!0}findForcedReduction(){let{parser:e}=this.p,t=[],i=(n,s)=>{if(!t.includes(n))return t.push(n),e.allActions(n,t=>{if(393216&t);else if(65536&t){let i=(t>>19)-s;if(i>1){let n=65535&t,s=this.stack.length-3*i;if(s>=0&&e.getGoto(this.stack[s],n,!1)>=0)return i<<19|65536|n}}else{let e=i(t,s+1);if(null!=e)return e}})};return i(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||-3!=this.buffer[e])&&this.buffer.push(this.curContext.hash,this.pos,this.pos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||-4!=this.buffer[e])&&this.buffer.push(this.lookAhead,this.pos,this.pos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new wl(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class wl{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}var yl;!function(e){e[e.Insert=200]="Insert",e[e.Delete=190]="Delete",e[e.Reduce=100]="Reduce",e[e.MaxNext=4]="MaxNext",e[e.MaxInsertStackDepth=300]="MaxInsertStackDepth",e[e.DampenInsertStackDepth=120]="DampenInsertStackDepth",e[e.MinBigReduction=2e3]="MinBigReduction"}(yl||(yl={}));class vl{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,i=e>>19;0==i?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(i-1);let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}}class kl{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new kl(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new kl(this.stack,this.pos,this.index)}}function Ql(e,t=Uint16Array){if("string"!=typeof e)return e;let i=null;for(let n=0,s=0;n<e.length;){let r=0;for(;;){let t=e.charCodeAt(n++),i=!1;if(126==t){r=65535;break}t>=92&&t--,t>=34&&t--;let s=t-32;if(s>=46&&(s-=46,i=!0),r+=s,i)break;r*=46}i?i[s++]=r:i=new t(r)}return i}class $l{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Pl=new $l;class Cl{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Pl,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,n=this.rangeIndex,s=this.pos+e;for(;s<i.from;){if(!n)return null;let e=this.ranges[--n];s-=i.from-e.to,i=e}for(;t<0?s>i.to:s>=i.to;){if(n==this.ranges.length-1)return null;let e=this.ranges[++n];s+=e.from-i.to,i=e}return s}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t,i,n=this.chunkOff+e;if(n>=0&&n<this.chunk.length)t=this.pos+e,i=this.chunk.charCodeAt(n);else{let n=this.resolveOffset(e,1);if(null==n)return-1;if(t=n,t>=this.chunk2Pos&&t<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(t-this.chunk2Pos);else{let e=this.rangeIndex,n=this.range;for(;n.to<=t;)n=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=t),t+this.chunk2.length>n.to&&(this.chunk2=this.chunk2.slice(0,n.to-t)),i=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),i}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(null==i||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=i}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=Pl,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(i+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return i}}class Xl{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:i}=t.p;Al(this.data,e,t,this.id,i.data,i.tokenPrecTable)}}Xl.prototype.contextual=Xl.prototype.fallback=Xl.prototype.extend=!1;class Tl{constructor(e,t,i){this.precTable=t,this.elseToken=i,this.data="string"==typeof e?Ql(e):e}token(e,t){let i=e.pos,n=0;for(;;){let i=e.next<0,s=e.resolveOffset(1,1);if(Al(this.data,e,t,0,this.data,this.precTable),e.token.value>-1)break;if(null==this.elseToken)return;if(i||n++,null==s)break;e.reset(s,e.token)}n&&(e.reset(i,e.token),e.acceptToken(this.elseToken,n))}}Tl.prototype.contextual=Xl.prototype.fallback=Xl.prototype.extend=!1;class Zl{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Al(e,t,i,n,s,r){let o=0,a=1<<n,{dialect:l}=i.p.parser;e:for(;0!=(a&e[o]);){let i=e[o+1];for(let n=o+3;n<i;n+=2)if((e[n+1]&a)>0){let i=e[n];if(l.allows(i)&&(-1==t.token.value||t.token.value==i||Vl(i,t.token.value,s,r))){t.acceptToken(i);break}}let n=t.next,h=0,c=e[o+2];if(!(t.next<0&&c>h&&65535==e[i+3*c-3]&&65535==e[i+3*c-3])){for(;h<c;){let s=h+c>>1,r=i+s+(s<<1),a=e[r],l=e[r+1]||65536;if(n<a)c=s;else{if(!(n>=l)){o=e[r+2],t.advance();continue e}h=s+1}}break}o=e[i+3*c-1]}}function Rl(e,t,i){for(let n,s=t;65535!=(n=e[s]);s++)if(n==i)return s-t;return-1}function Vl(e,t,i,n){let s=Rl(i,n,t);return s<0||Rl(i,n,e)<s}const Ml="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let Yl=null;var _l,Wl;function El(e,t,i){let n=e.cursor(Ea.IncludeAnonymous);for(n.moveTo(t);;)if(!(i<0?n.childBefore(t):n.childAfter(t)))for(;;){if((i<0?n.to<t:n.from>t)&&!n.type.isError)return i<0?Math.max(0,Math.min(n.to-1,t-25)):Math.min(e.length,Math.max(n.from+1,t+25));if(i<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return i<0?0:e.length}}!function(e){e[e.Margin=25]="Margin"}(_l||(_l={}));class zl{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?El(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?El(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let i=this.trees[t],n=this.index[t];if(n==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let s=i.children[n],r=this.start[t]+i.positions[n];if(r>e)return this.nextStart=r,null;if(s instanceof za){if(r==e){if(r<this.safeFrom)return null;let e=r+s.length;if(e<=this.safeTo){let t=s.prop(Aa.lookAhead);if(!t||e+t<this.fragment.to)return s}}this.index[t]++,r+s.length>=Math.max(this.safeFrom,e)&&(this.trees.push(s),this.start.push(r),this.index.push(0))}else this.index[t]++,this.nextStart=r+s.length}}}class Ul{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new $l)}getActions(e){let t=0,i=null,{parser:n}=e.p,{tokenizers:s}=n,r=n.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,a=0;for(let n=0;n<s.length;n++){if(0==(1<<n&r))continue;let l=s[n],h=this.tokens[n];if((!i||l.fallback)&&((l.contextual||h.start!=e.pos||h.mask!=r||h.context!=o)&&(this.updateCachedToken(h,l,e),h.mask=r,h.context=o),h.lookAhead>h.end+25&&(a=Math.max(h.lookAhead,a)),0!=h.value)){let n=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!l.extend&&(i=h,t>n))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),i||e.pos!=this.stream.end||(i=new $l,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new $l,{pos:i,p:n}=e;return t.start=i,t.end=Math.min(i+1,n.stream.end),t.value=i==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,i){let n=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(n,e),i),e.value>-1){let{parser:t}=i.p;for(let n=0;n<t.specialized.length;n++)if(t.specialized[n]==e.value){let s=t.specializers[n](this.stream.read(e.start,e.end),i);if(s>=0&&i.p.parser.dialect.allows(s>>1)){0==(1&s)?e.value=s>>1:e.extended=s>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,t,i,n){for(let t=0;t<n;t+=3)if(this.actions[t]==e)return n;return this.actions[n++]=e,this.actions[n++]=t,this.actions[n++]=i,n}addActions(e,t,i,n){let{state:s}=e,{parser:r}=e.p,{data:o}=r;for(let e=0;e<2;e++)for(let a=r.stateSlot(s,e?2:1);;a+=3){if(65535==o[a]){if(1!=o[a+1]){0==n&&2==o[a+1]&&(n=this.putAction(Nl(o,a+2),t,i,n));break}a=Nl(o,a+2)}o[a]==t&&(n=this.putAction(Nl(o,a+1),t,i,n))}return n}}!function(e){e[e.Distance=5]="Distance",e[e.MaxRemainingPerStep=3]="MaxRemainingPerStep",e[e.MinBufferLengthPrune=500]="MinBufferLengthPrune",e[e.ForceReduceLimit=10]="ForceReduceLimit",e[e.CutDepth=15e3]="CutDepth",e[e.CutTo=9e3]="CutTo",e[e.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",e[e.MaxStackCount=12]="MaxStackCount"}(Wl||(Wl={}));class ql{constructor(e,t,i,n){this.parser=e,this.input=t,this.ranges=n,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Cl(t,n),this.tokens=new Ul(e,this.stream),this.topTerm=e.top[1];let{from:s}=n[0];this.stacks=[xl.start(this,e.top[0],s)],this.fragments=i.length&&this.stream.end-s>4*e.bufferLength?new zl(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,i=this.stacks,n=this.minStackPos,s=this.stacks=[];if(this.bigReductionCount>300&&1==i.length){let[e]=i;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let r=0;r<i.length;r++){let o=i[r];for(;;){if(this.tokens.mainToken=null,o.pos>n)s.push(o);else{if(this.advanceStack(o,s,i))continue;{e||(e=[],t=[]),e.push(o);let i=this.tokens.getMainToken(o);t.push(i.value,i.end)}}break}}if(!s.length){let t=e&&Gl(e);if(t)return this.stackToTree(t);if(this.parser.strict)throw Ml&&e&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&e){let i=null!=this.stoppedAt&&e[0].pos>this.stoppedAt?e[0]:this.runRecovery(e,t,s);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(s.length>e)for(s.sort((e,t)=>t.score-e.score);s.length>e;)s.pop();s.some(e=>e.reducePos>n)&&this.recovering--}else if(s.length>1){e:for(let e=0;e<s.length-1;e++){let t=s[e];for(let i=e+1;i<s.length;i++){let n=s[i];if(t.sameState(n)||t.buffer.length>500&&n.buffer.length>500){if(!((t.score-n.score||t.buffer.length-n.buffer.length)>0)){s.splice(e--,1);continue e}s.splice(i--,1)}}}s.length>12&&s.splice(12,s.length-12)}this.minStackPos=s[0].pos;for(let e=1;e<s.length;e++)s[e].pos<this.minStackPos&&(this.minStackPos=s[e].pos);return null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,i){let n=e.pos,{parser:s}=this,r=Ml?this.stackID(e)+" -> ":"";if(null!=this.stoppedAt&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,i=t?e.curContext.hash:0;for(let o=this.fragments.nodeAt(n);o;){let n=this.parser.nodeSet.types[o.type.id]==o.type?s.getGoto(e.state,o.type.id):-1;if(n>-1&&o.length&&(!t||(o.prop(Aa.contextHash)||0)==i))return e.useNode(o,n),Ml&&console.log(r+this.stackID(e)+` (via reuse of ${s.getName(o.type.id)})`),!0;if(!(o instanceof za)||0==o.children.length||o.positions[0]>0)break;let a=o.children[0];if(!(a instanceof za&&0==o.positions[0]))break;o=a}}let o=s.stateSlot(e.state,4);if(o>0)return e.reduce(o),Ml&&console.log(r+this.stackID(e)+` (via always-reduce ${s.getName(65535&o)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let o=0;o<a.length;){let l=a[o++],h=a[o++],c=a[o++],u=o==a.length||!i,f=u?e:e.split();if(f.apply(l,h,c),Ml&&console.log(r+this.stackID(f)+` (via ${0==(65536&l)?"shift":"reduce of "+s.getName(65535&l)} for ${s.getName(h)} @ ${n}${f==e?"":", split"})`),u)return!0;f.pos>n?t.push(f):i.push(f)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return Dl(e,t),!0}}runRecovery(e,t,i){let n=null,s=!1;for(let r=0;r<e.length;r++){let o=e[r],a=t[r<<1],l=t[1+(r<<1)],h=Ml?this.stackID(o)+" -> ":"";if(o.deadEnd){if(s)continue;if(s=!0,o.restart(),Ml&&console.log(h+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))continue}let c=o.split(),u=h;for(let e=0;c.forceReduce()&&e<10;e++){if(Ml&&console.log(u+this.stackID(c)+" (via force-reduce)"),this.advanceFully(c,i))break;Ml&&(u=this.stackID(c)+" -> ")}for(let e of o.recoverByInsert(a))Ml&&console.log(h+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,i);this.stream.end>o.pos?(l==o.pos&&(l++,a=0),o.recoverByDelete(a,l),Ml&&console.log(h+this.stackID(o)+` (via recover-delete ${this.parser.getName(a)})`),Dl(o,i)):(!n||n.score<o.score)&&(n=o)}return n}stackToTree(e){return e.close(),za.build({buffer:kl.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(Yl||(Yl=new WeakMap)).get(e);return t||Yl.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function Dl(e,t){for(let i=0;i<t.length;i++){let n=t[i];if(n.pos==e.pos&&n.sameState(e))return void(t[i].score<e.score&&(t[i]=e))}t.push(e)}class Il{constructor(e,t,i){this.source=e,this.flags=t,this.disabled=i}allows(e){return!this.disabled||0==this.disabled[e]}}const jl=e=>e;class Bl{constructor(e){this.start=e.start,this.shift=e.shift||jl,this.reduce=e.reduce||jl,this.reuse=e.reuse||jl,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class Ll extends rl{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let i=0;i<e.repeatNodeCount;i++)t.push("");let i=Object.keys(e.topRules).map(t=>e.topRules[t][1]),n=[];for(let e=0;e<t.length;e++)n.push([]);function s(e,t,i){n[e].push([t,t.deserialize(String(i))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];"string"==typeof e&&(e=Aa[e]);for(let i=1;i<t.length;){let n=t[i++];if(n>=0)s(n,e,t[i++]);else{let r=t[i+-n];for(let o=-n;o>0;o--)s(t[i++],e,r);i++}}}this.nodeSet=new Ya(t.map((t,s)=>Ma.define({name:s>=this.minRepeatTerm?void 0:t,id:s,props:n[s],top:i.indexOf(s)>-1,error:0==s,skipped:e.skippedNodes&&e.skippedNodes.indexOf(s)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=Xa;let r=Ql(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e<this.specializerSpecs.length;e++)this.specialized[e]=this.specializerSpecs[e].term;this.specializers=this.specializerSpecs.map(Fl),this.states=Ql(e.states,Uint32Array),this.data=Ql(e.stateData),this.goto=Ql(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(e=>"number"==typeof e?new Xl(r,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let n=new ql(this,e,t,i);for(let s of this.wrappers)n=s(n,e,t,i);return n}getGoto(e,t,i=!1){let n=this.goto;if(t>=n[0])return-1;for(let s=n[t+1];;){let t=n[s++],r=1&t,o=n[s++];if(r&&i)return o;for(let i=s+(t>>1);s<i;s++)if(n[s]==e)return o;if(r)return-1}}hasAction(e,t){let i=this.data;for(let n=0;n<2;n++)for(let s,r=this.stateSlot(e,n?2:1);;r+=3){if(65535==(s=i[r])){if(1!=i[r+1]){if(2==i[r+1])return Nl(i,r+2);break}s=i[r=Nl(i,r+2)]}if(s==t||0==s)return Nl(i,r+1)}return 0}stateSlot(e,t){return this.states[6*e+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){return!!this.allActions(e,e=>e==t||null)}allActions(e,t){let i=this.stateSlot(e,4),n=i?t(i):void 0;for(let i=this.stateSlot(e,1);null==n;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=Nl(this.data,i+2)}n=t(Nl(this.data,i+1))}return n}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=Nl(this.data,i+2)}if(0==(1&this.data[i+2])){let e=this.data[i+1];t.some((t,i)=>1&i&&t==e)||t.push(this.data[i],e)}}return t}configure(e){let t=Object.assign(Object.create(Ll.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError("Invalid top rule name "+e.top);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(t=>{let i=e.tokenizers.find(e=>e.from==t);return i?i.to:t})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,n)=>{let s=e.specializers.find(e=>e.from==i.external);if(!s)return i;let r=Object.assign(Object.assign({},i),{external:s.to});return t.specializers[n]=Fl(r),r})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let n of e.split(" ")){let e=t.indexOf(n);e>=0&&(i[e]=!0)}let n=null;for(let e=0;e<t.length;e++)if(!i[e])for(let i,s=this.dialects[t[e]];65535!=(i=this.data[s++]);)(n||(n=new Uint8Array(this.maxTerm+1)))[i]=1;return new Il(e,i,n)}static deserialize(e){return new Ll(e)}}function Nl(e,t){return e[t]|e[t+1]<<16}function Gl(e){let t=null;for(let i of e){let e=i.p.stoppedAt;(i.pos==i.p.stream.end||null!=e&&i.pos>e)&&i.p.parser.stateFlag(i.state,2)&&(!t||t.score<i.score)&&(t=i)}return t}function Fl(e){if(e.external){let t=e.extend?1:0;return(i,n)=>e.external(i,n)<<1|t}return e.get}let Hl=0;class Jl{constructor(e,t,i){this.set=e,this.base=t,this.modified=i,this.id=Hl++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new Jl([],null,[]);if(t.set.push(t),e)for(let i of e.set)t.set.push(i);return t}static defineModifier(){let e=new eh;return t=>t.modified.indexOf(e)>-1?t:eh.get(t.base||t,t.modified.concat(e).sort((e,t)=>e.id-t.id))}}let Kl=0;class eh{constructor(){this.instances=[],this.id=Kl++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(i=>i.base==e&&th(t,i.modified));if(i)return i;let n=[],s=new Jl(n,e,t);for(let e of t)e.instances.push(s);let r=ih(t);for(let t of e.set)if(!t.modified.length)for(let e of r)n.push(eh.get(t,e));return s}}function th(e,t){return e.length==t.length&&e.every((e,i)=>e==t[i])}function ih(e){let t=[[]];for(let i=0;i<e.length;i++)for(let n=0,s=t.length;n<s;n++)t.push(t[n].concat(e[i]));return t.sort((e,t)=>t.length-e.length)}function nh(e){let t=Object.create(null);for(let i in e){let n=e[i];Array.isArray(n)||(n=[n]);for(let e of i.split(" "))if(e){let i=[],s=2,r=e;for(let t=0;;){if("..."==r&&t>0&&t+3==e.length){s=1;break}let n=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(r);if(!n)throw new RangeError("Invalid path: "+e);if(i.push("*"==n[0]?"":'"'==n[0][0]?JSON.parse(n[0]):n[0]),t+=n[0].length,t==e.length)break;let o=e[t++];if(t==e.length&&"!"==o){s=0;break}if("/"!=o)throw new RangeError("Invalid path: "+e);r=e.slice(t)}let o=i.length-1,a=i[o];if(!a)throw new RangeError("Invalid path: "+e);let l=new rh(n,s,o>0?i.slice(0,o):null);t[a]=l.sort(t[a])}}return sh.add(t)}const sh=new Aa;class rh{constructor(e,t,i,n){this.tags=e,this.mode=t,this.context=i,this.next=n}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}}function oh(e,t){let i=Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)i[e.id]=t.class;else i[t.tag.id]=t.class;let{scope:n,all:s=null}=t||{};return{style:e=>{let t=s;for(let n of e)for(let e of n.set){let n=i[e.id];if(n){t=t?t+" "+n:n;break}}return t},scope:n}}function ah(e,t){let i=null;for(let n of e){let e=n.style(t);e&&(i=i?i+" "+e:e)}return i}function lh(e,t,i,n=0,s=e.length){let r=new hh(n,Array.isArray(t)?t:[t],i);r.highlightRange(e.cursor(),n,s,"",r.highlighters),r.flush(s)}rh.empty=new rh([],2,null);class hh{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,n,s){let{type:r,from:o,to:a}=e;if(o>=i||a<=t)return;r.isTop&&(s=this.highlighters.filter(e=>!e.scope||e.scope(r)));let l=n,h=ch(e)||rh.empty,c=ah(s,h.tags);if(c&&(l&&(l+=" "),l+=c,1==h.mode&&(n+=(n?" ":"")+c)),this.startSpan(Math.max(t,o),l),h.opaque)return;let u=e.tree&&e.tree.prop(Aa.mounted);if(u&&u.overlay){let r=e.node.enter(u.overlay[0].from+o,1),h=this.highlighters.filter(e=>!e.scope||e.scope(u.tree.type)),c=e.firstChild();for(let f=0,d=o;;f++){let p=f<u.overlay.length?u.overlay[f]:null,O=p?p.from+o:a,m=Math.max(t,d),g=Math.min(i,O);if(m<g&&c)for(;e.from<g&&(this.highlightRange(e,m,g,n,s),this.startSpan(Math.min(g,e.to),l),!(e.to>=O)&&e.nextSibling()););if(!p||O>i)break;d=p.to+o,d>t&&(this.highlightRange(r.cursor(),Math.max(t,p.from+o),Math.min(i,d),"",h),this.startSpan(Math.min(i,d),l))}c&&e.parent()}else if(e.firstChild()){u&&(n="");do{if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,n,s),this.startSpan(Math.min(i,e.to),l)}}while(e.nextSibling());e.parent()}}}function ch(e){let t=e.type.prop(sh);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}const uh=Jl.define,fh=uh(),dh=uh(),ph=uh(dh),Oh=uh(dh),mh=uh(),gh=uh(mh),Sh=uh(mh),bh=uh(),xh=uh(bh),wh=uh(),yh=uh(),vh=uh(),kh=uh(vh),Qh=uh(),$h={comment:fh,lineComment:uh(fh),blockComment:uh(fh),docComment:uh(fh),name:dh,variableName:uh(dh),typeName:ph,tagName:uh(ph),propertyName:Oh,attributeName:uh(Oh),className:uh(dh),labelName:uh(dh),namespace:uh(dh),macroName:uh(dh),literal:mh,string:gh,docString:uh(gh),character:uh(gh),attributeValue:uh(gh),number:Sh,integer:uh(Sh),float:uh(Sh),bool:uh(mh),regexp:uh(mh),escape:uh(mh),color:uh(mh),url:uh(mh),keyword:wh,self:uh(wh),null:uh(wh),atom:uh(wh),unit:uh(wh),modifier:uh(wh),operatorKeyword:uh(wh),controlKeyword:uh(wh),definitionKeyword:uh(wh),moduleKeyword:uh(wh),operator:yh,derefOperator:uh(yh),arithmeticOperator:uh(yh),logicOperator:uh(yh),bitwiseOperator:uh(yh),compareOperator:uh(yh),updateOperator:uh(yh),definitionOperator:uh(yh),typeOperator:uh(yh),controlOperator:uh(yh),punctuation:vh,separator:uh(vh),bracket:kh,angleBracket:uh(kh),squareBracket:uh(kh),paren:uh(kh),brace:uh(kh),content:bh,heading:xh,heading1:uh(xh),heading2:uh(xh),heading3:uh(xh),heading4:uh(xh),heading5:uh(xh),heading6:uh(xh),contentSeparator:uh(bh),list:uh(bh),quote:uh(bh),emphasis:uh(bh),strong:uh(bh),link:uh(bh),monospace:uh(bh),strikethrough:uh(bh),inserted:uh(),deleted:uh(),changed:uh(),invalid:uh(),meta:Qh,documentMeta:uh(Qh),annotation:uh(Qh),processingInstruction:uh(Qh),definition:Jl.defineModifier(),constant:Jl.defineModifier(),function:Jl.defineModifier(),standard:Jl.defineModifier(),local:Jl.defineModifier(),special:Jl.defineModifier()};oh([{tag:$h.link,class:"tok-link"},{tag:$h.heading,class:"tok-heading"},{tag:$h.emphasis,class:"tok-emphasis"},{tag:$h.strong,class:"tok-strong"},{tag:$h.keyword,class:"tok-keyword"},{tag:$h.atom,class:"tok-atom"},{tag:$h.bool,class:"tok-bool"},{tag:$h.url,class:"tok-url"},{tag:$h.labelName,class:"tok-labelName"},{tag:$h.inserted,class:"tok-inserted"},{tag:$h.deleted,class:"tok-deleted"},{tag:$h.literal,class:"tok-literal"},{tag:$h.string,class:"tok-string"},{tag:$h.number,class:"tok-number"},{tag:[$h.regexp,$h.escape,$h.special($h.string)],class:"tok-string2"},{tag:$h.variableName,class:"tok-variableName"},{tag:$h.local($h.variableName),class:"tok-variableName tok-local"},{tag:$h.definition($h.variableName),class:"tok-variableName tok-definition"},{tag:$h.special($h.variableName),class:"tok-variableName2"},{tag:$h.definition($h.propertyName),class:"tok-propertyName tok-definition"},{tag:$h.typeName,class:"tok-typeName"},{tag:$h.namespace,class:"tok-namespace"},{tag:$h.className,class:"tok-className"},{tag:$h.macroName,class:"tok-macroName"},{tag:$h.propertyName,class:"tok-propertyName"},{tag:$h.operator,class:"tok-operator"},{tag:$h.comment,class:"tok-comment"},{tag:$h.meta,class:"tok-meta"},{tag:$h.invalid,class:"tok-invalid"},{tag:$h.punctuation,class:"tok-punctuation"}]);const Ph=1,Ch=2,Xh=3,Th=4,Zh=5,Ah=35,Rh=36,Vh=37,Mh=11,Yh=13;function _h(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function Wh(e){return 9==e||10==e||13==e||32==e}let Eh=null,zh=null,Uh=0;function qh(e,t){let i=e.pos+t;if(zh==e&&Uh==i)return Eh;for(;Wh(e.peek(t));)t++;let n="";for(;;){let i=e.peek(t);if(!_h(i))break;n+=String.fromCharCode(i),t++}return zh=e,Uh=i,Eh=n||null}function Dh(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;t<e.length;t++)this.hash+=(this.hash<<4)+e.charCodeAt(t)+(e.charCodeAt(t)<<8)}const Ih=new Bl({start:null,shift:(e,t,i,n)=>t==Ph?new Dh(qh(n,1)||"",e):e,reduce:(e,t)=>t==Mh&&e?e.parent:e,reuse(e,t,i,n){let s=t.type.id;return s==Ph||s==Yh?new Dh(qh(n,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),jh=new Zl((e,t)=>{if(60==e.next)if(e.advance(),47==e.next){e.advance();let i=qh(e,0);if(!i)return e.acceptToken(Zh);if(t.context&&i==t.context.name)return e.acceptToken(Ch);for(let n=t.context;n;n=n.parent)if(n.name==i)return e.acceptToken(Xh,-2);e.acceptToken(Th)}else if(33!=e.next&&63!=e.next)return e.acceptToken(Ph)},{contextual:!0});function Bh(e,t){return new Zl(i=>{for(let n=0,s=0;;s++){if(i.next<0){s&&i.acceptToken(e);break}if(i.next==t.charCodeAt(n)){if(n++,n==t.length){s>=t.length&&i.acceptToken(e,1-t.length);break}}else n=i.next==t.charCodeAt(0)?1:0;i.advance()}})}const Lh=Bh(Ah,"--\x3e"),Nh=Bh(Rh,"?>"),Gh=Bh(Vh,"]]>"),Fh=nh({Text:$h.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":$h.angleBracket,TagName:$h.tagName,"MismatchedCloseTag/Tagname":[$h.tagName,$h.invalid],AttributeName:$h.attributeName,AttributeValue:$h.attributeValue,Is:$h.definitionOperator,"EntityReference CharacterReference":$h.character,Comment:$h.blockComment,ProcessingInst:$h.processingInstruction,DoctypeDecl:$h.documentMeta,Cdata:$h.special($h.string)}),Hh=Ll.deserialize({version:14,states:",SOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DS'#DSOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C{'#C{O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C|'#C|O$dOrO,59^OOOP,59^,59^OOOS'#C}'#C}O$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6y-E6yOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6z-E6zOOOP1G.x1G.xOOOS-E6{-E6{OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'jO!bO,59eOOOO-E6w-E6wO'xOpO1G.uO'xOpO1G.uOOOP1G.u1G.uO(QOpO7+$fOOOP7+$f7+$fO(YO!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(eO#tO'#CnOOOO1G.q1G.qO(sOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO({O#tO,59YOOOO,59Y,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.t",stateData:")Z~OPQOSVOTWOVWOWWOXWOiXOxPO}TO!PUO~OuZOw]O~O^`Oy^O~OPQOQcOSVOTWOVWOWWOXWOxPO}TO!PUO~ORdO~P!SOseO|gO~OthO!OjO~O^lOy^O~OuZOwoO~O^qOy^O~O[vO`sOdwOy^O~ORyO~P!SO^{Oy^O~OseO|}O~OthO!O!PO~O^!QOy^O~O[!SOy^O~O[!VO`sOd!WOy^O~Oa!YOy^O~Oy^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oy^O~O[!_Oy^O~O[!aOy^O~O[!cO`sOd!dOy^O~O[!cO`sOd!dO~Oa!eOy^O~Oy^Oz!gO~Oy^O[ma`madma~O[!jOy^O~O[!kOy^O~O[!lO`sOd!mO~OW!pOX!pOz!rO{!pO~O[!sOy^O~OW!pOX!pOz!vO{!pO~O",goto:"%[wPPPPPPPPPPxxP!OP!UPP!_!iP!oxxxP!u!{#R$Z$j$p$v$|PPPP%SXWORYbXRORYb_t`qru!T!U!bQ!h!YS!o!e!fR!t!nQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!i!nQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!i!]R!n!eQu`S!UqrU![u!U!bR!b!TQ!q!gR!u!qQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:47,context:Ih,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"]],propSources:[Fh],skippedNodes:[0],repeatNodeCount:8,tokenData:"IX~R!XOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs'ssv$nvw(Zw}$n}!O*l!O!P$n!P!Q,{!Q![$n![!].e!]!^$n!^!_1v!_!`Cz!`!aDm!a!bE`!b!c$n!c!}.e!}#P$n#P#QFx#Q#R$n#R#S.e#S#T$n#T#o.e#o%W$n%W%o.e%o%p$n%p&a.e&a&b$n&b1p.e1p4U$n4U4d.e4d4e$n4e$IS.e$IS$I`$n$I`$Ib.e$Ib$Kh$n$Kh%#t.e%#t&/x$n&/x&Et.e&Et&FV$n&FV;'S.e;'S;:j1p;:j;=`&e<%l?&r$n?&r?Ah.e?Ah?BY$n?BY?Mn.e?MnO$nX$uWVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nP%dTVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_P%vP;=`<%l%_W&OT{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yW&bP;=`<%l%yX&hP;=`<%l$n_&t_VP{WyUOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ'zTzYVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_~(^VOp(sqs(sst)ht!](s!^;'S(s;'S;=`)b<%lO(s~(vVOp(sqs(st!](s!]!^)]!^;'S(s;'S;=`)b<%lO(s~)bOW~~)eP;=`<%l(s~)kTOp)zq!])z!^;'S)z;'S;=`*f<%lO)z~)}UOp)zq!])z!]!^*a!^;'S)z;'S;=`*f<%lO)z~*fOX~~*iP;=`<%l)zZ*sYVP{WOr$nrs%_sv$nw}$n}!O+c!O!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ+jYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a,Y!a;'S$n;'S;=`&e<%lO$nZ,cW|QVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n]-SYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a-r!a;'S$n;'S;=`&e<%lO$n]-{WdSVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_.p!O`S^QVP{WOr$nrs%_sv$nw}$n}!O.e!O!P.e!P!Q$n!Q![.e![!].e!]!^$n!^!_%y!_!c$n!c!}.e!}#R$n#R#S.e#S#T$n#T#o.e#o$}$n$}%O.e%O%W$n%W%o.e%o%p$n%p&a.e&a&b$n&b1p.e1p4U.e4U4d.e4d4e$n4e$IS.e$IS$I`$n$I`$Ib.e$Ib$Je$n$Je$Jg.e$Jg$Kh$n$Kh%#t.e%#t&/x$n&/x&Et.e&Et&FV$n&FV;'S.e;'S;:j1p;:j;=`&e<%l?&r$n?&r?Ah.e?Ah?BY$n?BY?Mn.e?MnO$n_1sP;=`<%l.eX1{W{WOq%yqr2esv%yw!a%y!a!bCd!b;'S%y;'S;=`&_<%lO%yX2j]{WOr%ysv%yw}%y}!O3c!O!f%y!f!g4e!g!}%y!}#O9t#O#W%y#W#X@Q#X;'S%y;'S;=`&_<%lO%yX3hV{WOr%ysv%yw}%y}!O3}!O;'S%y;'S;=`&_<%lO%yX4UT}P{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX4jV{WOr%ysv%yw!q%y!q!r5P!r;'S%y;'S;=`&_<%lO%yX5UV{WOr%ysv%yw!e%y!e!f5k!f;'S%y;'S;=`&_<%lO%yX5pV{WOr%ysv%yw!v%y!v!w6V!w;'S%y;'S;=`&_<%lO%yX6[V{WOr%ysv%yw!{%y!{!|6q!|;'S%y;'S;=`&_<%lO%yX6vV{WOr%ysv%yw!r%y!r!s7]!s;'S%y;'S;=`&_<%lO%yX7bV{WOr%ysv%yw!g%y!g!h7w!h;'S%y;'S;=`&_<%lO%yX7|X{WOr7wrs8isv7wvw8iw!`7w!`!a9W!a;'S7w;'S;=`9n<%lO7wP8lTO!`8i!`!a8{!a;'S8i;'S;=`9Q<%lO8iP9QOiPP9TP;=`<%l8iX9_TiP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX9qP;=`<%l7wX9yX{WOr%ysv%yw!e%y!e!f:f!f#V%y#V#W=t#W;'S%y;'S;=`&_<%lO%yX:kV{WOr%ysv%yw!f%y!f!g;Q!g;'S%y;'S;=`&_<%lO%yX;VV{WOr%ysv%yw!c%y!c!d;l!d;'S%y;'S;=`&_<%lO%yX;qV{WOr%ysv%yw!v%y!v!w<W!w;'S%y;'S;=`&_<%lO%yX<]V{WOr%ysv%yw!c%y!c!d<r!d;'S%y;'S;=`&_<%lO%yX<wV{WOr%ysv%yw!}%y!}#O=^#O;'S%y;'S;=`&_<%lO%yX=eT{WxPOr%ysv%yw;'S%y;'S;=`&_<%lO%yX=yV{WOr%ysv%yw#W%y#W#X>`#X;'S%y;'S;=`&_<%lO%yX>eV{WOr%ysv%yw#T%y#T#U>z#U;'S%y;'S;=`&_<%lO%yX?PV{WOr%ysv%yw#h%y#h#i?f#i;'S%y;'S;=`&_<%lO%yX?kV{WOr%ysv%yw#T%y#T#U<r#U;'S%y;'S;=`&_<%lO%yX@VV{WOr%ysv%yw#c%y#c#d@l#d;'S%y;'S;=`&_<%lO%yX@qV{WOr%ysv%yw#V%y#V#WAW#W;'S%y;'S;=`&_<%lO%yXA]V{WOr%ysv%yw#h%y#h#iAr#i;'S%y;'S;=`&_<%lO%yXAwV{WOr%ysv%yw#m%y#m#nB^#n;'S%y;'S;=`&_<%lO%yXBcV{WOr%ysv%yw#d%y#d#eBx#e;'S%y;'S;=`&_<%lO%yXB}V{WOr%ysv%yw#X%y#X#Y7w#Y;'S%y;'S;=`&_<%lO%yXCkT!PP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yZDTWaQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_DvW[UVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZEgYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aFV!a;'S$n;'S;=`&e<%lO$nZF`W!OQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZGPYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_#P$n#P#QGo#Q;'S$n;'S;=`&e<%lO$nZGvYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aHf!a;'S$n;'S;=`&e<%lO$nZHoWwQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n",tokenizers:[jh,Lh,Nh,Gh,0,1,2,3],topRules:{Document:[0,6]},tokenPrec:0});var Jh;const Kh=new Aa;function ec(e){return Y.define({combine:e?t=>t.concat(e):void 0})}const tc=new Aa;class ic{constructor(e,t,i=[],n=""){this.data=e,this.name=n,Qe.prototype.hasOwnProperty("tree")||Object.defineProperty(Qe.prototype,"tree",{get(){return rc(this)}}),this.parser=t,this.extension=[pc.of(this),Qe.languageData.of((e,t,i)=>{let n=nc(e,t,i),s=n.type.prop(Kh);if(!s)return[];let r=e.facet(s),o=n.type.prop(tc);if(o){let s=n.resolve(t-n.from,i);for(let t of o)if(t.test(s,e)){let i=e.facet(t.facet);return"replace"==t.type?i:i.concat(r)}}return r})].concat(i)}isActiveAt(e,t,i=-1){return nc(e,t,i).type.prop(Kh)==this.data}findRegions(e){let t=e.facet(pc);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],n=(e,t)=>{if(e.prop(Kh)==this.data)return void i.push({from:t,to:t+e.length});let s=e.prop(Aa.mounted);if(s){if(s.tree.prop(Kh)==this.data){if(s.overlay)for(let e of s.overlay)i.push({from:e.from+t,to:e.to+t});else i.push({from:t,to:t+e.length});return}if(s.overlay){let e=i.length;if(n(s.tree,s.overlay[0].from+t),i.length>e)return}}for(let i=0;i<e.children.length;i++){let s=e.children[i];s instanceof za&&n(s,e.positions[i]+t)}};return n(rc(e),0),i}get allowsNesting(){return!0}}function nc(e,t,i){let n=e.facet(pc),s=rc(e).topNode;if(!n||n.allowsNesting)for(let e=s;e;e=e.enter(t,i,Ea.ExcludeBuffers))e.type.isTop&&(s=e);return s}ic.setState=ce.define();class sc extends ic{constructor(e,t,i){super(e,t,[],i),this.parser=t}static define(e){let t=ec(e.languageData);return new sc(t,e.parser.configure({props:[Kh.add(e=>e.isTop?t:void 0)]}),e.name)}configure(e,t){return new sc(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function rc(e){let t=e.field(ic.state,!1);return t?t.tree:za.empty}class oc{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e<i||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let ac=null;class lc{constructor(e,t,i=[],n,s,r,o,a){this.parser=e,this.state=t,this.fragments=i,this.tree=n,this.treeLen=s,this.viewport=r,this.skipped=o,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new lc(e,t,[],za.empty,0,i,[],null)}startParse(){return this.parser.startParse(new oc(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=za.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let n=this.parse.advance();if(n){if(this.fragments=this.withoutTempSkipped(sl.addTree(n,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(i=this.parse.stoppedAt)&&void 0!==i?i:this.state.doc.length,this.tree=n,this.parse=null,!(this.treeLen<(null!=t?t:this.state.doc.length)))return!0;this.parse=this.startParse()}if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(sl.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=ac;ac=this;try{return e()}finally{ac=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=hc(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:n,treeLen:s,viewport:r,skipped:o}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,i,n,s)=>t.push({fromA:e,toA:i,fromB:n,toB:s})),i=sl.applyChanges(i,t),n=za.empty,s=0,r={from:e.mapPos(r.from,-1),to:e.mapPos(r.to,1)},this.skipped.length){o=[];for(let t of this.skipped){let i=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);i<n&&o.push({from:i,to:n})}}}return new lc(this.parser,t,i,n,s,r,o,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let t=0;t<this.skipped.length;t++){let{from:i,to:n}=this.skipped[t];i<e.to&&n>e.from&&(this.fragments=hc(this.fragments,i,n),this.skipped.splice(t--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends rl{createParse(t,i,n){let s=n[0].from,r=n[n.length-1].to;return{parsedPos:s,advance(){let t=ac;if(t){for(let e of n)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=r,new za(Ma.none,[],[],r-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return ac}}function hc(e,t,i){return sl.applyChanges(e,[{fromA:t,toA:i,fromB:t,toB:i}])}class cc{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new cc(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=lc.create(e.facet(pc).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new cc(i)}}ic.state=D.define({create:cc.init,update(e,t){for(let e of t.effects)if(e.is(ic.setState))return e.value;return t.startState.facet(pc)!=t.state.facet(pc)?cc.init(t.state):e.apply(t)}});let uc=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(uc=e=>{let t=-1,i=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(i):cancelIdleCallback(t)});const fc="undefined"!=typeof navigator&&(null===(Jh=navigator.scheduling)||void 0===Jh?void 0:Jh.isInputPending)?()=>navigator.scheduling.isInputPending():null,dc=qi.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(ic.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(ic.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=uc(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:n}}=this.view,s=i.field(ic.state);if(s.tree==s.context.tree&&s.context.isDone(n+1e5))return;let r=Date.now()+Math.min(this.chunkBudget,100,e&&!fc?Math.max(25,e.timeRemaining()-5):1e9),o=s.context.treeLen<n&&i.doc.length>n+1e3,a=s.context.work(()=>fc&&fc()||Date.now()>r,n+(o?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:ic.setState.of(new cc(s.context))})),this.chunkBudget>0&&(!a||o)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>Wi(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),pc=Y.define({combine:e=>e.length?e[0]:null,enables:e=>[ic.state,dc,xr.contentAttributes.compute([e],t=>{let i=t.facet(e);return i&&i.name?{"data-language":i.name}:{}})]});class Oc{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class mc{constructor(e,t,i,n,s,r){this.name=e,this.alias=t,this.extensions=i,this.filename=n,this.loadFunc=s,this.support=r,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:i}=e;if(!t){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new mc(e.name,(e.alias||[]).concat(e.name).map(e=>e.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let i of e)if(i.filename&&i.filename.test(t))return i;let i=/\.([^.]+)$/.exec(t);if(i)for(let t of e)if(t.extensions.indexOf(i[1])>-1)return t;return null}static matchLanguageName(e,t,i=!0){t=t.toLowerCase();for(let i of e)if(i.alias.some(e=>e==t))return i;if(i)for(let i of e)for(let e of i.alias){let n=t.indexOf(e);if(n>-1&&(e.length>2||!/\w/.test(t[n-1])&&!/\w/.test(t[n+e.length])))return i}return null}}const gc=Y.define(),Sc=Y.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function bc(e){let t=e.facet(Sc);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function xc(e,t){let i="",n=e.tabSize,s=e.facet(Sc)[0];if("\t"==s){for(;t>=n;)i+="\t",t-=n;s=" "}for(let e=0;e<t;e++)i+=s;return i}function wc(e,t){e instanceof Qe&&(e=new yc(e));for(let i of e.state.facet(gc)){let n=i(e,t);if(void 0!==n)return n}let i=rc(e.state);return i?kc(e,i,t):null}class yc{constructor(e,t={}){this.state=e,this.options=t,this.unit=bc(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:s}=this.options;return null!=n&&n>=i.from&&n<=i.to?s&&n==e?{text:"",from:e}:(t<0?n<e:n<=e)?{text:i.text.slice(n-i.from),from:n}:{text:i.text.slice(0,n-i.from),from:i.from}:i}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:i,from:n}=this.lineAt(e,t);return i.slice(e-n,Math.min(i.length,e+100-n))}column(e,t=1){let{text:i,from:n}=this.lineAt(e,t),s=this.countColumn(i,e-n),r=this.options.overrideIndentation?this.options.overrideIndentation(n):-1;return r>-1&&(s+=r-this.countColumn(i,i.search(/\S|$/))),s}countColumn(e,t=e.length){return Ie(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:n}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let e=s(n);if(e>-1)return e}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const vc=new Aa;function kc(e,t,i){return Pc(t.resolveInner(i).enterUnfinishedNodesBefore(i),i,e)}function Qc(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function $c(e){let t=e.type.prop(vc);if(t)return t;let i,n=e.firstChild;if(n&&(i=n.type.prop(Aa.closedBy))){let t=e.lastChild,n=t&&i.indexOf(t.name)>-1;return e=>Rc(e,!0,1,void 0,n&&!Qc(e)?t.from:void 0)}return null==e.parent?Cc:null}function Pc(e,t,i){for(;e;e=e.parent){let n=$c(e);if(n)return n(Xc.create(i,t,e))}return null}function Cc(){return 0}class Xc extends yc{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.node=i}static create(e,t,i){return new Xc(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(Tc(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){let e=this.node.parent;return e?Pc(e,this.pos,this.base):0}}function Tc(e,t){for(let i=t;i;i=i.parent)if(e==i)return!0;return!1}function Zc(e){let t=e.node,i=t.childAfter(t.from),n=t.lastChild;if(!i)return null;let s=e.options.simulateBreak,r=e.state.doc.lineAt(i.from),o=null==s||s<=r.from?r.to:Math.min(r.to,s);for(let e=i.to;;){let s=t.childAfter(e);if(!s||s==n)return null;if(!s.type.isSkipped)return s.from<o?i:null;e=s.to}}function Ac({closing:e,align:t=!0,units:i=1}){return n=>Rc(n,t,i,e)}function Rc(e,t,i,n,s){let r=e.textAfter,o=r.match(/^\s*/)[0].length,a=n&&r.slice(o,o+n.length)==n||s==e.pos+o,l=t?Zc(e):null;return l?a?e.column(l.from):e.column(l.to):e.baseIndent+(a?0:e.unit*i)}const Vc=e=>e.baseIndent;function Mc({except:e,units:t=1}={}){return i=>{let n=e&&e.test(i.textAfter);return i.baseIndent+(n?0:t*i.unit)}}const Yc=200;function _c(){return Qe.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let i=e.newDoc,{head:n}=e.newSelection.main,s=i.lineAt(n);if(n>s.from+Yc)return e;let r=i.sliceString(s.from,n);if(!t.some(e=>e.test(r)))return e;let{state:o}=e,a=-1,l=[];for(let{head:e}of o.selection.ranges){let t=o.doc.lineAt(e);if(t.from==a)continue;a=t.from;let i=wc(o,t.from);if(null==i)continue;let n=/^\s*/.exec(t.text)[0],s=xc(o,i);n!=s&&l.push({from:t.from,to:t.from+n.length,insert:s})}return l.length?[e,{changes:l,sequential:!0}]:e})}const Wc=Y.define(),Ec=new Aa;function zc(e){let t=e.firstChild,i=e.lastChild;return t&&t.to<i.from?{from:t.to,to:i.type.isError?e.to:i.from}:null}function Uc(e,t,i){let n=rc(e);if(n.length<i)return null;let s=null;for(let r=n.resolveInner(i,1);r;r=r.parent){if(r.to<=i||r.from>i)continue;if(s&&r.from<t)break;let o=r.type.prop(Ec);if(o&&(r.to<n.length-50||n.length==e.doc.length||!qc(r))){let n=o(r,e);n&&n.from<=i&&n.from>=t&&n.to>i&&(s=n)}}return s}function qc(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function Dc(e,t,i){for(let n of e.facet(Wc)){let s=n(e,t,i);if(s)return s}return Uc(e,t,i)}function Ic(e,t){let i=t.mapPos(e.from,1),n=t.mapPos(e.to,-1);return i>=n?void 0:{from:i,to:n}}const jc=ce.define({map:Ic}),Bc=ce.define({map:Ic});function Lc(e){let t=[];for(let{head:i}of e.state.selection.ranges)t.some(e=>e.from<=i&&e.to>=i)||t.push(e.lineBlockAt(i));return t}const Nc=D.define({create:()=>Oi.none,update(e,t){e=e.map(t.changes);for(let i of t.effects)i.is(jc)&&!Fc(e,i.value.from,i.value.to)?e=e.update({add:[nu.range(i.value.from,i.value.to)]}):i.is(Bc)&&(e=e.update({filter:(e,t)=>i.value.from!=e||i.value.to!=t,filterFrom:i.value.from,filterTo:i.value.to}));if(t.selection){let i=!1,{head:n}=t.selection.main;e.between(n,n,(e,t)=>{e<n&&t>n&&(i=!0)}),i&&(e=e.update({filterFrom:n,filterTo:n,filter:(e,t)=>t<=n||e>=n}))}return e},provide:e=>xr.decorations.from(e),toJSON(e,t){let i=[];return e.between(0,t.doc.length,(e,t)=>{i.push(e,t)}),i},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let i=0;i<e.length;){let n=e[i++],s=e[i++];if("number"!=typeof n||"number"!=typeof s)throw new RangeError("Invalid JSON for fold state");t.push(nu.range(n,s))}return Oi.set(t,!0)}});function Gc(e,t,i){var n;let s=null;return null===(n=e.field(Nc,!1))||void 0===n||n.between(t,i,(e,t)=>{(!s||s.from>e)&&(s={from:e,to:t})}),s}function Fc(e,t,i){let n=!1;return e.between(t,t,(e,s)=>{e==t&&s==i&&(n=!0)}),n}function Hc(e,t){return e.field(Nc,!1)?t:t.concat(ce.appendConfig.of(iu()))}function Jc(e,t,i=!0){let n=e.state.doc.lineAt(t.from).number,s=e.state.doc.lineAt(t.to).number;return xr.announce.of(`${e.state.phrase(i?"Folded lines":"Unfolded lines")} ${n} ${e.state.phrase("to")} ${s}.`)}const Kc=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of Lc(e)){let i=Dc(e.state,t.from,t.to);if(i)return e.dispatch({effects:Hc(e.state,[jc.of(i),Jc(e,i)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(Nc,!1))return!1;let t=[];for(let i of Lc(e)){let n=Gc(e.state,i.from,i.to);n&&t.push(Bc.of(n),Jc(e,n,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,i=[];for(let n=0;n<t.doc.length;){let s=e.lineBlockAt(n),r=Dc(t,s.from,s.to);r&&i.push(jc.of(r)),n=(r?e.lineBlockAt(r.to):s).to+1}return i.length&&e.dispatch({effects:Hc(e.state,i)}),!!i.length}},{key:"Ctrl-Alt-]",run:e=>{let t=e.state.field(Nc,!1);if(!t||!t.size)return!1;let i=[];return t.between(0,e.state.doc.length,(e,t)=>{i.push(Bc.of({from:e,to:t}))}),e.dispatch({effects:i}),!0}}],eu={placeholderDOM:null,placeholderText:"…"},tu=Y.define({combine:e=>$e(e,eu)});function iu(e){let t=[Nc,au];return e&&t.push(tu.of(e)),t}const nu=Oi.replace({widget:new class extends di{toDOM(e){let{state:t}=e,i=t.facet(tu),n=t=>{let i=e.lineBlockAt(e.posAtDOM(t.target)),n=Gc(e.state,i.from,i.to);n&&e.dispatch({effects:Bc.of(n)}),t.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(e,n);let s=document.createElement("span");return s.textContent=i.placeholderText,s.setAttribute("aria-label",t.phrase("folded code")),s.title=t.phrase("unfold"),s.className="cm-foldPlaceholder",s.onclick=n,s}}}),su={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class ru extends ra{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function ou(e={}){let t=Object.assign(Object.assign({},su),e),i=new ru(t,!0),n=new ru(t,!1),s=qi.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(pc)!=e.state.facet(pc)||e.startState.field(Nc,!1)!=e.state.field(Nc,!1)||rc(e.startState)!=rc(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new Re;for(let s of e.viewportLineBlocks){let r=Gc(e.state,s.from,s.to)?n:Dc(e.state,s.from,s.to)?i:null;r&&t.add(s.from,s.from,r)}return t.finish()}}),{domEventHandlers:r}=t;return[s,ha({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(s))||void 0===t?void 0:t.markers)||Ze.empty},initialSpacer:()=>new ru(t,!1),domEventHandlers:Object.assign(Object.assign({},r),{click:(e,t,i)=>{if(r.click&&r.click(e,t,i))return!0;let n=Gc(e.state,t.from,t.to);if(n)return e.dispatch({effects:Bc.of(n)}),!0;let s=Dc(e.state,t.from,t.to);return!!s&&(e.dispatch({effects:jc.of(s)}),!0)}})}),iu()]}const au=xr.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class lu{constructor(e,t){let i;function n(e){let t=Fe.newName();return(i||(i=Object.create(null)))["."+t]=e,t}this.specs=e;const s="string"==typeof t.all?t.all:t.all?n(t.all):void 0,r=t.scope;this.scope=r instanceof ic?e=>e.prop(Kh)==r.data:r?e=>e==r:void 0,this.style=oh(e.map(e=>({tag:e.tag,class:e.class||n(Object.assign({},e,{tag:null}))})),{all:s}).style,this.module=i?new Fe(i):null,this.themeType=t.themeType}static define(e,t){return new lu(e,t||{})}}const hu=Y.define(),cu=Y.define({combine:e=>e.length?[e[0]]:null});function uu(e){let t=e.facet(hu);return t.length?t:e.facet(cu)}function fu(e,t){let i,n=[pu];return e instanceof lu&&(e.module&&n.push(xr.styleModule.of(e.module)),i=e.themeType),(null==t?void 0:t.fallback)?n.push(cu.of(e)):i?n.push(hu.computeN([xr.darkTheme],t=>t.facet(xr.darkTheme)==("dark"==i)?[e]:[])):n.push(hu.of(e)),n}class du{constructor(e){this.markCache=Object.create(null),this.tree=rc(e.state),this.decorations=this.buildDeco(e,uu(e.state))}update(e){let t=rc(e.state),i=uu(e.state),n=i!=uu(e.startState);t.length<e.view.viewport.to&&!n&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||n)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i))}buildDeco(e,t){if(!t||!this.tree.length)return Oi.none;let i=new Re;for(let{from:n,to:s}of e.visibleRanges)lh(this.tree,t,(e,t,n)=>{i.add(e,t,this.markCache[n]||(this.markCache[n]=Oi.mark({class:n})))},n,s);return i.finish()}}const pu=B.high(qi.fromClass(du,{decorations:e=>e.decorations})),Ou=lu.define([{tag:$h.meta,color:"#404740"},{tag:$h.link,textDecoration:"underline"},{tag:$h.heading,textDecoration:"underline",fontWeight:"bold"},{tag:$h.emphasis,fontStyle:"italic"},{tag:$h.strong,fontWeight:"bold"},{tag:$h.strikethrough,textDecoration:"line-through"},{tag:$h.keyword,color:"#708"},{tag:[$h.atom,$h.bool,$h.url,$h.contentSeparator,$h.labelName],color:"#219"},{tag:[$h.literal,$h.inserted],color:"#164"},{tag:[$h.string,$h.deleted],color:"#a11"},{tag:[$h.regexp,$h.escape,$h.special($h.string)],color:"#e40"},{tag:$h.definition($h.variableName),color:"#00f"},{tag:$h.local($h.variableName),color:"#30a"},{tag:[$h.typeName,$h.namespace],color:"#085"},{tag:$h.className,color:"#167"},{tag:[$h.special($h.variableName),$h.macroName],color:"#256"},{tag:$h.definition($h.propertyName),color:"#00c"},{tag:$h.comment,color:"#940"},{tag:$h.invalid,color:"#f00"}]),mu=xr.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),gu=1e4,Su="()[]{}",bu=Y.define({combine:e=>$e(e,{afterCursor:!0,brackets:Su,maxScanDistance:gu,renderMatch:yu})}),xu=Oi.mark({class:"cm-matchingBracket"}),wu=Oi.mark({class:"cm-nonmatchingBracket"});function yu(e){let t=[],i=e.matched?xu:wu;return t.push(i.range(e.start.from,e.start.to)),e.end&&t.push(i.range(e.end.from,e.end.to)),t}const vu=[D.define({create:()=>Oi.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let i=[],n=t.state.facet(bu);for(let e of t.state.selection.ranges){if(!e.empty)continue;let s=Cu(t.state,e.head,-1,n)||e.head>0&&Cu(t.state,e.head-1,1,n)||n.afterCursor&&(Cu(t.state,e.head,1,n)||e.head<t.state.doc.length&&Cu(t.state,e.head+1,-1,n));s&&(i=i.concat(n.renderMatch(s,t.state)))}return Oi.set(i,!0)},provide:e=>xr.decorations.from(e)}),mu];function ku(e={}){return[bu.of(e),vu]}const Qu=new Aa;function $u(e,t,i){let n=e.prop(t<0?Aa.openedBy:Aa.closedBy);if(n)return n;if(1==e.name.length){let n=i.indexOf(e.name);if(n>-1&&n%2==(t<0?1:0))return[i[n+t]]}return null}function Pu(e){let t=e.type.prop(Qu);return t?t(e.node):e}function Cu(e,t,i,n={}){let s=n.maxScanDistance||gu,r=n.brackets||Su,o=rc(e),a=o.resolveInner(t,i);for(let n=a;n;n=n.parent){let s=$u(n.type,i,r);if(s&&n.from<n.to){let o=Pu(n);if(o&&(i>0?t>=o.from&&t<o.to:t>o.from&&t<=o.to))return Xu(e,t,i,n,o,s,r)}}return Tu(e,t,i,o,a.type,s,r)}function Xu(e,t,i,n,s,r,o){let a=n.parent,l={from:s.from,to:s.to},h=0,c=null==a?void 0:a.cursor();if(c&&(i<0?c.childBefore(n.from):c.childAfter(n.to)))do{if(i<0?c.to<=n.from:c.from>=n.to){if(0==h&&r.indexOf(c.type.name)>-1&&c.from<c.to){let e=Pu(c);return{start:l,end:e?{from:e.from,to:e.to}:void 0,matched:!0}}if($u(c.type,i,o))h++;else if($u(c.type,-i,o)){if(0==h){let e=Pu(c);return{start:l,end:e&&e.from<e.to?{from:e.from,to:e.to}:void 0,matched:!1}}h--}}}while(i<0?c.prevSibling():c.nextSibling());return{start:l,matched:!1}}function Tu(e,t,i,n,s,r,o){let a=i<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=o.indexOf(a);if(l<0||l%2==0!=i>0)return null;let h={from:i<0?t-1:t,to:i>0?t+1:t},c=e.doc.iterRange(t,i>0?e.doc.length:0),u=0;for(let e=0;!c.next().done&&e<=r;){let r=c.value;i<0&&(e+=r.length);let a=t+e*i;for(let e=i>0?0:r.length-1,t=i>0?r.length:-1;e!=t;e+=i){let t=o.indexOf(r[e]);if(!(t<0||n.resolveInner(a+e,1).type!=s))if(t%2==0==i>0)u++;else{if(1==u)return{start:h,end:{from:a+e,to:a+e+1},matched:t>>1==l>>1};u--}}i>0&&(e+=r.length)}return c.done?{start:h,matched:!1}:null}function Zu(e,t,i,n=0,s=0){null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);let r=s;for(let s=n;s<t;s++)9==e.charCodeAt(s)?r+=i-r%i:r++;return r}class Au{constructor(e,t,i,n){this.string=e,this.tabSize=t,this.indentUnit=i,this.overrideIndent=n,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return 0==this.pos}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(e){let t,i=this.string.charAt(this.pos);if(t="string"==typeof e?i==e:i&&(e instanceof RegExp?e.test(i):e(i)),t)return++this.pos,i}eatWhile(e){let t=this.pos;for(;this.eat(e););return this.pos>t}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=Zu(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return null!==(e=this.overrideIndent)&&void 0!==e?e:Zu(this.string,null,this.tabSize)}match(e,t,i){if("string"==typeof e){let n=e=>i?e.toLowerCase():e;return n(this.string.substr(this.pos,e.length))==n(e)?(!1!==t&&(this.pos+=e.length),!0):null}{let i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}function Ru(e){return{name:e.name||"",token:e.token,blankLine:e.blankLine||(()=>{}),startState:e.startState||(()=>!0),copyState:e.copyState||Vu,indent:e.indent||(()=>null),languageData:e.languageData||{},tokenTable:e.tokenTable||qu}}function Vu(e){if("object"!=typeof e)return e;let t={};for(let i in e){let n=e[i];t[i]=n instanceof Array?n.slice():n}return t}const Mu=new WeakMap;class Yu extends ic{constructor(e){let t,i=ec(e.languageData),n=Ru(e);super(i,new class extends rl{createParse(e,i,n){return new zu(t,e,i,n)}},[gc.of((e,t)=>this.getIndent(e,t))],e.name),this.topNode=Hu(i),t=this,this.streamParser=n,this.stateAfter=new Aa({perNode:!0}),this.tokenTable=e.tokenTable?new Lu(n.tokenTable):Nu}static define(e){return new Yu(e)}getIndent(e,t){let i=rc(e.state),n=i.resolve(t);for(;n&&n.type!=this.topNode;)n=n.parent;if(!n)return null;let s=void 0,{overrideIndentation:r}=e.options;r&&(s=Mu.get(e.state),null!=s&&s<t-1e4&&(s=void 0));let o,a,l=_u(this,i,0,n.from,null!=s?s:t);if(l?(a=l.state,o=l.pos+1):(a=this.streamParser.startState(e.unit),o=0),t-o>1e4)return null;for(;o<t;){let i=e.state.doc.lineAt(o),n=Math.min(t,i.to);if(i.length){let t=r?r(i.from):-1,s=new Au(i.text,e.state.tabSize,e.unit,t<0?void 0:t);for(;s.pos<n-i.from;)Uu(this.streamParser.token,s,a)}else this.streamParser.blankLine(a,e.unit);if(n==t)break;o=i.to+1}let h=e.lineAt(t);return r&&null==s&&Mu.set(e.state,h.from),this.streamParser.indent(a,/^\s*(.*)/.exec(h.text)[1],e)}get allowsNesting(){return!1}}function _u(e,t,i,n,s){let r=i>=n&&i+t.length<=s&&t.prop(e.stateAfter);if(r)return{state:e.streamParser.copyState(r),pos:i+t.length};for(let r=t.children.length-1;r>=0;r--){let o=t.children[r],a=i+t.positions[r],l=o instanceof za&&a<s&&_u(e,o,a,n,s);if(l)return l}return null}function Wu(e,t,i,n,s){if(s&&i<=0&&n>=t.length)return t;s||t.type!=e.topNode||(s=!0);for(let r=t.children.length-1;r>=0;r--){let o,a=t.positions[r],l=t.children[r];if(a<n&&l instanceof za){if(!(o=Wu(e,l,i-a,n-a,s)))break;return s?new za(t.type,t.children.slice(0,r).concat(o),t.positions.slice(0,r+1),a+o.length):o}}return null}function Eu(e,t,i,n){for(let n of t){let t,s=n.from+(n.openStart?25:0),r=n.to-(n.openEnd?25:0),o=s<=i&&r>i&&_u(e,n.tree,0-n.offset,i,r);if(o&&(t=Wu(e,n.tree,i+n.offset,o.pos+n.offset,!1)))return{state:o.state,tree:t}}return{state:e.streamParser.startState(n?bc(n):4),tree:za.empty}}class zu{constructor(e,t,i,n){this.lang=e,this.input=t,this.fragments=i,this.ranges=n,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=n[n.length-1].to;let s=lc.get(),r=n[0].from,{state:o,tree:a}=Eu(e,i,r,null==s?void 0:s.state);this.state=o,this.parsedPos=this.chunkStart=r+a.length;for(let e=0;e<a.children.length;e++)this.chunks.push(a.children[e]),this.chunkPos.push(a.positions[e]);s&&this.parsedPos<s.viewport.from-1e5&&(this.state=this.lang.streamParser.startState(bc(s.state)),s.skipUntilInView(this.parsedPos,s.viewport.from),this.parsedPos=s.viewport.from),this.moveRangeIndex()}advance(){let e=lc.get(),t=null==this.stoppedAt?this.to:Math.min(this.to,this.stoppedAt),i=Math.min(t,this.chunkStart+2048);for(e&&(i=Math.min(i,e.viewport.to));this.parsedPos<i;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)"\n"==t&&(t="");else{let e=t.indexOf("\n");e>-1&&(t=t.slice(0,e))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),i=e+t.length;for(let e=this.rangeIndex;;){let n=this.ranges[e].to;if(n>=i)break;if(t=t.slice(0,n-(i-t.length)),e++,e==this.ranges.length)break;let s=this.ranges[e].from,r=this.lineAfter(s);t+=r,i=s+r.length}return{line:t,end:i}}skipGapsTo(e,t,i){for(;;){let n=this.ranges[this.rangeIndex].to,s=e+t;if(i>0?n>s:n>=s)break;t+=this.ranges[++this.rangeIndex].from-n}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,i,n,s){if(this.ranges.length>1){t+=s=this.skipGapsTo(t,s,1);let e=this.chunk.length;i+=s=this.skipGapsTo(i,s,-1),n+=this.chunk.length-e}return this.chunk.push(e,t,i,n),s}parseLine(e){let{line:t,end:i}=this.nextLine(),n=0,{streamParser:s}=this.lang,r=new Au(t,e?e.state.tabSize:4,e?bc(e.state):2);if(r.eol())s.blankLine(this.state,r.indentUnit);else for(;!r.eol();){let e=Uu(s.token,r,this.state);if(e&&(n=this.emitToken(this.lang.tokenTable.resolve(e),this.parsedPos+r.start,this.parsedPos+r.pos,4,n)),r.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=za.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:Iu,topID:0,maxBufferLength:2048,reused:this.chunkReused});e=new za(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new za(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}}function Uu(e,t,i){t.start=t.pos;for(let n=0;n<10;n++){let n=e(t,i);if(t.pos>t.start)return n}throw new Error("Stream parser failed to advance stream.")}const qu=Object.create(null),Du=[Ma.none],Iu=new Ya(Du),ju=[],Bu=Object.create(null);for(let[e,t]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Bu[e]=Fu(qu,t);class Lu{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Bu)}resolve(e){return e?this.table[e]||(this.table[e]=Fu(this.extra,e)):0}}const Nu=new Lu(qu);function Gu(e,t){ju.indexOf(e)>-1||(ju.push(e),console.warn(t))}function Fu(e,t){let i=null;for(let n of t.split(".")){let t=e[n]||$h[n];t?"function"==typeof t?i?i=t(i):Gu(n,`Modifier ${n} used at start of tag`):i?Gu(n,`Tag ${n} used as modifier`):i=t:Gu(n,"Unknown highlighting tag "+n)}if(!i)return 0;let n=t.replace(/ /g,"_"),s=Ma.define({id:Du.length,name:n,props:[nh({[n]:i})]});return Du.push(s),s.id}function Hu(e){let t=Ma.define({id:Du.length,name:"Document",props:[Kh.add(()=>e)]});return Du.push(t),t}function Ju(e,t){let i=t&&t.getChild("TagName");return i?e.sliceString(i.from,i.to):""}function Ku(e,t){let i=t&&t.firstChild;return i&&"OpenTag"==i.name?Ju(e,i):""}function ef(e,t,i){let n=t&&t.getChildren("Attribute").find(e=>e.from<=i&&e.to>=i),s=n&&n.getChild("AttributeName");return s?e.sliceString(s.from,s.to):""}function tf(e){for(let t=e&&e.parent;t;t=t.parent)if("Element"==t.name)return t;return null}function nf(e,t){var i;let n=rc(e).resolveInner(t,-1),s=null;for(let e=n;!s&&e.parent;e=e.parent)"OpenTag"!=e.name&&"CloseTag"!=e.name&&"SelfClosingTag"!=e.name&&"MismatchedCloseTag"!=e.name||(s=e);if(s&&(s.to>t||s.lastChild.type.isError)){let e=s.parent;if("TagName"==n.name)return"CloseTag"==s.name||"MismatchedCloseTag"==s.name?{type:"closeTag",from:n.from,context:e}:{type:"openTag",from:n.from,context:tf(e)};if("AttributeName"==n.name)return{type:"attrName",from:n.from,context:s};if("AttributeValue"==n.name)return{type:"attrValue",from:n.from,context:s};let i=n==s||"Attribute"==n.name?n.childBefore(t):n;return"StartTag"==(null==i?void 0:i.name)?{type:"openTag",from:t,context:tf(e)}:"StartCloseTag"==(null==i?void 0:i.name)&&i.to<=t?{type:"closeTag",from:t,context:e}:"Is"==(null==i?void 0:i.name)?{type:"attrValue",from:t,context:s}:i?{type:"attrName",from:t,context:s}:null}if("StartCloseTag"==n.name)return{type:"closeTag",from:t,context:n.parent};for(;n.parent&&n.to==t&&!(null===(i=n.lastChild)||void 0===i?void 0:i.type.isError);)n=n.parent;return"Element"==n.name||"Text"==n.name||"Document"==n.name?{type:"tag",from:t,context:"Element"==n.name?n:tf(n)}:null}class sf{constructor(e,t,i){this.attrs=t,this.attrValues=i,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(e=>({label:e,type:"text"})):[]}}const rf=/^[:\-\.\w\u00b7-\uffff]*$/;function of(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function af(e){return"string"==typeof e?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function lf(e,t){let i=[],n=[],s=Object.create(null);for(let e of t){let t=of(e);i.push(t),e.global&&n.push(t),e.values&&(s[e.name]=e.values.map(af))}let r=[],o=[],a=Object.create(null);for(let t of e){let e=n,l=s;t.attributes&&(e=e.concat(t.attributes.map(e=>"string"==typeof e?i.find(t=>t.label==e)||{label:e,type:"property"}:(e.values&&(l==s&&(l=Object.create(l)),l[e.name]=e.values.map(af)),of(e)))));let h=new sf(t,e,l);a[h.name]=h,r.push(h),t.top&&o.push(h)}o.length||(o=r);for(let t=0;t<r.length;t++){let i=e[t],n=r[t];if(i.children)for(let e of i.children)a[e]&&n.children.push(a[e]);else n.children=r}return e=>{var t;let{doc:i}=e.state,l=nf(e.state,e.pos);if(!l||"tag"==l.type&&!e.explicit)return null;let{type:h,from:c,context:u}=l;if("openTag"==h){let e=o,t=Ku(i,u);if(t){let i=a[t];e=(null==i?void 0:i.children)||r}return{from:c,options:e.map(e=>e.completion),validFor:rf}}if("closeTag"==h){let n=Ku(i,u);return n?{from:c,to:e.pos+(">"==i.sliceString(e.pos,e.pos+1)?1:0),options:[(null===(t=a[n])||void 0===t?void 0:t.closeNameCompletion)||{label:n+">",type:"type"}],validFor:rf}:null}if("attrName"==h){let e=a[Ju(i,u)];return{from:c,options:(null==e?void 0:e.attrs)||n,validFor:rf}}if("attrValue"==h){let t=ef(i,u,c);if(!t)return null;let n=a[Ju(i,u)],r=((null==n?void 0:n.attrValues)||s)[t];return r&&r.length?{from:c,to:e.pos+('"'==i.sliceString(e.pos,e.pos+1)?1:0),options:r,validFor:/^"[^"]*"?$/}:null}if("tag"==h){let t=Ku(i,u),n=a[t],s=[],l=u&&u.lastChild;!t||l&&"CloseTag"==l.name&&Ju(i,l)==t||s.push(n?n.closeCompletion:{label:"</"+t+">",type:"type",boost:2});let h=s.concat(((null==n?void 0:n.children)||(u?r:o)).map(e=>e.openCompletion));if(u&&(null==n?void 0:n.text.length)){let t=u.firstChild;t.to>e.pos-20&&!/\S/.test(e.state.sliceDoc(t.to,e.pos))&&(h=h.concat(n.text))}return{from:c,options:h,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const hf=sc.define({name:"xml",parser:Hh.configure({props:[vc.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit}),Ec.add({Element(e){let t=e.firstChild,i=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==i.name?i.from:e.to}:null}}),Qu.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function cf(e={}){return new Oc(hf,hf.data.of({autocomplete:lf(e.elements||[],e.attributes||[])}))}const uf=e=>{let{state:t}=e,i=t.doc.lineAt(t.selection.main.from),n=mf(e.state,i.from);return n.line?df(e):!!n.block&&Of(e)};function ff(e,t){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let s=e(t,i);return!!s&&(n(i.update(s)),!0)}}const df=ff(wf,0),pf=ff(xf,0),Of=ff((e,t)=>xf(e,t,bf(t)),0);function mf(e,t){let i=e.languageDataAt("commentTokens",t);return i.length?i[0]:{}}const gf=50;function Sf(e,{open:t,close:i},n,s){let r,o,a=e.sliceDoc(n-gf,n),l=e.sliceDoc(s,s+gf),h=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(l)[0].length,u=a.length-h;if(a.slice(u-t.length,u)==t&&l.slice(c,c+i.length)==i)return{open:{pos:n-h,margin:h&&1},close:{pos:s+c,margin:c&&1}};s-n<=2*gf?r=o=e.sliceDoc(n,s):(r=e.sliceDoc(n,n+gf),o=e.sliceDoc(s-gf,s));let f=/^\s*/.exec(r)[0].length,d=/\s*$/.exec(o)[0].length,p=o.length-d-i.length;return r.slice(f,f+t.length)==t&&o.slice(p,p+i.length)==i?{open:{pos:n+f+t.length,margin:/\s/.test(r.charAt(f+t.length))?1:0},close:{pos:s-d-i.length,margin:/\s/.test(o.charAt(p-1))?1:0}}:null}function bf(e){let t=[];for(let i of e.selection.ranges){let n=e.doc.lineAt(i.from),s=i.to<=n.to?n:e.doc.lineAt(i.to),r=t.length-1;r>=0&&t[r].to>n.from?t[r].to=s.to:t.push({from:n.from+/^\s*/.exec(n.text)[0].length,to:s.to})}return t}function xf(e,t,i=t.selection.ranges){let n=i.map(e=>mf(t,e.from).block);if(!n.every(e=>e))return null;let s=i.map((e,i)=>Sf(t,n[i],e.from,e.to));if(2!=e&&!s.every(e=>e))return{changes:t.changes(i.map((e,t)=>s[t]?[]:[{from:e.from,insert:n[t].open+" "},{from:e.to,insert:" "+n[t].close}]))};if(1!=e&&s.some(e=>e)){let e=[];for(let t,i=0;i<s.length;i++)if(t=s[i]){let s=n[i],{open:r,close:o}=t;e.push({from:r.pos-s.open.length,to:r.pos+r.margin},{from:o.pos-o.margin,to:o.pos+s.close.length})}return{changes:e}}return null}function wf(e,t,i=t.selection.ranges){let n=[],s=-1;for(let{from:e,to:r}of i){let i=n.length,o=1e9,a=mf(t,e).line;if(a){for(let i=e;i<=r;){let l=t.doc.lineAt(i);if(l.from>s&&(e==r||r>l.from)){s=l.from;let e=/^\s*/.exec(l.text)[0].length,t=e==l.length,i=l.text.slice(e,e+a.length)==a?e:-1;e<l.text.length&&e<o&&(o=e),n.push({line:l,comment:i,token:a,indent:e,empty:t,single:!1})}i=l.to+1}if(o<1e9)for(let e=i;e<n.length;e++)n[e].indent<n[e].line.text.length&&(n[e].indent=o);n.length==i+1&&(n[i].single=!0)}}if(2!=e&&n.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:i,indent:s,empty:r,single:o}of n)!o&&r||e.push({from:t.from+s,insert:i+" "});let i=t.changes(e);return{changes:i,selection:t.selection.map(i,1)}}if(1!=e&&n.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:i,token:s}of n)if(i>=0){let n=t.from+i,r=n+s.length;" "==t.text[r-t.from]&&r++,e.push({from:n,to:r})}return{changes:e}}return null}const yf=ae.define(),vf=ae.define(),kf=Y.define(),Qf=Y.define({combine:e=>$e(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,n)=>e(i,n)||t(i,n)})});function $f(e){let t=0;return e.iterChangedRanges((e,i)=>t=i),t}const Pf=D.define({create:()=>Bf.empty,update(e,t){let i=t.state.facet(Qf),n=t.annotation(yf);if(n){let s=t.docChanged?R.single($f(t.changes)):void 0,r=Vf.fromTransaction(t,s),o=n.side,a=0==o?e.undone:e.done;return a=r?Mf(a,a.length,i.minDepth,r):Uf(a,t.startState.selection),new Bf(0==o?n.rest:a,0==o?a:n.rest)}let s=t.annotation(vf);if("full"!=s&&"before"!=s||(e=e.isolate()),!1===t.annotation(ue.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let r=Vf.fromTransaction(t),o=t.annotation(ue.time),a=t.annotation(ue.userEvent);return r?e=e.addChanges(r,o,a,i,t):t.selection&&(e=e.addSelection(t.startState.selection,o,a,i.newGroupDelay)),"full"!=s&&"after"!=s||(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new Bf(e.done.map(Vf.fromJSON),e.undone.map(Vf.fromJSON))});function Cf(e={}){return[Pf,Qf.of(e),xr.domEventHandlers({beforeinput(e,t){let i="historyUndo"==e.inputType?Tf:"historyRedo"==e.inputType?Zf:null;return!!i&&(e.preventDefault(),i(t))}})]}function Xf(e,t){return function({state:i,dispatch:n}){if(!t&&i.readOnly)return!1;let s=i.field(Pf,!1);if(!s)return!1;let r=s.pop(e,i,t);return!!r&&(n(r),!0)}}const Tf=Xf(0,!1),Zf=Xf(1,!1),Af=Xf(0,!0),Rf=Xf(1,!0);class Vf{constructor(e,t,i,n,s){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=n,this.selectionsAfter=s}setSelAfter(e){return new Vf(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(i=this.startSelection)||void 0===i?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new Vf(e.changes&&Q.fromJSON(e.changes),[],e.mapped&&k.fromJSON(e.mapped),e.startSelection&&R.fromJSON(e.startSelection),e.selectionsAfter.map(R.fromJSON))}static fromTransaction(e,t){let i=Ef;for(let t of e.startState.facet(kf)){let n=t(e);n.length&&(i=i.concat(n))}return!i.length&&e.changes.empty?null:new Vf(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,Ef)}static selection(e){return new Vf(void 0,Ef,void 0,void 0,e)}}function Mf(e,t,i,n){let s=t+1>i+20?t-i-1:0,r=e.slice(s,t);return r.push(n),r}function Yf(e,t){let i=[],n=!1;return e.iterChangedRanges((e,t)=>i.push(e,t)),t.iterChangedRanges((e,t,s,r)=>{for(let e=0;e<i.length;){let t=i[e++],o=i[e++];r>=t&&s<=o&&(n=!0)}}),n}function _f(e,t){return e.ranges.length==t.ranges.length&&0===e.ranges.filter((e,i)=>e.empty!=t.ranges[i].empty).length}function Wf(e,t){return e.length?t.length?e.concat(t):e:t}const Ef=[],zf=200;function Uf(e,t){if(e.length){let i=e[e.length-1],n=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-zf));return n.length&&n[n.length-1].eq(t)?e:(n.push(t),Mf(e,e.length-1,1e9,i.setSelAfter(n)))}return[Vf.selection([t])]}function qf(e){let t=e[e.length-1],i=e.slice();return i[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),i}function Df(e,t){if(!e.length)return e;let i=e.length,n=Ef;for(;i;){let s=If(e[i-1],t,n);if(s.changes&&!s.changes.empty||s.effects.length){let t=e.slice(0,i);return t[i-1]=s,t}t=s.mapped,i--,n=s.selectionsAfter}return n.length?[Vf.selection(n)]:Ef}function If(e,t,i){let n=Wf(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):Ef,i);if(!e.changes)return Vf.selection(n);let s=e.changes.map(t),r=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(r):r;return new Vf(s,ce.mapEffects(e.effects,t),o,e.startSelection.map(r),n)}const jf=/^(input\.type|delete)($|\.)/;class Bf{constructor(e,t,i=0,n){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=n}isolate(){return this.prevTime?new Bf(this.done,this.undone):this}addChanges(e,t,i,n,s){let r=this.done,o=r[r.length-1];return r=o&&o.changes&&!o.changes.empty&&e.changes&&(!i||jf.test(i))&&(!o.selectionsAfter.length&&t-this.prevTime<n.newGroupDelay&&n.joinToEvent(s,Yf(o.changes,e.changes))||"input.type.compose"==i)?Mf(r,r.length-1,n.minDepth,new Vf(e.changes.compose(o.changes),Wf(e.effects,o.effects),o.mapped,o.startSelection,Ef)):Mf(r,r.length,n.minDepth,e),new Bf(r,Ef,t,i)}addSelection(e,t,i,n){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:Ef;return s.length>0&&t-this.prevTime<n&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&_f(s[s.length-1],e)?this:new Bf(Uf(this.done,e),this.undone,t,i)}addMapping(e){return new Bf(Df(this.done,e),Df(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let n=0==e?this.done:this.undone;if(0==n.length)return null;let s=n[n.length-1];if(i&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:yf.of({side:e,rest:qf(n)}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let i=1==n.length?Ef:n.slice(0,n.length-1);return s.mapped&&(i=Df(i,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:yf.of({side:e,rest:i}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}Bf.empty=new Bf(Ef,Ef);const Lf=[{key:"Mod-z",run:Tf,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Zf,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Zf,preventDefault:!0},{key:"Mod-u",run:Af,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Rf,preventDefault:!0}];function Nf(e,t){return R.create(e.ranges.map(t),e.mainIndex)}function Gf(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Ff({state:e,dispatch:t},i){let n=Nf(e.selection,i);return!n.eq(e.selection)&&(t(Gf(e,n)),!0)}function Hf(e,t){return R.cursor(t?e.to:e.from)}function Jf(e,t){return Ff(e,i=>i.empty?e.moveByChar(i,t):Hf(i,t))}function Kf(e){return e.textDirectionAt(e.state.selection.main.head)==Ki.LTR}const ed=e=>Jf(e,!Kf(e)),td=e=>Jf(e,Kf(e));function id(e,t){return Ff(e,i=>i.empty?e.moveByGroup(i,t):Hf(i,t))}const nd=e=>id(e,!Kf(e)),sd=e=>id(e,Kf(e));function rd(e,t,i){if(t.type.prop(i))return!0;let n=t.to-t.from;return n&&(n>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function od(e,t,i){let n,s,r=rc(e).resolveInner(t.head),o=i?Aa.closedBy:Aa.openedBy;for(let n=t.head;;){let t=i?r.childAfter(n):r.childBefore(n);if(!t)break;rd(e,t,o)?r=t:n=i?t.to:t.from}return s=r.type.prop(o)&&(n=i?Cu(e,r.from,1):Cu(e,r.to,-1))&&n.matched?i?n.end.to:n.end.from:i?r.to:r.from,R.cursor(s,i?-1:1)}const ad=e=>Ff(e,t=>od(e.state,t,!Kf(e))),ld=e=>Ff(e,t=>od(e.state,t,Kf(e)));function hd(e,t){return Ff(e,i=>{if(!i.empty)return Hf(i,t);let n=e.moveVertically(i,t);return n.head!=i.head?n:e.moveToLineBoundary(i,t)})}const cd=e=>hd(e,!1),ud=e=>hd(e,!0);function fd(e){let t,i=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,s=0;if(i){for(let t of e.state.facet(xr.scrollMargins)){let i=t(e);(null==i?void 0:i.top)&&(n=Math.max(null==i?void 0:i.top,n)),(null==i?void 0:i.bottom)&&(s=Math.max(null==i?void 0:i.bottom,s))}t=e.scrollDOM.clientHeight-n-s}else t=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:s,selfScroll:i,height:Math.max(e.defaultLineHeight,t-5)}}function dd(e,t){let i,n=fd(e),{state:s}=e,r=Nf(s.selection,i=>i.empty?e.moveVertically(i,t,n.height):Hf(i,t));if(r.eq(s.selection))return!1;if(n.selfScroll){let t=e.coordsAtPos(s.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),a=o.top+n.marginTop,l=o.bottom-n.marginBottom;t&&t.top>a&&t.bottom<l&&(i=xr.scrollIntoView(r.main.head,{y:"start",yMargin:t.top-a}))}return e.dispatch(Gf(s,r),{effects:i}),!0}const pd=e=>dd(e,!1),Od=e=>dd(e,!0);function md(e,t,i){let n=e.lineBlockAt(t.head),s=e.moveToLineBoundary(t,i);if(s.head==t.head&&s.head!=(i?n.to:n.from)&&(s=e.moveToLineBoundary(t,i,!1)),!i&&s.head==n.from&&n.length){let i=/^\s*/.exec(e.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;i&&t.head!=n.from+i&&(s=R.cursor(n.from+i))}return s}const gd=e=>Ff(e,t=>md(e,t,!0)),Sd=e=>Ff(e,t=>md(e,t,!1)),bd=e=>Ff(e,t=>md(e,t,!Kf(e))),xd=e=>Ff(e,t=>md(e,t,Kf(e))),wd=e=>Ff(e,t=>R.cursor(e.lineBlockAt(t.head).from,1)),yd=e=>Ff(e,t=>R.cursor(e.lineBlockAt(t.head).to,-1));function vd(e,t,i){let n=!1,s=Nf(e.selection,t=>{let s=Cu(e,t.head,-1)||Cu(e,t.head,1)||t.head>0&&Cu(e,t.head-1,1)||t.head<e.doc.length&&Cu(e,t.head+1,-1);if(!s||!s.end)return t;n=!0;let r=s.start.from==t.head?s.end.to:s.end.from;return i?R.range(t.anchor,r):R.cursor(r)});return!!n&&(t(Gf(e,s)),!0)}const kd=({state:e,dispatch:t})=>vd(e,t,!1);function Qd(e,t){let i=Nf(e.state.selection,e=>{let i=t(e);return R.range(e.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return!i.eq(e.state.selection)&&(e.dispatch(Gf(e.state,i)),!0)}function $d(e,t){return Qd(e,i=>e.moveByChar(i,t))}const Pd=e=>$d(e,!Kf(e)),Cd=e=>$d(e,Kf(e));function Xd(e,t){return Qd(e,i=>e.moveByGroup(i,t))}const Td=e=>Xd(e,!Kf(e)),Zd=e=>Xd(e,Kf(e)),Ad=e=>Qd(e,t=>od(e.state,t,!Kf(e))),Rd=e=>Qd(e,t=>od(e.state,t,Kf(e)));function Vd(e,t){return Qd(e,i=>e.moveVertically(i,t))}const Md=e=>Vd(e,!1),Yd=e=>Vd(e,!0);function _d(e,t){return Qd(e,i=>e.moveVertically(i,t,fd(e).height))}const Wd=e=>_d(e,!1),Ed=e=>_d(e,!0),zd=e=>Qd(e,t=>md(e,t,!0)),Ud=e=>Qd(e,t=>md(e,t,!1)),qd=e=>Qd(e,t=>md(e,t,!Kf(e))),Dd=e=>Qd(e,t=>md(e,t,Kf(e))),Id=e=>Qd(e,t=>R.cursor(e.lineBlockAt(t.head).from)),jd=e=>Qd(e,t=>R.cursor(e.lineBlockAt(t.head).to)),Bd=({state:e,dispatch:t})=>(t(Gf(e,{anchor:0})),!0),Ld=({state:e,dispatch:t})=>(t(Gf(e,{anchor:e.doc.length})),!0),Nd=({state:e,dispatch:t})=>(t(Gf(e,{anchor:e.selection.main.anchor,head:0})),!0),Gd=({state:e,dispatch:t})=>(t(Gf(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Fd=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),Hd=({state:e,dispatch:t})=>{let i=fp(e).map(({from:t,to:i})=>R.range(t,Math.min(i+1,e.doc.length)));return t(e.update({selection:R.create(i),userEvent:"select"})),!0},Jd=({state:e,dispatch:t})=>{let i=Nf(e.selection,t=>{var i;let n=rc(e).resolveInner(t.head,1);for(;!(n.from<t.from&&n.to>=t.to||n.to>t.to&&n.from<=t.from)&&(null===(i=n.parent)||void 0===i?void 0:i.parent);)n=n.parent;return R.range(n.to,n.from)});return t(Gf(e,i)),!0},Kd=({state:e,dispatch:t})=>{let i=e.selection,n=null;return i.ranges.length>1?n=R.create([i.main]):i.main.empty||(n=R.create([R.cursor(i.main.head)])),!!n&&(t(Gf(e,n)),!0)};function ep(e,t){if(e.state.readOnly)return!1;let i="delete.selection",{state:n}=e,s=n.changeByRange(n=>{let{from:s,to:r}=n;if(s==r){let n=t(s);n<s?(i="delete.backward",n=tp(e,n,!1)):n>s&&(i="delete.forward",n=tp(e,n,!0)),s=Math.min(s,n),r=Math.max(r,n)}else s=tp(e,s,!1),r=tp(e,r,!0);return s==r?{range:n}:{changes:{from:s,to:r},range:R.cursor(s)}});return!s.changes.empty&&(e.dispatch(n.update(s,{scrollIntoView:!0,userEvent:i,effects:"delete.selection"==i?xr.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function tp(e,t,i){if(e instanceof xr)for(let n of e.state.facet(xr.atomicRanges).map(t=>t(e)))n.between(t,t,(e,n)=>{e<t&&n>t&&(t=i?n:e)});return t}const ip=(e,t)=>ep(e,i=>{let n,s,{state:r}=e,o=r.doc.lineAt(i);if(!t&&i>o.from&&i<o.from+200&&!/[^ \t]/.test(n=o.text.slice(0,i-o.from))){if("\t"==n[n.length-1])return i-1;let e=Ie(n,r.tabSize)%bc(r)||bc(r);for(let t=0;t<e&&" "==n[n.length-1-t];t++)i--;s=i}else s=p(o.text,i-o.from,t,t)+o.from,s==i&&o.number!=(t?r.doc.lines:1)&&(s+=t?1:-1);return s}),np=e=>ip(e,!1),sp=e=>ip(e,!0),rp=(e,t)=>ep(e,i=>{let n=i,{state:s}=e,r=s.doc.lineAt(n),o=s.charCategorizer(n);for(let e=null;;){if(n==(t?r.to:r.from)){n==i&&r.number!=(t?s.doc.lines:1)&&(n+=t?1:-1);break}let a=p(r.text,n-r.from,t)+r.from,l=r.text.slice(Math.min(n,a)-r.from,Math.max(n,a)-r.from),h=o(l);if(null!=e&&h!=e)break;" "==l&&n==i||(e=h),n=a}return n}),op=e=>rp(e,!1),ap=e=>rp(e,!0),lp=e=>ep(e,t=>{let i=e.lineBlockAt(t).to;return t<i?i:Math.min(e.state.doc.length,t+1)}),hp=e=>ep(e,t=>{let i=e.lineBlockAt(t).from;return t>i?i:Math.max(0,t-1)}),cp=({state:t,dispatch:i})=>{if(t.readOnly)return!1;let n=t.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e.of(["",""])},range:R.cursor(t.from)}));return i(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},up=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let i=t.from,n=e.doc.lineAt(i),s=i==n.from?i-1:p(n.text,i-n.from,!1)+n.from,r=i==n.to?i+1:p(n.text,i-n.from,!0)+n.from;return{changes:{from:s,to:r,insert:e.doc.slice(i,r).append(e.doc.slice(s,i))},range:R.cursor(r)}});return!i.changes.empty&&(t(e.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function fp(e){let t=[],i=-1;for(let n of e.selection.ranges){let s=e.doc.lineAt(n.from),r=e.doc.lineAt(n.to);if(n.empty||n.to!=r.from||(r=e.doc.lineAt(n.to-1)),i>=s.number){let e=t[t.length-1];e.to=r.to,e.ranges.push(n)}else t.push({from:s.from,to:r.to,ranges:[n]});i=r.number+1}return t}function dp(e,t,i){if(e.readOnly)return!1;let n=[],s=[];for(let t of fp(e)){if(i?t.to==e.doc.length:0==t.from)continue;let r=e.doc.lineAt(i?t.to+1:t.from-1),o=r.length+1;if(i){n.push({from:t.to,to:r.to},{from:t.from,insert:r.text+e.lineBreak});for(let i of t.ranges)s.push(R.range(Math.min(e.doc.length,i.anchor+o),Math.min(e.doc.length,i.head+o)))}else{n.push({from:r.from,to:t.from},{from:t.to,insert:e.lineBreak+r.text});for(let e of t.ranges)s.push(R.range(e.anchor-o,e.head-o))}}return!!n.length&&(t(e.update({changes:n,scrollIntoView:!0,selection:R.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0)}const pp=({state:e,dispatch:t})=>dp(e,t,!1),Op=({state:e,dispatch:t})=>dp(e,t,!0);function mp(e,t,i){if(e.readOnly)return!1;let n=[];for(let t of fp(e))i?n.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):n.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const gp=({state:e,dispatch:t})=>mp(e,t,!1),Sp=({state:e,dispatch:t})=>mp(e,t,!0),bp=e=>{if(e.state.readOnly)return!1;let{state:t}=e,i=t.changes(fp(t).map(({from:e,to:i})=>(e>0?e--:i<t.doc.length&&i++,{from:e,to:i}))),n=Nf(t.selection,t=>e.moveVertically(t,!0)).map(i);return e.dispatch({changes:i,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function xp(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let i,n=rc(e).resolveInner(t),s=n.childBefore(t),r=n.childAfter(t);return s&&r&&s.to<=t&&r.from>=t&&(i=s.type.prop(Aa.closedBy))&&i.indexOf(r.name)>-1&&e.doc.lineAt(s.to).from==e.doc.lineAt(r.from).from?{from:s.to,to:r.from}:null}const wp=yp(!1);function yp(t){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let s=i.changeByRange(n=>{let{from:s,to:r}=n,o=i.doc.lineAt(s),a=!t&&s==r&&xp(i,s);t&&(s=r=(r<=o.to?o:i.doc.lineAt(r)).to);let l=new yc(i,{simulateBreak:s,simulateDoubleBreak:!!a}),h=wc(l,s);for(null==h&&(h=/^\s*/.exec(i.doc.lineAt(s).text)[0].length);r<o.to&&/\s/.test(o.text[r-o.from]);)r++;a?({from:s,to:r}=a):s>o.from&&s<o.from+100&&!/\S/.test(o.text.slice(0,s))&&(s=o.from);let c=["",xc(i,h)];return a&&c.push(xc(i,l.lineIndent(o.from,-1))),{changes:{from:s,to:r,insert:e.of(c)},range:R.cursor(s+1+c[1].length)}});return n(i.update(s,{scrollIntoView:!0,userEvent:"input"})),!0}}function vp(e,t){let i=-1;return e.changeByRange(n=>{let s=[];for(let r=n.from;r<=n.to;){let o=e.doc.lineAt(r);o.number>i&&(n.empty||n.to>o.from)&&(t(o,s,n),i=o.number),r=o.to+1}let r=e.changes(s);return{changes:s,range:R.range(r.mapPos(n.anchor,1),r.mapPos(n.head,1))}})}const kp=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(vp(e,(t,i)=>{i.push({from:t.from,insert:e.facet(Sc)})}),{userEvent:"input.indent"})),!0),Qp=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(vp(e,(t,i)=>{let n=/^\s*/.exec(t.text)[0];if(!n)return;let s=Ie(n,e.tabSize),r=0,o=xc(e,Math.max(0,s-bc(e)));for(;r<n.length&&r<o.length&&n.charCodeAt(r)==o.charCodeAt(r);)r++;i.push({from:t.from+r,to:t.from+n.length,insert:o.slice(r)})}),{userEvent:"delete.dedent"})),!0),$p=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:ad,shift:Ad},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:ld,shift:Rd},{key:"Alt-ArrowUp",run:pp},{key:"Shift-Alt-ArrowUp",run:gp},{key:"Alt-ArrowDown",run:Op},{key:"Shift-Alt-ArrowDown",run:Sp},{key:"Escape",run:Kd},{key:"Mod-Enter",run:yp(!0)},{key:"Alt-l",mac:"Ctrl-l",run:Hd},{key:"Mod-i",run:Jd,preventDefault:!0},{key:"Mod-[",run:Qp},{key:"Mod-]",run:kp},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Object.create(null),n=new yc(e,{overrideIndentation:e=>{let t=i[e];return null==t?-1:t}}),s=vp(e,(t,s,r)=>{let o=wc(n,t.from);if(null==o)return;/\S/.test(t.text)||(o=0);let a=/^\s*/.exec(t.text)[0],l=xc(e,o);(a!=l||r.from<t.from+a.length)&&(i[t.from]=o,s.push({from:t.from,to:t.from+a.length,insert:l}))});return s.changes.empty||t(e.update(s,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:bp},{key:"Shift-Mod-\\",run:kd},{key:"Mod-/",run:uf},{key:"Alt-A",run:pf}].concat([{key:"ArrowLeft",run:ed,shift:Pd,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:nd,shift:Td,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:bd,shift:qd,preventDefault:!0},{key:"ArrowRight",run:td,shift:Cd,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:sd,shift:Zd,preventDefault:!0},{mac:"Cmd-ArrowRight",run:xd,shift:Dd,preventDefault:!0},{key:"ArrowUp",run:cd,shift:Md,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Bd,shift:Nd},{mac:"Ctrl-ArrowUp",run:pd,shift:Wd},{key:"ArrowDown",run:ud,shift:Yd,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Ld,shift:Gd},{mac:"Ctrl-ArrowDown",run:Od,shift:Ed},{key:"PageUp",run:pd,shift:Wd},{key:"PageDown",run:Od,shift:Ed},{key:"Home",run:Sd,shift:Ud,preventDefault:!0},{key:"Mod-Home",run:Bd,shift:Nd},{key:"End",run:gd,shift:zd,preventDefault:!0},{key:"Mod-End",run:Ld,shift:Gd},{key:"Enter",run:wp},{key:"Mod-a",run:Fd},{key:"Backspace",run:np,shift:np},{key:"Delete",run:sp},{key:"Mod-Backspace",mac:"Alt-Backspace",run:op},{key:"Mod-Delete",mac:"Alt-Delete",run:ap},{mac:"Mod-Backspace",run:hp},{mac:"Mod-Delete",run:lp}].concat([{key:"Ctrl-b",run:ed,shift:Pd,preventDefault:!0},{key:"Ctrl-f",run:td,shift:Cd},{key:"Ctrl-p",run:cd,shift:Md},{key:"Ctrl-n",run:ud,shift:Yd},{key:"Ctrl-a",run:wd,shift:Id},{key:"Ctrl-e",run:yd,shift:jd},{key:"Ctrl-d",run:sp},{key:"Ctrl-h",run:np},{key:"Ctrl-k",run:lp},{key:"Ctrl-Alt-h",run:op},{key:"Ctrl-o",run:cp},{key:"Ctrl-t",run:up},{key:"Ctrl-v",run:Od}].map(e=>({mac:e.key,run:e.run,shift:e.shift})))),Pp={key:"Tab",run:kp,shift:Qp};function Cp(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,i=arguments[1];if(i&&"object"==typeof i&&null==i.nodeType&&!Array.isArray(i)){for(var n in i)if(Object.prototype.hasOwnProperty.call(i,n)){var s=i[n];"string"==typeof s?e.setAttribute(n,s):null!=s&&(e[n]=s)}t++}for(;t<arguments.length;t++)Xp(e,arguments[t]);return e}function Xp(e,t){if("string"==typeof t)e.appendChild(document.createTextNode(t));else if(null==t);else if(null!=t.nodeType)e.appendChild(t);else{if(!Array.isArray(t))throw new RangeError("Unsupported child node: "+t);for(var i=0;i<t.length;i++)Xp(e,t[i])}}const Tp="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class Zp{constructor(e,t,i=0,n=e.length,s,r){this.test=r,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,n),this.bufferStart=i,this.normalize=s?e=>s(Tp(e)):Tp,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return b(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=x(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=w(e);let n=this.normalize(t);for(let e=0,s=i;;e++){let r=n.charCodeAt(e),o=this.match(r,s);if(o)return this.value=o,this;if(e==n.length-1)break;s==i&&e<t.length&&t.charCodeAt(e)==r&&s++}}}match(e,t){let i=null;for(let n=0;n<this.matches.length;n+=2){let s=this.matches[n],r=!1;this.query.charCodeAt(s)==e&&(s==this.query.length-1?i={from:this.matches[n+1],to:t+1}:(this.matches[n]++,r=!0)),r||(this.matches.splice(n,2),n-=2)}return this.query.charCodeAt(0)==e&&(1==this.query.length?i={from:t,to:t+1}:this.matches.push(1,t)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferPos)&&(i=null),i}}"undefined"!=typeof Symbol&&(Zp.prototype[Symbol.iterator]=function(){return this});const Ap={from:-1,to:-1,match:/.*/.exec("")},Rp="gm"+(null==/x/.unicode?"":"u");class Vp{constructor(e,t,i,n=0,s=e.length){if(this.text=e,this.to=s,this.curLine="",this.done=!1,this.value=Ap,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new _p(e,t,i,n,s);this.re=new RegExp(t,Rp+((null==i?void 0:i.ignoreCase)?"i":"")),this.test=null==i?void 0:i.test,this.iter=e.iter();let r=e.lineAt(n);this.curLineStart=r.from,this.matchPos=Ep(e,n),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,n=i+t[0].length;if(this.matchPos=Ep(this.text,n+(i==n?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(i<n||i>this.value.to)&&(!this.test||this.test(i,n,t)))return this.value={from:i,to:n,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),e=0}}}}const Mp=new WeakMap;class Yp{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,i){let n=Mp.get(e);if(!n||n.from>=i||n.to<=t){let n=new Yp(t,e.sliceString(t,i));return Mp.set(e,n),n}if(n.from==t&&n.to==i)return n;let{text:s,from:r}=n;return r>t&&(s=e.sliceString(t,r)+s,r=t),n.to<i&&(s+=e.sliceString(n.to,i)),Mp.set(e,new Yp(r,s)),new Yp(t,s.slice(t-r,i-r))}}class _p{constructor(e,t,i,n,s){this.text=e,this.to=s,this.done=!1,this.value=Ap,this.matchPos=Ep(e,n),this.re=new RegExp(t,Rp+((null==i?void 0:i.ignoreCase)?"i":"")),this.test=null==i?void 0:i.test,this.flat=Yp.get(e,n,this.chunkEnd(n+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,i=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,i,t)))return this.value={from:e,to:i,match:t},this.matchPos=Ep(this.text,i+(e==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Yp.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function Wp(e){try{return new RegExp(e,Rp),!0}catch(e){return!1}}function Ep(e,t){if(t>=e.length)return t;let i,n=e.lineAt(t);for(;t<n.to&&(i=n.text.charCodeAt(t-n.from))>=56320&&i<57344;)t++;return t}function zp(e){let t=Cp("input",{class:"cm-textfield",name:"line"});function i(){let i=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!i)return;let{state:n}=e,s=n.doc.lineAt(n.selection.main.head),[,r,o,a,l]=i,h=a?+a.slice(1):0,c=o?+o:s.number;if(o&&l){let e=c/100;r&&(e=e*("-"==r?-1:1)+s.number/n.doc.lines),c=Math.round(n.doc.lines*e)}else o&&r&&(c=c*("-"==r?-1:1)+s.number);let u=n.doc.line(Math.max(1,Math.min(n.doc.lines,c)));e.dispatch({effects:Up.of(!1),selection:R.cursor(u.from+Math.max(0,Math.min(h,u.length))),scrollIntoView:!0}),e.focus()}return{dom:Cp("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:Up.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),i())},onsubmit:e=>{e.preventDefault(),i()}},Cp("label",e.state.phrase("Go to line"),": ",t)," ",Cp("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(Vp.prototype[Symbol.iterator]=_p.prototype[Symbol.iterator]=function(){return this});const Up=ce.define(),qp=D.define({create:()=>!0,update(e,t){for(let i of t.effects)i.is(Up)&&(e=i.value);return e},provide:e=>sa.from(e,e=>e?zp:null)}),Dp=e=>{let t=ea(e,zp);if(!t){let i=[Up.of(!0)];null==e.state.field(qp,!1)&&i.push(ce.appendConfig.of([qp,Ip])),e.dispatch({effects:i}),t=ea(e,zp)}return t&&t.dom.querySelector("input").focus(),!0},Ip=xr.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),jp={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Bp=Y.define({combine:e=>$e(e,jp,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});function Lp(e){let t=[Kp,Jp];return e&&t.push(Bp.of(e)),t}const Np=Oi.mark({class:"cm-selectionMatch"}),Gp=Oi.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Fp(e,t,i,n){return!(0!=i&&e(t.sliceDoc(i-1,i))==xe.Word||n!=t.doc.length&&e(t.sliceDoc(n,n+1))==xe.Word)}function Hp(e,t,i,n){return e(t.sliceDoc(i,i+1))==xe.Word&&e(t.sliceDoc(n-1,n))==xe.Word}const Jp=qi.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Bp),{state:i}=e,n=i.selection;if(n.ranges.length>1)return Oi.none;let s,r=n.main,o=null;if(r.empty){if(!t.highlightWordAroundCursor)return Oi.none;let e=i.wordAt(r.head);if(!e)return Oi.none;o=i.charCategorizer(r.head),s=i.sliceDoc(e.from,e.to)}else{let e=r.to-r.from;if(e<t.minSelectionLength||e>200)return Oi.none;if(t.wholeWords){if(s=i.sliceDoc(r.from,r.to),o=i.charCategorizer(r.head),!Fp(o,i,r.from,r.to)||!Hp(o,i,r.from,r.to))return Oi.none}else if(s=i.sliceDoc(r.from,r.to).trim(),!s)return Oi.none}let a=[];for(let n of e.visibleRanges){let e=new Zp(i.doc,s,n.from,n.to);for(;!e.next().done;){let{from:n,to:s}=e.value;if((!o||Fp(o,i,n,s))&&(r.empty&&n<=r.from&&s>=r.to?a.push(Gp.range(n,s)):(n>=r.to||s<=r.from)&&a.push(Np.range(n,s)),a.length>t.maxMatches))return Oi.none}}return Oi.set(a)}},{decorations:e=>e.decorations}),Kp=xr.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),eO=({state:e,dispatch:t})=>{let{selection:i}=e,n=R.create(i.ranges.map(t=>e.wordAt(t.head)||R.cursor(t.head)),i.mainIndex);return!n.eq(i)&&(t(e.update({selection:n})),!0)};function tO(e,t){let{main:i,ranges:n}=e.selection,s=e.wordAt(i.head),r=s&&s.from==i.from&&s.to==i.to;for(let i=!1,s=new Zp(e.doc,t,n[n.length-1].to);;){if(s.next(),!s.done){if(i&&n.some(e=>e.from==s.value.from))continue;if(r){let t=e.wordAt(s.value.from);if(!t||t.from!=s.value.from||t.to!=s.value.to)continue}return s.value}if(i)return null;s=new Zp(e.doc,t,0,Math.max(0,n[n.length-1].from-1)),i=!0}}const iO=({state:e,dispatch:t})=>{let{ranges:i}=e.selection;if(i.some(e=>e.from===e.to))return eO({state:e,dispatch:t});let n=e.sliceDoc(i[0].from,i[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=n))return!1;let s=tO(e,n);return!!s&&(t(e.update({selection:e.selection.addRange(R.range(s.from,s.to),!1),effects:xr.scrollIntoView(s.to)})),!0)},nO=Y.define({combine:e=>$e(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new MO(e),scrollToMatch:e=>xr.scrollIntoView(e)})});class sO{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||Wp(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new dO(this):new lO(this)}getCursor(e,t=0,i){let n=e.doc?e:Qe.create({doc:e});return null==i&&(i=n.doc.length),this.regexp?hO(this,n,t,i):oO(this,n,t,i)}}class rO{constructor(e){this.spec=e}}function oO(e,t,i,n){return new Zp(t.doc,e.unquoted,i,n,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?aO(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}function aO(e,t){return(i,n,s,r)=>((r>i||r+s.length<n)&&(r=Math.max(0,i-2),s=e.sliceString(r,Math.min(e.length,n+2))),!(t(cO(s,i-r))==xe.Word&&t(uO(s,i-r))==xe.Word||t(uO(s,n-r))==xe.Word&&t(cO(s,n-r))==xe.Word))}class lO extends rO{constructor(e){super(e)}nextMatch(e,t,i){let n=oO(this.spec,e,i,e.doc.length).nextOverlapping();return n.done&&(n=oO(this.spec,e,0,t).nextOverlapping()),n.done?null:n.value}prevMatchInRange(e,t,i){for(let n=i;;){let i=Math.max(t,n-1e4-this.spec.unquoted.length),s=oO(this.spec,e,i,n),r=null;for(;!s.nextOverlapping().done;)r=s.value;if(r)return r;if(i==t)return null;n-=1e4}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=oO(this.spec,e,0,e.doc.length),n=[];for(;!i.next().done;){if(n.length>=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let s=oO(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}function hO(e,t,i,n){return new Vp(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?fO(t.charCategorizer(t.selection.main.head)):void 0},i,n)}function cO(e,t){return e.slice(p(e,t,!1),t)}function uO(e,t){return e.slice(t,p(e,t))}function fO(e){return(t,i,n)=>!n[0].length||(e(cO(n.input,n.index))!=xe.Word||e(uO(n.input,n.index))!=xe.Word)&&(e(uO(n.input,n.index+n[0].length))!=xe.Word||e(cO(n.input,n.index+n[0].length))!=xe.Word)}class dO extends rO{nextMatch(e,t,i){let n=hO(this.spec,e,i,e.doc.length).next();return n.done&&(n=hO(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,i){for(let n=1;;n++){let s=Math.max(t,i-1e4*n),r=hO(this.spec,e,s,i),o=null;for(;!r.next().done;)o=r.value;if(o&&(s==t||o.from>s+10))return o;if(s==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,(t,i)=>"$"==i?"$":"&"==i?e.match[0]:"0"!=i&&+i<e.match.length?e.match[i]:t))}matchAll(e,t){let i=hO(this.spec,e,0,e.doc.length),n=[];for(;!i.next().done;){if(n.length>=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let s=hO(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!s.next().done;)n(s.value.from,s.value.to)}}const pO=ce.define(),OO=ce.define(),mO=D.define({create:e=>new gO(XO(e).create(),null),update(e,t){for(let i of t.effects)i.is(pO)?e=new gO(i.value.create(),e.panel):i.is(OO)&&(e=new gO(e.query,i.value?CO:null));return e},provide:e=>sa.from(e,e=>e.panel)});class gO{constructor(e,t){this.query=e,this.panel=t}}const SO=Oi.mark({class:"cm-searchMatch"}),bO=Oi.mark({class:"cm-searchMatch cm-searchMatch-selected"}),xO=qi.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(mO))}update(e){let t=e.state.field(mO);(t!=e.startState.field(mO)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Oi.none;let{view:i}=this,n=new Re;for(let t=0,s=i.visibleRanges,r=s.length;t<r;t++){let{from:o,to:a}=s[t];for(;t<r-1&&a>s[t+1].from-500;)a=s[++t].to;e.highlight(i.state,o,a,(e,t)=>{let s=i.state.selection.ranges.some(i=>i.from==e&&i.to==t);n.add(e,t,s?bO:SO)})}return n.finish()}},{decorations:e=>e.decorations});function wO(e){return t=>{let i=t.state.field(mO,!1);return i&&i.query.spec.valid?e(t,i):AO(t)}}const yO=wO((e,{query:t})=>{let{to:i}=e.state.selection.main,n=t.nextMatch(e.state,i,i);if(!n)return!1;let s=R.single(n.from,n.to),r=e.state.facet(nO);return e.dispatch({selection:s,effects:[EO(e,n),r.scrollToMatch(s.main,e)],userEvent:"select.search"}),ZO(e),!0}),vO=wO((e,{query:t})=>{let{state:i}=e,{from:n}=i.selection.main,s=t.prevMatch(i,n,n);if(!s)return!1;let r=R.single(s.from,s.to),o=e.state.facet(nO);return e.dispatch({selection:r,effects:[EO(e,s),o.scrollToMatch(r.main,e)],userEvent:"select.search"}),ZO(e),!0}),kO=wO((e,{query:t})=>{let i=t.matchAll(e.state,1e3);return!(!i||!i.length)&&(e.dispatch({selection:R.create(i.map(e=>R.range(e.from,e.to))),userEvent:"select.search.matches"}),!0)}),QO=({state:e,dispatch:t})=>{let i=e.selection;if(i.ranges.length>1||i.main.empty)return!1;let{from:n,to:s}=i.main,r=[],o=0;for(let t=new Zp(e.doc,e.sliceDoc(n,s));!t.next().done;){if(r.length>1e3)return!1;t.value.from==n&&(o=r.length),r.push(R.range(t.value.from,t.value.to))}return t(e.update({selection:R.create(r,o),userEvent:"select.search.matches"})),!0},$O=wO((e,{query:t})=>{let{state:i}=e,{from:n,to:s}=i.selection.main;if(i.readOnly)return!1;let r=t.nextMatch(i,n,n);if(!r)return!1;let o,a,l=[],h=[];if(r.from==n&&r.to==s&&(a=i.toText(t.getReplacement(r)),l.push({from:r.from,to:r.to,insert:a}),r=t.nextMatch(i,r.from,r.to),h.push(xr.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(n).number)+"."))),r){let t=0==l.length||l[0].from>=r.to?0:r.to-r.from-a.length;o=R.single(r.from-t,r.to-t),h.push(EO(e,r)),h.push(i.facet(nO).scrollToMatch(o.main,e))}return e.dispatch({changes:l,selection:o,effects:h,userEvent:"input.replace"}),!0}),PO=wO((e,{query:t})=>{if(e.state.readOnly)return!1;let i=t.matchAll(e.state,1e9).map(e=>{let{from:i,to:n}=e;return{from:i,to:n,insert:t.getReplacement(e)}});if(!i.length)return!1;let n=e.state.phrase("replaced $ matches",i.length)+".";return e.dispatch({changes:i,effects:xr.announce.of(n),userEvent:"input.replace.all"}),!0});function CO(e){return e.state.facet(nO).createPanel(e)}function XO(e,t){var i,n,s,r,o;let a=e.selection.main,l=a.empty||a.to>a.from+100?"":e.sliceDoc(a.from,a.to);if(t&&!l)return t;let h=e.facet(nO);return new sO({search:(null!==(i=null==t?void 0:t.literal)&&void 0!==i?i:h.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:null!==(n=null==t?void 0:t.caseSensitive)&&void 0!==n?n:h.caseSensitive,literal:null!==(s=null==t?void 0:t.literal)&&void 0!==s?s:h.literal,regexp:null!==(r=null==t?void 0:t.regexp)&&void 0!==r?r:h.regexp,wholeWord:null!==(o=null==t?void 0:t.wholeWord)&&void 0!==o?o:h.wholeWord})}function TO(e){let t=ea(e,CO);return t&&t.dom.querySelector("[main-field]")}function ZO(e){let t=TO(e);t&&t==e.root.activeElement&&t.select()}const AO=e=>{let t=e.state.field(mO,!1);if(t&&t.panel){let i=TO(e);if(i&&i!=e.root.activeElement){let n=XO(e.state,t.query.spec);n.valid&&e.dispatch({effects:pO.of(n)}),i.focus(),i.select()}}else e.dispatch({effects:[OO.of(!0),t?pO.of(XO(e.state,t.query.spec)):ce.appendConfig.of(UO)]});return!0},RO=e=>{let t=e.state.field(mO,!1);if(!t||!t.panel)return!1;let i=ea(e,CO);return i&&i.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:OO.of(!1)}),!0},VO=[{key:"Mod-f",run:AO,scope:"editor search-panel"},{key:"F3",run:yO,shift:vO,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:yO,shift:vO,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:RO,scope:"editor search-panel"},{key:"Mod-Shift-l",run:QO},{key:"Alt-g",run:Dp},{key:"Mod-d",run:iO,preventDefault:!0}];class MO{constructor(e){this.view=e;let t=this.query=e.state.field(mO).query.spec;function i(e,t,i){return Cp("button",{class:"cm-button",name:e,onclick:t,type:"button"},i)}this.commit=this.commit.bind(this),this.searchField=Cp("input",{value:t.search,placeholder:YO(e,"Find"),"aria-label":YO(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Cp("input",{value:t.replace,placeholder:YO(e,"Replace"),"aria-label":YO(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Cp("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Cp("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Cp("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=Cp("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,i("next",()=>yO(e),[YO(e,"next")]),i("prev",()=>vO(e),[YO(e,"previous")]),i("select",()=>kO(e),[YO(e,"all")]),Cp("label",null,[this.caseField,YO(e,"match case")]),Cp("label",null,[this.reField,YO(e,"regexp")]),Cp("label",null,[this.wordField,YO(e,"by word")]),...e.state.readOnly?[]:[Cp("br"),this.replaceField,i("replace",()=>$O(e),[YO(e,"replace")]),i("replaceAll",()=>PO(e),[YO(e,"replace all")])],Cp("button",{name:"close",onclick:()=>RO(e),"aria-label":YO(e,"close"),type:"button"},["×"])])}commit(){let e=new sO({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:pO.of(e)}))}keydown(e){Ar(this.view,e,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?vO:yO)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),$O(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(pO)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(nO).top}}function YO(e,t){return e.state.phrase(t)}const _O=30,WO=/[\s\.,:;?!]/;function EO(e,{from:t,to:i}){let n=e.state.doc.lineAt(t),s=e.state.doc.lineAt(i).to,r=Math.max(n.from,t-_O),o=Math.min(s,i+_O),a=e.state.sliceDoc(r,o);if(r!=n.from)for(let e=0;e<_O;e++)if(!WO.test(a[e+1])&&WO.test(a[e])){a=a.slice(e);break}if(o!=s)for(let e=a.length-1;e>a.length-_O;e--)if(!WO.test(a[e-1])&&WO.test(a[e])){a=a.slice(0,e);break}return xr.announce.of(`${e.state.phrase("current match")}. ${a} ${e.state.phrase("on line")} ${n.number}.`)}const zO=xr.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),UO=[mO,B.lowest(xO),zO];class qO{constructor(e,t,i){this.state=e,this.pos=t,this.explicit=i,this.abortListeners=[]}tokenBefore(e){let t=rc(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),n=t.text.slice(i-t.from,this.pos-t.from),s=n.search(GO(e,!1));return s<0?null:{from:i+s,to:this.pos,text:n.slice(s)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function DO(e){let t=Object.keys(e).join(""),i=/\w/.test(t);return i&&(t=t.replace(/\w/g,"")),`[${i?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function IO(e){let t=Object.create(null),i=Object.create(null);for(let{label:n}of e){t[n[0]]=!0;for(let e=1;e<n.length;e++)i[n[e]]=!0}let n=DO(t)+DO(i)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function jO(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[i,n]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:IO(t);return e=>{let s=e.matchBefore(n);return s||e.explicit?{from:s?s.from:e.pos,options:t,validFor:i}:null}}function BO(e,t){return i=>{for(let t=rc(i.state).resolveInner(i.pos,-1);t;t=t.parent){if(e.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return t(i)}}class LO{constructor(e,t,i,n){this.completion=e,this.source=t,this.match=i,this.score=n}}function NO(e){return e.selection.main.from}function GO(e,t){var i;let{source:n}=e,s=t&&"^"!=n[0],r="$"!=n[n.length-1];return s||r?new RegExp(`${s?"^":""}(?:${n})${r?"$":""}`,null!==(i=e.flags)&&void 0!==i?i:e.ignoreCase?"i":""):e}const FO=ae.define();function HO(e,t,i,n){let{main:s}=e.selection,r=i-s.from,o=n-s.from;return Object.assign(Object.assign({},e.changeByRange(a=>a!=s&&i!=n&&e.sliceDoc(a.from+r,a.from+o)!=e.sliceDoc(i,n)?{range:a}:{changes:{from:a.from+r,to:n==s.from?a.to:a.from+o,insert:t},range:R.cursor(a.from+r+t.length)})),{userEvent:"input.complete"})}const JO=new WeakMap;function KO(e){if(!Array.isArray(e))return e;let t=JO.get(e);return t||JO.set(e,t=jO(e)),t}const em=ce.define(),tm=ce.define();class im{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let t=0;t<e.length;){let i=b(e,t),n=w(i);this.chars.push(i);let s=e.slice(t,t+n),r=s.toUpperCase();this.folded.push(b(r==s?s.toLowerCase():r,0)),t+=n}this.astral=e.length!=this.chars.length}ret(e,t){return this.score=e,this.matched=t,!0}match(e){if(0==this.pattern.length)return this.ret(-100,[]);if(e.length<this.pattern.length)return!1;let{chars:t,folded:i,any:n,precise:s,byWord:r}=this;if(1==t.length){let n=b(e,0),s=w(n),r=s==e.length?0:-100;if(n==t[0]);else{if(n!=i[0])return!1;r+=-200}return this.ret(r,[0,s])}let o=e.indexOf(this.pattern);if(0==o)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let a=t.length,l=0;if(o<0){for(let s=0,r=Math.min(e.length,200);s<r&&l<a;){let r=b(e,s);r!=t[l]&&r!=i[l]||(n[l++]=s),s+=w(r)}if(l<a)return!1}let h=0,c=0,u=!1,f=0,d=-1,p=-1,O=/[a-z]/.test(e),m=!0;for(let n=0,l=Math.min(e.length,200),g=0;n<l&&c<a;){let l=b(e,n);o<0&&(h<a&&l==t[h]&&(s[h++]=n),f<a&&(l==t[f]||l==i[f]?(0==f&&(d=n),p=n+1,f++):f=0));let S,y=l<255?l>=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(S=x(l))!=S.toLowerCase()?1:S!=S.toUpperCase()?2:0;(!n||1==y&&O||0==g&&0!=y)&&(t[c]==l||i[c]==l&&(u=!0)?r[c++]=n:r.length&&(m=!1)),g=y,n+=w(l)}return c==a&&0==r[0]&&m?this.result((u?-200:0)-100,r,e):f==a&&0==d?this.ret(-200-e.length+(p==e.length?0:-100),[0,p]):o>-1?this.ret(-700-e.length,[o,o+this.pattern.length]):f==a?this.ret(-900-e.length,[d,p]):c==a?this.result((u?-200:0)-100-700+(m?0:-1100),r,e):2!=t.length&&this.result((n[0]?-700:0)-200-1100,n,e)}result(e,t,i){let n=[],s=0;for(let e of t){let t=e+(this.astral?w(b(i,e)):1);s&&n[s-1]==e?n[s-1]=t:(n[s++]=e,n[s++]=t)}return this.ret(e-i.length,n)}}const nm=Y.define({combine:e=>$e(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:rm,compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>sm(e(i),t(i)),optionClass:(e,t)=>i=>sm(e(i),t(i)),addToOptions:(e,t)=>e.concat(t)})});function sm(e,t){return e?t?e+" "+t:e:t}function rm(e,t,i,n,s){let r,o,a=e.textDirection==Ki.RTL,l=a,h=!1,c="top",u=t.left-s.left,f=s.right-t.right,d=n.right-n.left,p=n.bottom-n.top;if(l&&u<Math.min(d,f)?l=!1:!l&&f<Math.min(d,u)&&(l=!0),d<=(l?u:f))r=Math.max(s.top,Math.min(i.top,s.bottom-p))-t.top,o=Math.min(400,l?u:f);else{h=!0,o=Math.min(400,(a?t.right:s.right-t.left)-30);let e=s.bottom-t.bottom;e>=p||e>t.top?r=i.bottom-t.top:(c="bottom",r=t.bottom-i.top)}return{style:`${c}: ${r}px; max-width: ${o}px`,class:"cm-completionInfo-"+(h?a?"left-narrow":"right-narrow":l?"left":"right")}}function om(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,i){let n=document.createElement("span");n.className="cm-completionLabel";let s=e.displayLabel||e.label,r=0;for(let e=0;e<i.length;){let t=i[e++],o=i[e++];t>r&&n.appendChild(document.createTextNode(s.slice(r,t)));let a=n.appendChild(document.createElement("span"));a.appendChild(document.createTextNode(s.slice(t,o))),a.className="cm-completionMatchedText",r=o}return r<s.length&&n.appendChild(document.createTextNode(s.slice(r))),n},position:50},{render(e){if(!e.detail)return null;let t=document.createElement("span");return t.className="cm-completionDetail",t.textContent=e.detail,t},position:80}),t.sort((e,t)=>e.position-t.position).map(e=>e.render)}function am(e,t,i){if(e<=i)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/i);return{from:e*i,to:(e+1)*i}}let n=Math.floor((e-t)/i);return{from:e-(n+1)*i,to:e-n*i}}class lm{constructor(e,t,i){this.view=e,this.stateField=t,this.applyCompletion=i,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let n=e.state.field(t),{options:s,selected:r}=n.open,o=e.state.facet(nm);this.optionContent=om(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=am(s.length,r,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",t=>{for(let i,n=t.target;n&&n!=this.dom;n=n.parentNode)if("LI"==n.nodeName&&(i=/-(\d+)$/.exec(n.id))&&+i[1]<s.length)return this.applyCompletion(e,s[+i[1]]),void t.preventDefault()}),this.dom.addEventListener("focusout",t=>{let i=e.state.field(this.stateField,!1);i&&i.tooltip&&e.state.facet(nm).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:tm.of(null)})}),this.list=this.dom.appendChild(this.createListBox(s,n.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}mount(){this.updateSel()}update(e){var t,i,n;let s=e.state.field(this.stateField),r=e.startState.field(this.stateField);this.updateTooltipClass(e.state),s!=r&&(this.updateSel(),(null===(t=s.open)||void 0===t?void 0:t.disabled)!=(null===(i=r.open)||void 0===i?void 0:i.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!(null===(n=s.open)||void 0===n?void 0:n.disabled)))}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=am(t.options.length,t.selected,this.view.state.facet(nm).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t.options,e.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:i}=t.options[t.selected],{info:n}=i;if(!n)return;let s="string"==typeof n?document.createTextNode(n):n(i);if(!s)return;"then"in s?s.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,i)}).catch(e=>Wi(this.view.state,e,"completion info")):this.addInfoPane(s,i)}}addInfoPane(e,t){this.destroyInfo();let i=this.info=document.createElement("div");if(i.className="cm-tooltip cm-completionInfo",null!=e.nodeType)i.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:n}=e;i.appendChild(t),this.infoDestroy=n||null}this.dom.appendChild(i),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,n=this.range.from;i;i=i.nextSibling,n++)"LI"==i.nodeName&&i.id?n==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected"):n--;return t&&cm(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),s=this.space;if(!s){let e=this.dom.ownerDocument.defaultView||window;s={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}return n.top>Math.min(s.bottom,t.bottom)-10||n.bottom<Math.max(s.top,t.top)+10?null:this.view.state.facet(nm).positionInfo(this.view,t,n,i,s)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,i){const n=document.createElement("ul");n.id=t,n.setAttribute("role","listbox"),n.setAttribute("aria-expanded","true"),n.setAttribute("aria-label",this.view.state.phrase("Completions"));let s=null;for(let r=i.from;r<i.to;r++){let{completion:o,match:a}=e[r],{section:l}=o;if(l){let e="string"==typeof l?l:l.name;if(e!=s&&(r>i.from||0==i.from))if(s=e,"string"!=typeof l&&l.header)n.appendChild(l.header(l));else{n.appendChild(document.createElement("completion-section")).textContent=e}}const h=n.appendChild(document.createElement("li"));h.id=t+"-"+r,h.setAttribute("role","option");let c=this.optionClass(o);c&&(h.className=c);for(let e of this.optionContent){let t=e(o,this.view.state,a);t&&h.appendChild(t)}}return i.from&&n.classList.add("cm-completionListIncompleteTop"),i.to<e.length&&n.classList.add("cm-completionListIncompleteBottom"),n}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function hm(e,t){return i=>new lm(i,e,t)}function cm(e,t){let i=e.getBoundingClientRect(),n=t.getBoundingClientRect();n.top<i.top?e.scrollTop-=i.top-n.top:n.bottom>i.bottom&&(e.scrollTop+=n.bottom-i.bottom)}function um(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function fm(e,t){let i=[],n=null,s=e=>{i.push(e);let{section:t}=e.completion;if(t){n||(n=[]);let e="string"==typeof t?t:t.name;n.some(t=>t.name==e)||n.push("string"==typeof t?{name:e}:t)}};for(let n of e)if(n.hasResult()){let e=n.result.getMatch;if(!1===n.result.filter)for(let t of n.result.options)s(new LO(t,n.source,e?e(t):[],1e9-i.length));else{let i=new im(t.sliceDoc(n.from,n.to));for(let t of n.result.options)if(i.match(t.label)){let r=t.displayLabel?e?e(t,i.matched):[]:i.matched;s(new LO(t,n.source,r,i.score+(t.boost||0)))}}}if(n){let e=Object.create(null),t=0,s=(e,t)=>{var i,n;return(null!==(i=e.rank)&&void 0!==i?i:1e9)-(null!==(n=t.rank)&&void 0!==n?n:1e9)||(e.name<t.name?-1:1)};for(let i of n.sort(s))t-=1e5,e[i.name]=t;for(let t of i){let{section:i}=t.completion;i&&(t.score+=e["string"==typeof i?i:i.name])}}let r=[],o=null,a=t.facet(nm).compareCompletions;for(let e of i.sort((e,t)=>t.score-e.score||a(e.completion,t.completion))){let t=e.completion;!o||o.label!=t.label||o.detail!=t.detail||null!=o.type&&null!=t.type&&o.type!=t.type||o.apply!=t.apply||o.boost!=t.boost?r.push(e):um(e.completion)>um(o)&&(r[r.length-1]=e),o=e.completion}return r}class dm{constructor(e,t,i,n,s,r){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=n,this.selected=s,this.disabled=r}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new dm(this.options,gm(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,n,s){let r=fm(e,t);if(!r.length)return n&&e.some(e=>1==e.state)?new dm(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;let o=t.facet(nm).selectOnOpen?0:-1;if(n&&n.selected!=o&&-1!=n.selected){let e=n.options[n.selected].completion;for(let t=0;t<r.length;t++)if(r[t].completion==e){o=t;break}}return new dm(r,gm(i,o),{pos:e.reduce((e,t)=>t.hasResult()?Math.min(e,t.from):e,1e8),create:hm(Qm,$m),above:s.aboveCursor},n?n.timestamp:Date.now(),o,!1)}map(e){return new dm(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class pm{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new pm(Sm,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,i=t.facet(nm),n=(i.override||t.languageDataAt("autocomplete",NO(t)).map(KO)).map(t=>(this.active.find(e=>e.source==t)||new xm(t,this.active.some(e=>0!=e.state)?1:0)).update(e,i));n.length==this.active.length&&n.every((e,t)=>e==this.active[t])&&(n=this.active);let s=this.open;s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!Om(n,this.active)?s=dm.build(n,t,this.id,s,i):s&&s.disabled&&!n.some(e=>1==e.state)&&(s=null),!s&&n.every(e=>1!=e.state)&&n.some(e=>e.hasResult())&&(n=n.map(e=>e.hasResult()?new xm(e.source,0):e));for(let t of e.effects)t.is(km)&&(s=s&&s.setSelected(t.value,this.id));return n==this.active&&s==this.open?this:new pm(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:mm}}function Om(e,t){if(e==t)return!0;for(let i=0,n=0;;){for(;i<e.length&&!e[i].hasResult;)i++;for(;n<t.length&&!t[n].hasResult;)n++;let s=i==e.length,r=n==t.length;if(s||r)return s==r;if(e[i++].result!=t[n++].result)return!1}}const mm={"aria-autocomplete":"list"};function gm(e,t){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(i["aria-activedescendant"]=e+"-"+t),i}const Sm=[];function bm(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class xm{constructor(e,t,i=-1){this.source=e,this.state=t,this.explicitPos=i}hasResult(){return!1}update(e,t){let i=bm(e),n=this;i?n=n.handleUserEvent(e,i,t):e.docChanged?n=n.handleChange(e):e.selection&&0!=n.state&&(n=new xm(n.source,0));for(let t of e.effects)if(t.is(em))n=new xm(n.source,1,t.value?NO(e.state):-1);else if(t.is(tm))n=new xm(n.source,0);else if(t.is(vm))for(let e of t.value)e.source==n.source&&(n=e);return n}handleUserEvent(e,t,i){return"delete"!=t&&i.activateOnTyping?new xm(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(NO(e.startState))?new xm(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new xm(this.source,this.state,e.mapPos(this.explicitPos))}}class wm extends xm{constructor(e,t,i,n,s){super(e,2,t),this.result=i,this.from=n,this.to=s}hasResult(){return!0}handleUserEvent(e,t,i){var n;let s=e.changes.mapPos(this.from),r=e.changes.mapPos(this.to,1),o=NO(e.state);if((this.explicitPos<0?o<=s:o<this.from)||o>r||"delete"==t&&NO(e.startState)==this.from)return new xm(this.source,"input"==t&&i.activateOnTyping?1:0);let a,l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return ym(this.result.validFor,e.state,s,r)?new wm(this.source,l,this.result,s,r):this.result.update&&(a=this.result.update(this.result,s,r,new qO(e.state,o,l>=0)))?new wm(this.source,l,a,a.from,null!==(n=a.to)&&void 0!==n?n:NO(e.state)):new xm(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new xm(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new wm(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}function ym(e,t,i,n){if(!e)return!1;let s=t.sliceDoc(i,n);return"function"==typeof e?e(s,i,n,t):GO(e,!0).test(s)}const vm=ce.define({map:(e,t)=>e.map(e=>e.map(t))}),km=ce.define(),Qm=D.define({create:()=>pm.start(),update:(e,t)=>e.update(t),provide:e=>[Do.from(e,e=>e.tooltip),xr.contentAttributes.from(e,e=>e.attrs)]});function $m(e,t){const i=t.completion.apply||t.completion.label;let n=e.state.field(Qm).active.find(e=>e.source==t.source);return n instanceof wm&&("string"==typeof i?e.dispatch(Object.assign(Object.assign({},HO(e.state,i,n.from,n.to)),{annotations:FO.of(t.completion)})):i(e,t.completion,n.from,n.to),!0)}function Pm(e,t="option"){return i=>{let n=i.state.field(Qm,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp<i.state.facet(nm).interactionDelay)return!1;let s,r=1;"page"==t&&(s=Ho(i,n.open.tooltip))&&(r=Math.max(2,Math.floor(s.dom.offsetHeight/s.dom.querySelector("li").offsetHeight)-1));let{length:o}=n.open.options,a=n.open.selected>-1?n.open.selected+r*(e?1:-1):e?0:o-1;return a<0?a="page"==t?0:o-1:a>=o&&(a="page"==t?o-1:0),i.dispatch({effects:km.of(a)}),!0}}const Cm=e=>{let t=e.state.field(Qm,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(nm).interactionDelay)&&$m(e,t.open.options[t.open.selected])},Xm=e=>!!e.state.field(Qm,!1)&&(e.dispatch({effects:em.of(!0)}),!0),Tm=e=>{let t=e.state.field(Qm,!1);return!(!t||!t.active.some(e=>0!=e.state))&&(e.dispatch({effects:tm.of(null)}),!0)};class Zm{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const Am=50,Rm=50,Vm=1e3,Mm=qi.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let t of e.state.field(Qm).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(Qm);if(!e.selectionSet&&!e.docChanged&&e.startState.field(Qm)==t)return;let i=e.transactions.some(e=>(e.selection||e.docChanged)&&!bm(e));for(let t=0;t<this.running.length;t++){let n=this.running[t];if(i||n.updates.length+e.transactions.length>Rm&&Date.now()-n.time>Vm){for(let e of n.context.abortListeners)try{e()}catch(e){Wi(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=t.active.some(e=>1==e.state&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),Am):-1,0!=this.composing)for(let t of e.transactions)"input"==bm(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(Qm);for(let e of t.active)1!=e.state||this.running.some(t=>t.active.source==e.source)||this.startQuery(e)}startQuery(e){let{state:t}=this.view,i=NO(t),n=new qO(t,i,e.explicitPos==i),s=new Zm(e,n);this.running.push(s),Promise.resolve(e.source(n)).then(e=>{s.context.aborted||(s.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:tm.of(null)}),Wi(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),Am))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],i=this.view.state.facet(nm);for(let n=0;n<this.running.length;n++){let s=this.running[n];if(void 0===s.done)continue;if(this.running.splice(n--,1),s.done){let n=new wm(s.active.source,s.active.explicitPos,s.done,s.done.from,null!==(e=s.done.to)&&void 0!==e?e:NO(s.updates.length?s.updates[0].startState:this.view.state));for(let e of s.updates)n=n.update(e,i);if(n.hasResult()){t.push(n);continue}}let r=this.view.state.field(Qm).active.find(e=>e.source==s.active.source);if(r&&1==r.state)if(null==s.done){let e=new xm(s.active.source,0);for(let t of s.updates)e=e.update(t,i);1!=e.state&&t.push(e)}else this.startQuery(r)}t.length&&this.view.dispatch({effects:vm.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(Qm,!1);if(t&&t.tooltip&&this.view.state.facet(nm).closeOnBlur){let i=t.open&&Ho(this.view,t.open.tooltip);i&&i.dom.contains(e.relatedTarget)||this.view.dispatch({effects:tm.of(null)})}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:em.of(!1)}),20),this.composing=0}}}),Ym=xr.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class _m{constructor(e,t,i,n){this.field=e,this.line=t,this.from=i,this.to=n}}class Wm{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,v.TrackDel),i=e.mapPos(this.to,1,v.TrackDel);return null==t||null==i?null:new Wm(this.field,t,i)}}class Em{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],n=[t],s=e.doc.lineAt(t),r=/^\s*/.exec(s.text)[0];for(let s of this.lines){if(i.length){let i=r,o=/^\t*/.exec(s)[0].length;for(let t=0;t<o;t++)i+=e.facet(Sc);n.push(t+i.length-o),s=i+s.slice(o)}i.push(s),t+=s.length+1}return{text:i,ranges:this.fieldPositions.map(e=>new Wm(e.field,n[e.line]+e.from,n[e.line]+e.to))}}static parse(e){let t,i=[],n=[],s=[];for(let r of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(r);){let e=t[1]?+t[1]:null,o=t[2]||t[3]||"",a=-1;for(let t=0;t<i.length;t++)(null!=e?i[t].seq==e:o&&i[t].name==o)&&(a=t);if(a<0){let t=0;for(;t<i.length&&(null==e||null!=i[t].seq&&i[t].seq<e);)t++;i.splice(t,0,{seq:e,name:o}),a=t;for(let e of s)e.field>=a&&e.field++}s.push(new _m(a,n.length,t.index,t.index+o.length)),r=r.slice(0,t.index)+o+r.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(r);){r=r.slice(0,e.index)+e[1]+r.slice(e.index+e[0].length);for(let t of s)t.line==n.length&&t.from>e.index&&(t.from--,t.to--)}n.push(r)}return new Em(n,s)}}let zm=Oi.widget({widget:new class extends di{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),Um=Oi.mark({class:"cm-snippetField"});class qm{constructor(e,t){this.ranges=e,this.active=t,this.deco=Oi.set(e.map(e=>(e.from==e.to?zm:Um).range(e.from,e.to)))}map(e){let t=[];for(let i of this.ranges){let n=i.map(e);if(!n)return null;t.push(n)}return new qm(t,this.active)}selectionInsideField(e){return e.ranges.every(e=>this.ranges.some(t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))}}const Dm=ce.define({map:(e,t)=>e&&e.map(t)}),Im=ce.define(),jm=D.define({create:()=>null,update(e,t){for(let i of t.effects){if(i.is(Dm))return i.value;if(i.is(Im)&&e)return new qm(e.ranges,i.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>xr.decorations.from(e,e=>e?e.deco:Oi.none)});function Bm(e,t){return R.create(e.filter(e=>e.field==t).map(e=>R.range(e.from,e.to)))}function Lm(t){let i=Em.parse(t);return(t,n,s,r)=>{let{text:o,ranges:a}=i.instantiate(t.state,s),l={changes:{from:s,to:r,insert:e.of(o)},scrollIntoView:!0,annotations:n?FO.of(n):void 0};if(a.length&&(l.selection=Bm(a,0)),a.length>1){let e=new qm(a,0),i=l.effects=[Dm.of(e)];void 0===t.state.field(jm,!1)&&i.push(ce.appendConfig.of([jm,Jm,eg,Ym]))}t.dispatch(t.state.update(l))}}function Nm(e){return({state:t,dispatch:i})=>{let n=t.field(jm,!1);if(!n||e<0&&0==n.active)return!1;let s=n.active+e,r=e>0&&!n.ranges.some(t=>t.field==s+e);return i(t.update({selection:Bm(n.ranges,s),effects:Dm.of(r?null:new qm(n.ranges,s))})),!0}}const Gm=({state:e,dispatch:t})=>!!e.field(jm,!1)&&(t(e.update({effects:Dm.of(null)})),!0),Fm=[{key:"Tab",run:Nm(1),shift:Nm(-1)},{key:"Escape",run:Gm}],Hm=Y.define({combine:e=>e.length?e[0]:Fm}),Jm=B.highest(Xr.compute([Hm],e=>e.facet(Hm)));function Km(e,t){return Object.assign(Object.assign({},t),{apply:Lm(e)})}const eg=xr.domEventHandlers({mousedown(e,t){let i,n=t.state.field(jm,!1);if(!n||null==(i=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let s=n.ranges.find(e=>e.from<=i&&e.to>=i);return!(!s||s.field==n.active)&&(t.dispatch({selection:Bm(n.ranges,s.field),effects:Dm.of(n.ranges.some(e=>e.field>s.field)?new qm(n.ranges,s.field):null)}),!0)}}),tg={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},ig=ce.define({map(e,t){let i=t.mapPos(e,-1,v.TrackAfter);return null==i?void 0:i}}),ng=new class extends Pe{};ng.startSide=1,ng.endSide=-1;const sg=D.define({create:()=>Ze.empty,update(e,t){if(t.selection){let i=t.state.doc.lineAt(t.selection.main.head).from,n=t.startState.doc.lineAt(t.startState.selection.main.head).from;i!=t.changes.mapPos(n,-1)&&(e=Ze.empty)}e=e.map(t.changes);for(let i of t.effects)i.is(ig)&&(e=e.update({add:[ng.range(i.value,i.value+1)]}));return e}});function rg(){return[cg,sg]}const og="()[]{}<>";function ag(e){for(let t=0;t<og.length;t+=2)if(og.charCodeAt(t)==e)return og.charAt(t+1);return x(e<128?e:e+1)}function lg(e,t){return e.languageDataAt("closeBrackets",t)[0]||tg}const hg="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),cg=xr.inputHandler.of((e,t,i,n)=>{if((hg?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let s=e.state.selection.main;if(n.length>2||2==n.length&&1==w(b(n,0))||t!=s.from||i!=s.to)return!1;let r=fg(e.state,n);return!!r&&(e.dispatch(r),!0)}),ug=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=lg(e,e.selection.main.head).brackets||tg.brackets,n=null,s=e.changeByRange(t=>{if(t.empty){let n=Og(e.doc,t.head);for(let s of i)if(s==n&&pg(e.doc,t.head)==ag(b(s,0)))return{changes:{from:t.head-s.length,to:t.head+s.length},range:R.cursor(t.head-s.length)}}return{range:n=t}});return n||t(e.update(s,{scrollIntoView:!0,userEvent:"delete.backward"})),!n}}];function fg(e,t){let i=lg(e,e.selection.main.head),n=i.brackets||tg.brackets;for(let s of n){let r=ag(b(s,0));if(t==s)return r==s?Sg(e,s,n.indexOf(s+s+s)>-1,i):mg(e,s,r,i.before||tg.before);if(t==r&&dg(e,e.selection.main.from))return gg(e,s,r)}return null}function dg(e,t){let i=!1;return e.field(sg).between(0,e.doc.length,e=>{e==t&&(i=!0)}),i}function pg(e,t){let i=e.sliceString(t,t+2);return i.slice(0,w(b(i,0)))}function Og(e,t){let i=e.sliceString(t-2,t);return w(b(i,0))==i.length?i:i.slice(1)}function mg(e,t,i,n){let s=null,r=e.changeByRange(r=>{if(!r.empty)return{changes:[{insert:t,from:r.from},{insert:i,from:r.to}],effects:ig.of(r.to+t.length),range:R.range(r.anchor+t.length,r.head+t.length)};let o=pg(e.doc,r.head);return!o||/\s/.test(o)||n.indexOf(o)>-1?{changes:{insert:t+i,from:r.head},effects:ig.of(r.head+t.length),range:R.cursor(r.head+t.length)}:{range:s=r}});return s?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function gg(e,t,i){let n=null,s=e.changeByRange(t=>t.empty&&pg(e.doc,t.head)==i?{changes:{from:t.head,to:t.head+i.length,insert:i},range:R.cursor(t.head+i.length)}:n={range:t});return n?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Sg(e,t,i,n){let s=n.stringPrefixes||tg.stringPrefixes,r=null,o=e.changeByRange(n=>{if(!n.empty)return{changes:[{insert:t,from:n.from},{insert:t,from:n.to}],effects:ig.of(n.to+t.length),range:R.range(n.anchor+t.length,n.head+t.length)};let o,a=n.head,l=pg(e.doc,a);if(l==t){if(bg(e,a))return{changes:{insert:t+t,from:a},effects:ig.of(a+t.length),range:R.cursor(a+t.length)};if(dg(e,a)){let n=i&&e.sliceDoc(a,a+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:a,to:a+n.length,insert:n},range:R.cursor(a+n.length)}}}else{if(i&&e.sliceDoc(a-2*t.length,a)==t+t&&(o=wg(e,a-2*t.length,s))>-1&&bg(e,o))return{changes:{insert:t+t+t+t,from:a},effects:ig.of(a+t.length),range:R.cursor(a+t.length)};if(e.charCategorizer(a)(l)!=xe.Word&&wg(e,a,s)>-1&&!xg(e,a,t,s))return{changes:{insert:t+t,from:a},effects:ig.of(a+t.length),range:R.cursor(a+t.length)}}return{range:r=n}});return r?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function bg(e,t){let i=rc(e).resolveInner(t+1);return i.parent&&i.from==t}function xg(e,t,i,n){let s=rc(e).resolveInner(t,-1),r=n.reduce((e,t)=>Math.max(e,t.length),0);for(let o=0;o<5;o++){let o=e.sliceDoc(s.from,Math.min(s.to,s.from+i.length+r)),a=o.indexOf(i);if(!a||a>-1&&n.indexOf(o.slice(0,a))>-1){let t=s.firstChild;for(;t&&t.from==s.from&&t.to-t.from>i.length+a;){if(e.sliceDoc(t.to-i.length,t.to)==i)return!1;t=t.firstChild}return!0}let l=s.to==t&&s.parent;if(!l)break;s=l}return!1}function wg(e,t,i){let n=e.charCategorizer(t);if(n(e.sliceDoc(t-1,t))!=xe.Word)return t;for(let s of i){let i=t-s.length;if(e.sliceDoc(i,t)==s&&n(e.sliceDoc(i-1,i))!=xe.Word)return i}return-1}function yg(e={}){return[Qm,nm.of(e),Mm,kg,Ym]}const vg=[{key:"Ctrl-Space",run:Xm},{key:"Escape",run:Tm},{key:"ArrowDown",run:Pm(!0)},{key:"ArrowUp",run:Pm(!1)},{key:"PageDown",run:Pm(!0,"page")},{key:"PageUp",run:Pm(!1,"page")},{key:"Enter",run:Cm}],kg=B.highest(Xr.computeN([nm],e=>e.facet(nm).defaultKeymap?[vg]:[]));class Qg{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class $g{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let n=e,s=i.facet(Ug).markerFilter;s&&(n=s(n));let r=Oi.set(n.map(e=>e.from==e.to||e.from==e.to-1&&i.doc.lineAt(e.from).to==e.from?Oi.widget({widget:new jg(e),diagnostic:e}).range(e.from):Oi.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity+(e.markClass?" "+e.markClass:"")},diagnostic:e}).range(e.from,e.to)),!0);return new $g(r,t,Pg(r))}}function Pg(e,t=null,i=0){let n=null;return e.between(i,1e9,(e,i,{spec:s})=>{if(!t||s.diagnostic==t)return n=new Qg(e,i,s.diagnostic),!1}),n}function Cg(e,t){let i=e.startState.doc.lineAt(t.pos);return!(!e.effects.some(e=>e.is(Zg))&&!e.changes.touchesRange(i.from,i.to))}function Xg(e,t){return e.field(Vg,!1)?t:t.concat(ce.appendConfig.of(aS))}function Tg(e,t){return{effects:Xg(e,[Zg.of(t)])}}const Zg=ce.define(),Ag=ce.define(),Rg=ce.define(),Vg=D.define({create:()=>new $g(Oi.none,null,null),update(e,t){if(t.docChanged){let i=e.diagnostics.map(t.changes),n=null;if(e.selected){let s=t.changes.mapPos(e.selected.from,1);n=Pg(i,e.selected.diagnostic,s)||Pg(i,null,s)}e=new $g(i,e.panel,n)}for(let i of t.effects)i.is(Zg)?e=$g.init(i.value,e.panel,t.state):i.is(Ag)?e=new $g(e.diagnostics,i.value?Lg.open:null,e.selected):i.is(Rg)&&(e=new $g(e.diagnostics,e.panel,i.value));return e},provide:e=>[sa.from(e,e=>e.panel),xr.decorations.from(e,e=>e.diagnostics)]}),Mg=Oi.mark({class:"cm-lintRange cm-lintRange-active"});function Yg(e,t,i){let{diagnostics:n}=e.state.field(Vg),s=[],r=2e8,o=0;n.between(t-(i<0?1:0),t+(i>0?1:0),(e,n,{spec:a})=>{t>=e&&t<=n&&(e==n||(t>e||i>0)&&(t<n||i<0))&&(s.push(a.diagnostic),r=Math.min(e,r),o=Math.max(n,o))});let a=e.state.facet(Ug).tooltipFilter;return a&&(s=a(s)),s.length?{pos:r,end:o,above:e.state.doc.lineAt(r).to<o,create:()=>({dom:_g(e,s)})}:null}function _g(e,t){return Cp("ul",{class:"cm-tooltip-lint"},t.map(t=>Ig(e,t,!1)))}const Wg=e=>{let t=e.state.field(Vg,!1);return!(!t||!t.panel)&&(e.dispatch({effects:Ag.of(!1)}),!0)},Eg=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(Vg,!1);t&&t.panel||e.dispatch({effects:Xg(e.state,[Ag.of(!0)])});let i=ea(e,Lg.open);return i&&i.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(Vg,!1);if(!t)return!1;let i=e.state.selection.main,n=t.diagnostics.iter(i.to+1);return!(!n.value&&(n=t.diagnostics.iter(0),!n.value||n.from==i.from&&n.to==i.to))&&(e.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0}),!0)}}],zg=qi.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(Ug);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){let e=Date.now();if(e<this.lintTime-10)setTimeout(this.run,this.lintTime-e);else{this.set=!1;let{state:e}=this.view,{sources:t}=e.facet(Ug);Promise.all(t.map(e=>Promise.resolve(e(this.view)))).then(t=>{let i=t.reduce((e,t)=>e.concat(t));this.view.state.doc==e.doc&&this.view.dispatch(Tg(this.view.state,i))},e=>{Wi(this.view.state,e)})}}update(e){let t=e.state.facet(Ug);(e.docChanged||t!=e.startState.facet(Ug)||t.needsRefresh&&t.needsRefresh(e))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}}),Ug=Y.define({combine:e=>Object.assign({sources:e.map(e=>e.source)},$e(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?i=>e(i)||t(i):e:t}))});function qg(e,t={}){return[Ug.of({source:e,config:t}),zg,aS]}function Dg(e){let t=[];if(e)e:for(let{name:i}of e){for(let e=0;e<i.length;e++){let n=i[e];if(/[a-zA-Z]/.test(n)&&!t.some(e=>e.toLowerCase()==n.toLowerCase())){t.push(n);continue e}}t.push("")}return t}function Ig(e,t,i){var n;let s=i?Dg(t.actions):[];return Cp("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},Cp("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(n=t.actions)||void 0===n?void 0:n.map((i,n)=>{let r=!1,o=n=>{if(n.preventDefault(),r)return;r=!0;let s=Pg(e.state.field(Vg).diagnostics,t);s&&i.apply(e,s.from,s.to)},{name:a}=i,l=s[n]?a.indexOf(s[n]):-1,h=l<0?a:[a.slice(0,l),Cp("u",a.slice(l,l+1)),a.slice(l+1)];return Cp("button",{type:"button",class:"cm-diagnosticAction",onclick:o,onmousedown:o,"aria-label":` Action: ${a}${l<0?"":` (access key "${s[n]})"`}.`},h)}),t.source&&Cp("div",{class:"cm-diagnosticSource"},t.source))}class jg extends di{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return Cp("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class Bg{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=Ig(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Lg{constructor(e){this.view=e,this.items=[];let t=t=>{if(27==t.keyCode)Wg(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:i}=this.items[this.selectedIndex],n=Dg(i.actions);for(let s=0;s<n.length;s++)if(n[s].toUpperCase().charCodeAt(0)==t.keyCode){let t=Pg(this.view.state.field(Vg).diagnostics,i);t&&i.actions[s].apply(e,t.from,t.to)}}}t.preventDefault()},i=e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)};this.list=Cp("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:i}),this.dom=Cp("div",{class:"cm-panel-lint"},this.list,Cp("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Wg(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Vg).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(Vg),i=0,n=!1,s=null;for(e.between(0,this.view.state.doc.length,(e,r,{spec:o})=>{let a,l=-1;for(let e=i;e<this.items.length;e++)if(this.items[e].diagnostic==o.diagnostic){l=e;break}l<0?(a=new Bg(this.view,o.diagnostic),this.items.splice(i,0,a),n=!0):(a=this.items[l],l>i&&(this.items.splice(i,l-i),n=!0)),t&&a.diagnostic==t.diagnostic?a.dom.hasAttribute("aria-selected")||(a.dom.setAttribute("aria-selected","true"),s=a):a.dom.hasAttribute("aria-selected")&&a.dom.removeAttribute("aria-selected"),i++});i<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)n=!0,this.items.pop();0==this.items.length&&(this.items.push(new Bg(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),n=!0),s?(this.list.setAttribute("aria-activedescendant",s.id),this.view.requestMeasure({key:this,read:()=>({sel:s.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{e.top<t.top?this.list.scrollTop-=t.top-e.top:e.bottom>t.bottom&&(this.list.scrollTop+=e.bottom-t.bottom)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=Pg(this.view.state.field(Vg).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Rg.of(t)})}static open(e){return new Lg(e)}}function Ng(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function Gg(e){return Ng(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const Fg=xr.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Gg("#d11")},".cm-lintRange-warning":{backgroundImage:Gg("orange")},".cm-lintRange-info":{backgroundImage:Gg("#999")},".cm-lintRange-hint":{backgroundImage:Gg("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function Hg(e){return"error"==e?4:"warning"==e?3:"info"==e?2:1}class Jg extends ra{constructor(e){super(),this.diagnostics=e,this.severity=e.reduce((e,t)=>Hg(e)<Hg(t.severity)?t.severity:e,"hint")}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let i=this.diagnostics,n=e.state.facet(lS).tooltipFilter;return n&&(i=n(i)),i.length&&(t.onmouseover=()=>eS(e,t,i)),t}}function Kg(e,t){let i=n=>{let s=t.getBoundingClientRect();if(!(n.clientX>s.left-10&&n.clientX<s.right+10&&n.clientY>s.top-10&&n.clientY<s.bottom+10)){for(let e=n.target;e;e=e.parentNode)if(1==e.nodeType&&e.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",i),e.state.field(rS)&&e.dispatch({effects:sS.of(null)})}};window.addEventListener("mousemove",i)}function eS(e,t,i){function n(){let n=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(n.from)&&e.dispatch({effects:sS.of({pos:n.from,above:!1,create:()=>({dom:_g(e,i),getCoords:()=>t.getBoundingClientRect()})})}),t.onmouseout=t.onmousemove=null,Kg(e,t)}let{hoverTime:s}=e.state.facet(lS),r=setTimeout(n,s);t.onmouseout=()=>{clearTimeout(r),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(r),r=setTimeout(n,s)}}function tS(e,t){let i=Object.create(null);for(let n of t){let t=e.lineAt(n.from);(i[t.from]||(i[t.from]=[])).push(n)}let n=[];for(let e in i)n.push(new Jg(i[e]).range(+e));return Ze.of(n,!0)}const iS=ha({class:"cm-gutter-lint",markers:e=>e.state.field(nS)}),nS=D.define({create:()=>Ze.empty,update(e,t){e=e.map(t.changes);let i=t.state.facet(lS).markerFilter;for(let n of t.effects)if(n.is(Zg)){let s=n.value;i&&(s=i(s||[])),e=tS(t.state.doc,s.slice(0))}return e}}),sS=ce.define(),rS=D.define({create:()=>null,update:(e,t)=>(e&&t.docChanged&&(e=Cg(t,e)?null:Object.assign(Object.assign({},e),{pos:t.changes.mapPos(e.pos)})),t.effects.reduce((e,t)=>t.is(sS)?t.value:e,e)),provide:e=>Do.from(e)}),oS=xr.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:Ng('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:Ng('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:Ng('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),aS=[Vg,xr.decorations.compute([Vg],e=>{let{selected:t,panel:i}=e.field(Vg);return t&&i&&t.from!=t.to?Oi.set([Mg.range(t.from,t.to)]):Oi.none}),Fo(Yg,{hideOn:Cg}),Fg],lS=Y.define({combine:e=>$e(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})});function hS(e={}){return[lS.of(e),nS,iS,oS,rS]}const cS=(()=>[ka(),Ca(),po(),Cf(),ou(),Lr(),no(),Qe.allowMultipleSelections.of(!0),_c(),fu(Ou,{fallback:!0}),ku(),rg(),yg(),Zo(),Vo(),wo(),Lp(),Xr.of([...ug,...$p,...VO,...Lf,...Kc,...vg,...Eg])])(),uS="#abb2bf",fS="#7d8799",dS="#21252b",pS="#2c313a",OS="#282c34",mS="#353a42",gS="#3E4451",SS="#528bff",bS=xr.theme({"&":{color:uS,backgroundColor:OS},".cm-content":{caretColor:SS},".cm-cursor, .cm-dropCursor":{borderLeftColor:SS},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:gS},".cm-panels":{backgroundColor:dS,color:uS},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:OS,color:fS,border:"none"},".cm-activeLineGutter":{backgroundColor:pS},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:mS},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:mS,borderBottomColor:mS},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:pS,color:uS}}},{dark:!0});$h.keyword,$h.name,$h.deleted,$h.character,$h.propertyName,$h.macroName,$h.variableName,$h.labelName,$h.color,$h.name,$h.name,$h.name,$h.separator,$h.typeName,$h.className,$h.number,$h.changed,$h.annotation,$h.modifier,$h.self,$h.namespace,$h.operator,$h.operatorKeyword,$h.url,$h.escape,$h.regexp,$h.link,$h.string,$h.meta,$h.comment,$h.strong,$h.emphasis,$h.strikethrough,$h.link,$h.heading,$h.atom,$h.bool,$h.variableName,$h.processingInstruction,$h.string,$h.inserted,$h.invalid;var xS=(e,t,i)=>new Promise((n,s)=>{var r=e=>{try{a(i.next(e))}catch(e){s(e)}},o=e=>{try{a(i.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((i=i.apply(e,t)).next())});function wS(e){switch(e){case"dark":return bS;default:return null}}var yS=(e=>(e.xml="xml",e.html="html",e.leiden_plus="leiden_plus",e.edcs="edcs",e.phi="phi",e.default="default",e.xquery="xquery",e.css="css",e.tex="tex",e.markdown="markdown",e))(yS||{});const vS=(e,t)=>i=>(i.dispatch(i.state.changeByRange(i=>({changes:[{from:i.from,insert:e},{from:i.to,insert:t}],range:R.range(i.from+e.length,i.to+e.length)}))),!0),kS=e=>t=>(t.dispatch(t.state.changeByRange(t=>({changes:[{from:t.from,insert:e}],range:R.range(t.from,t.from)}))),!0),QS=e=>t=>(e=e.replace(/\$\|([^|]+)\|/g,"${$1}"),t.state.selection.ranges.forEach(i=>{const n=t.state.doc.slice(i.from,i.to);Lm(e=n.length>0?e.replace(/\${(?:\d+:)?_}/,n.toString()):e.replace(/\${(\d+:)?_}/,"${$1}"))(t,{label:""},i.from,i.to)}),!0);function $S(e,t,i){if(t.create){const n=i.dataset.params;if(n){let i;try{i=JSON.parse(n)}catch(e){i=[n]}return Array.isArray(i)&&i.length===t.create.length?t.create.apply(null,i):(console.error("<jinn-codemirror> Expected %d arguments for command %s",t.create.length,e),null)}}return t}const PS={snippet:{create:e=>QS(e)}};class CS{constructor(e,t=[],i=PS){this.threshold=300,this.editor=e,this.commands=i,this.keymap=[],t&&t.forEach(e=>{const t=e.dataset.command,n=i[t];if(n){const i=e.getAttribute("data-key");if(i&&i.length>0){const s=$S(t,n,e);if(s){const e={key:i,run:s};this.keymap.push(e)}}}})}getConfig(){return xS(this,null,(function*(){const e=this;let t=null;const i=qi.fromClass(class{update(i){i.docChanged&&(t&&clearTimeout(t),t=setTimeout(()=>{const t=rc(i.state),n=i.state.doc.toJSON(),s=e.onUpdate(t,n.join("\n"));try{const t=e.serialize();null!=t&&(e.editor._value=t,e.editor.emitUpdateEvent(s))}catch(e){}},e.threshold))}}),n=yield this.getExtensions(this.editor),s=[cS,xr.lineWrapping,Xr.of([Pp,...this.keymap]),Qo(this.editor.placeholder),...n,i];if(this.editor&&this.editor.theme){const e=wS(this.editor.theme);e?s.push(e):console.error("<jinn-codemirror> Unknown theme: %s",this.editor.theme)}return{extensions:s}}))}getCommands(){return this.commands}onUpdate(e,t){return t}setFromValue(e){if(!e)return"";if(e instanceof Node||e instanceof NodeList){const t=new XMLSerializer;if(e instanceof NodeList){const i=[];for(let n=0;n<e.length;n++)i.push(t.serializeToString(e[n]));return i.join("")}return t.serializeToString(e)}return"string"==typeof e?e:JSON.stringify(e)}}const XS=ce.define(),TS=D.define({create:()=>!1,update(e,t){for(let i of t.effects)i.is(XS)&&(e=i.value);return e},provide:e=>sa.from(e,e=>e?ZS:null)});function ZS(e){const t=document.createElement("div");t.className="cm-input-panel";const i=document.createElement("input");return i.type="text",i.placeholder="Name of element (enter to confirm, esc to abort)",i.addEventListener("keyup",t=>{switch(t.key){case"Enter":t.preventDefault();const n=i.value;""!==n&&(vS(`<${n}>`,`</${n}>`)(e),e.focus());case"Esc":case"Escape":e.dispatch({effects:XS.of(!1)})}}),t.appendChild(i),{top:!1,dom:t,mount:()=>setTimeout(()=>i.focus(),50)}}const AS=xr.baseTheme({".cm-input-panel":{padding:"5px 10px",fontFamily:"monospace"},".cm-input-panel input":{width:"100%"}});function RS(){return[TS,AS]}const VS={selectElement:e=>(e.dispatch(e.state.changeByRange(t=>{let i=null;for(let n=rc(e.state).resolveInner(t.from);!i&&n.parent;n=n.parent)"Element"==n.name&&(i=n);return i?{selection:R.range(i.from,i.to),range:R.range(i.from,i.to)}:{range:t}})),!0),removeEnclosing:e=>(e.dispatch(e.state.changeByRange(t=>{let i=null;for(let n=rc(e.state).resolveInner(t.from);!i&&n.parent;n=n.parent)"Element"==n.name&&(i=n);if(i){const e=i.firstChild,t=i.lastChild;if(e&&t)return"SelfClosingTag"===e.name?{range:R.range(e.from,e.from),changes:[{from:e.from,to:e.to,insert:""}]}:{range:R.range(e.from,t.from-(e.to-e.from)),changes:[{from:e.from,to:e.to,insert:""},{from:t.from,to:t.to,insert:""}]}}return{range:t}})),!0),encloseWith:e=>(e.dispatch({effects:XS.of(!e.state.field(TS))}),!0),snippet:{create:e=>QS(e)}};var MS=(e,t,i)=>new Promise((n,s)=>{var r=e=>{try{a(i.next(e))}catch(e){s(e)}},o=e=>{try{a(i.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((i=i.apply(e,t)).next())});const YS=(e,t)=>"AttributeName"===t.type.name&&"xmlns"===e.state.sliceDoc(t.from,t.to),_S=(e,t)=>"Comment"===t.type.name&&/\<\!\-\- Error\:([^ ])* \-\-\>/.test(e.state.sliceDoc(t.from,t.to)),WS=300,ES=e=>e.filter(e=>"info"!==e.severity),zS=e=>({name:"Fix",apply:(t,i,n)=>{const s=t.state.update({changes:{from:i,to:n,insert:e}});t.dispatch(s)}}),US=(e,t)=>i=>{function n(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:s,composed:!0,bubbles:!0}))}const s=[];if(0===i.state.doc.length)return n(!0),s;const r=rc(i.state);let o=!1;const a=[];return r.iterate({enter:e=>{if(e.type.isError&&s.push({message:"Syntax error",severity:"error",from:e.from,to:e.to}),"StartTag"===e.type.name)e.nextSibling(),a.push(i.state.sliceDoc(e.from,e.to));else if("StartCloseTag"===e.type.name){e.nextSibling();const t=i.state.sliceDoc(e.from,e.to),n=a.pop();t!==n&&s.push({message:"Expected closing tag for "+n,severity:"error",from:e.from,to:e.to})}else if("SelfCloseEndTag"===e.type.name)a.pop();else if(YS(i,e)){o=!0,e.nextSibling(),e.nextSibling();const n=i.state.sliceDoc(e.from+1,e.to-1);t&&n!==t&&s.push({message:"Wrong Namespace",severity:"error",from:e.from+1,to:e.to-1,actions:[zS(t)]})}else _S(i,e)&&s.push({message:"Syntax error in source input",severity:"warning",from:e.from,to:e.to})},leave:e=>{"Document"===e.type.name&&t&&!o&&s.push({message:"Missing TEI namespace",severity:"error",from:e.from,to:e.to}),e.type.isError&&s.push({message:"Syntax error in input",severity:"error",from:e.from,to:e.to})}}),n(0===s.length),s},qS=(e,t,i,n)=>{const s=e.state.update({changes:{from:i,to:n,insert:t.label+'=""'},selection:{anchor:i+t.label.length+2}});e.dispatch(s)};class DS extends CS{constructor(e,t=[],i=null,n=!1,s=!1){super(e,t,VS),this.namespace=i,this.checkNamespace=n,this.unwrap=s}getDefaultExtensions(){return[RS(),qg(US(this.editor,this.checkNamespace?this.namespace:null),{delay:WS,markerFilter:ES}),hS({markerFilter:ES})]}getExtensions(){return MS(this,null,(function*(){const e=this.editor.schema;if(e){const t=yield this.loadSchema(e);return this.getDefaultExtensions().concat(cf(t))}return this.getDefaultExtensions().concat(cf())}))}loadSchema(e){return MS(this,null,(function*(){const t=yield fetch(e).then(e=>e.json());let i=t.elements;const n=this.editor.schemaRoot;if(n){const e=t.elements.find(e=>e.name===n);if(e){const n=new Map,s=new Map;t.elements.forEach(e=>s.set(e.name,e)),this.filterSchema(e,s,n),i=Array.from(n.values())}}return this.extendSchema(i),{elements:i}}))}filterSchema(e,t,i,n=0){e.children.forEach(e=>{const s=i.get(e);if(s)return void(s.top=0===n);const r=t.get(e);r&&(r.top=0===n,i.set(e,r),this.filterSchema(r,t,i,n+1))})}extendSchema(e){e.forEach(e=>{e.completion.type="keyword",e.attributes.forEach(e=>{e.completion.type="property",e.completion.apply=qS})})}serialize(){var e;const t=new DOMParser,i=this.unwrap?`<R xmlns="${this.namespace||""}">${this.editor.content}</R>`:this.editor.content,n=t.parseFromString(i,"application/xml");return n.getElementsByTagName("parsererror").length?null:this.unwrap?null==(e=n.firstElementChild)?void 0:e.childNodes:n.firstElementChild}}const IS=33,jS=34,BS=1,LS="() <>|?=.0123456789[]〚〛",NS=new Zl(e=>{let t="";for(;!(e.next<0);){if(46===e.next&&"lost"===t)return e.advance(),void e.acceptToken(jS);const i=String.fromCharCode(e.next);if("~"===i&&"|"===String.fromCharCode(e.peek(1))||LS.indexOf(i)>-1)break;if(803===e.peek(1))break;t+=i,e.advance()}t.length>0&&e.acceptToken(IS)}),GS=new Zl(e=>{let t=0;for(;!(e.next<0||LS.indexOf(String.fromCharCode(e.next))>-1);){if(803!==e.peek(1))break;t++,e.advance(2)}t>0&&e.acceptToken(BS)}),FS=Ll.deserialize({version:14,states:"(vOQOVOOOQOVO'#C_OQOVO'#C`OQOVO'#CaO!nOWO'#CbOQOVO'#CiO!yOVO'#CnO!yOVO'#CoO!yOVO'#CpOOOR'#Cr'#CrO$ZOSO'#CsO!yOVO'#CtOOOR'#D_'#D_OOOR'#Cu'#CuO$`OSO'#CwO!yOVO'#CyO!yOVO'#CyOOOR'#Ch'#ChOOOR'#DP'#DPOOOR'#Cz'#CzQQOVOOO$hOVO,58yO$oOVO,58zO$vOVO,58{OQOVO,58|OQOVO,59OOQOVO,59QO$}OVO,59TOOOR'#C{'#C{O%UOVO,59YO%]OVO,59ZO%dOVO,59[O%nOSO,59_O%sOVO,59`O%}OSO,59cO&SOVO,59eO&ZOcO,59eOOOR-E6x-E6xOOOR1G.e1G.eOOOR1G.f1G.fOOOR1G.g1G.gO&bOVO1G.hO&iOVO1G.jO&pOVO1G.lOOOR1G.o1G.oOOOR-E6y-E6yOOOR1G.t1G.tOOOR1G.u1G.uOOOR1G.v1G.vO&wOSO1G.vOOOR1G.y1G.yOOOR1G.z1G.zO&|OSO1G.zOOOR1G.}1G.}OOOR1G/P1G/POOOR7+$S7+$SOOOR7+$U7+$UOOOR7+$W7+$WOOOR7+$b7+$bOOOR7+$f7+$f",stateData:"'[~OPaO_aO`aOaaOj]OlaOq]Or^OtPOvQOxROySOzTO{UO}VO!PWO!SXO!TYO!VZO!W]O!X]O!Y]O![_O!^`O~OVhOXiOZjO~OPaO_aO`aOaaOj]OlaOq]Or^OzTO{UO}VO!PWO!SXO!TYO!VZO!W]O!X]O!Y]O![_O!^`O~OapO~OarOjrO~OuvO~PQOwwO~PQOwxO~PQO^|O~PQO|!OO~P!yO!O!PO~P!yOe!RO!Q!QO~P!yO!U!SO~Oe!UO!U!TO~P!yO!Z!VO~O!]!WO~P!yO!_!WO~P!yOw!XO~PQOw!YO~PQOw!ZO~PQO!Q![O~O!U!]O~Ol!WXZ_`aZ~",goto:"&X!SPPP!T!T!T!TP!TP!TP!g#XPPPP#X#X#XP#w#w#w#XP#XP#X$g%ZPPP%uPPPPPPPPPPPPP#XqbOPQRTdefghijkyz{pbOPQRTdefghijkyz{ilUVWZ_`mnoqst!ZaOPQRTUVWZ_`defghijkmnoqstyz{!Z[OPQRTUVWZ_`defghijkmnoqstyz{QdOQePQfQQgRQkT`udefgkyz{QyhQziR{jQmUQnVQoWQqZQs_Qt`]}mnoqstqcOPQRTdefghijkyz{",nodeNames:"⚠ Unclear Document Div Recto Verso Part PartId Fragment FragmentNum Column ColumnNum Inline Foreign ForeignEnd LineBreakWrapped LineBreak Number AbbrevUnresolved Abbrev Supplied CertLow GapUnknown Gap SuppliedLost Text QuestionMark LostLines Illegible Erasure",maxTerm:61,skippedNodes:[0],repeatNodeCount:2,tokenData:"-h~Rcpq!^xy!cyz#O!O!P#T!Q![$U!^!_(U!_!`)X!`!a)t!a!b)y!c!}'l!}#O*O#P#Q*s#T#`'l#`#a+Q#a#o'l#p#q,_#r#s-R&Fp&Fq-^&Fq&Fr-c~!cO!X~~!hQ}~!a!b!n#p#q!y~!qPyz!t~!yOe~~#OO{~~#TO!O~~#YQ!W~!Q![#`!a!b#|~#eQl~!Q![#`#`#a#k~#nP#]#^#q~#tP#b#c#w~#|Ol~~$RPl~#`#a#k~$ZSaT!O!P$g!Q![$U!c!}'l#T#o'l~$lT`Tpq${}!O%Q#V#W%_#Y#Z&S#d#e'TT%QO`T~%VP_~pq%Y~%_O_~Q%bP#c#d%eQ%hP#`#a%kQ%nP#i#j%qQ%tP#a#b%wQ%zP#b#c%}Q&SOZQ~&VP#f#g&Y~&]P#T#U&`~&cP#Z#[&f~&iP#a#b&l~&oP#X#Y&r~&uP#b#c&x~&{P#h#i'O~'TOX~Q'WP#T#U'ZQ'^P#f#g'aQ'dP#h#i'gQ'lOVQQ'oS!O!P'{!Q!['l!c!}'l#T#o'lQ(OQ#V#W%_#d#e'T~(ZQ!P~!_!`(a!f!g(f~(fOt~~(iP!_!`(l~(oP!O!P(r~(wQy~#f#g(}#j#k)S~)SOv~~)XOx~~)^Q!Y~!`!a)d!f!g)i~)iOu~~)lP!`!a)o~)tOw~~)yO!Q~~*OOj~~*TQ!V~!O!P*Z!}#O*n~*`P!T~!a!b*c~*fP#P#Q*i~*nO!S~~*sO!^~T*xP!UP#P#Q*{S+QO!_SR+TU!O!P'{!Q!['l!c!}'l#T#]'l#]#^+g#^#o'lR+jU!O!P'{!Q!['l!c!}'l#T#b'l#b#c+|#c#o'lR,RS!ZP!O!P'{!Q!['l!c!}'l#T#o'l~,bQyz,h#r#s,m~,mO|~~,pQ!c!},v#T#o,v~,{Q^~!c!},v#T#o,v~-UP#p#q-X~-^Oz~~-cO![~~-hO!]~",tokenizers:[NS,GS,0,1,2],topRules:{Document:[0,2]},tokenPrec:279}),HS=["Recto","Verso","Fragment","Part","Div","Column"];function JS(e,t){return e.substring(t.from,t.to)}function KS(e,t=FS.parse(e)){const i=[],n=[];let s,r=!1,o="ab";return t.iterate({enter:t=>{if(t.type.isError)return void n.push(`\x3c!-- Error:${JS(e,t)} --\x3e`);const a=t.name;switch(a){case"Document":let l=!1;if(t.firstChild())do{HS.includes(t.type.name)||(l=!/^[\s\n]+$/.test(JS(e,t)))}while(t.nextSibling());r=l,r&&n.push(`<${o}>\n`),t.parent();break;case"Text":case"Number":n.push(JS(e,t));break;case"LineBreak":t.firstChild(),s=/^([0-9]+)\..*$/.exec(JS(e,t)),n.push(`<lb n="${s?s[1]:""}"/>`);break;case"LineBreakWrapped":t.firstChild(),s=/^([0-9]+)\..*$/.exec(JS(e,t)),n.push(`<lb n="${s?s[1]:""}" break="no"/>`);break;case"Div":n.push("<ab>");break;case"Recto":n.push('<div n="r" type="textpart">');break;case"Verso":n.push('<div n="v" type="textpart">');break;case"Fragment":t.firstChild(),s=/^([0-9]+)\..*$/.exec(JS(e,t)),n.push(`<div n="${s?s[1]:""}" subtype="fragment" type="textpart">`);break;case"Part":t.firstChild(),s=/^([a-zA-Z0-9]+)\..*$/.exec(JS(e,t)),n.push(`<div n="${s?s[1]:""}" subtype="part" type="textpart">`);break;case"Column":t.firstChild(),s=/^([a-zA-Z0-9]+)\..*$/.exec(JS(e,t)),n.push(`<div n="${s?s[1]:""}" subtype="column" type="textpart">`);break;case"Foreign":t.lastChild(),s=/^\|\~(.*)$/.exec(JS(e,t)),n.push(`<foreign xml:lang="${s?s[1]:""}">`),t.parent();break;case"Unclear":const h=JS(e,t);let c="";for(let e=0;e<h.length;e++){const t=h.codePointAt(e);t&&803!==t&&(c+=String.fromCodePoint(t))}return n.push(`<unclear>${c}</unclear>`),!1;case"Gap":return t.next(!0),n.push(`<gap reason="lost" quantity="${JS(e,t)}" unit="character"/>`),!1;case"GapUnknown":return n.push('<gap reason="lost" extent="unknown" unit="character"/>'),!1;case"Illegible":return s=/^\.([0-9?]+)(lin)?$/.exec(JS(e,t)),s&&("lin"===s[2]?n.push(`<gap reason="illegible" quantity="${s?s[1]:""}" unit="line"/>`):"?"===s[1]?n.push('<gap reason="illegible" extent="unkown" unit="character"/>'):n.push(`<gap reason="illegible" quantity="${s?s[1]:""}" unit="character"/>`)),!1;case"Erasure":n.push('<del rend="erasure">');break;case"LostLines":return s=/^lost\.([0-9?]+)lin$/.exec(JS(e,t)),s&&("?"===s[1]?n.push('<gap reason="lost" extent="unknown" unit="line"/>'):n.push(`<gap reason="lost" quantity="${s?s[1]:""}" unit="line"/>`)),!1;case"AbbrevUnresolved":n.push("<abbr>");break;case"Abbrev":i.length>0?(t.lastChild(),s=JS(e,t),s.length>0&&"?"===s.charAt(s.length-1)?n.push('<ex cert="low">'):n.push("<ex>"),t.parent()):n.push("<expan>"),i.push("expan");break;case"Supplied":t.lastChild(),"CertLow"===t.name?n.push('<supplied reason="omitted" cert="low">'):n.push('<supplied reason="omitted">'),t.parent();break;case"SuppliedLost":t.lastChild(),"CertLow"===t.name?n.push('<supplied reason="lost" cert="low">'):n.push('<supplied reason="lost">'),t.parent();break;case"ForeignEnd":case"CertLow":return!1;case"QuestionMark":return i.length<2&&n.push("?"),!1;case"Inline":break;default:n.push(`<${a}>`)}},leave:e=>{switch(e.name){case"Document":r&&n.push(`\n</${o}>`);break;case"AbbrevUnresolved":n.push("</abbr>");break;case"Abbrev":if(i.length>1){const e=n[n.length-1];e.endsWith("?")&&(n[n.length-1]=e.substring(0,e.length-2)),n.push("</ex>")}else n.push("</expan>");i.pop();break;case"Div":n.push("</ab>");break;case"Recto":case"Verso":case"Fragment":case"Part":case"Column":n.push("</div>\n");break;case"Supplied":case"SuppliedLost":n.push("</supplied>");break;case"Erasure":n.push("</del>");break;case"Foreign":n.push("</foreign>")}}}),"Inline"===t.type.name&&n.push("</ab>"),n.join("")}const eb=sc.define({parser:FS.configure({props:[nh({Number:$h.number,"LineBreak LineBreakWrapped":$h.contentSeparator,"Div Recto Verso Part Fragment":$h.keyword,"Abbrev!":$h.integer,"( ) [ ]":$h.paren,"Supplied!":$h.comment,"SuppliedLost!":$h.comment,"Unclear!":$h.bool})]}),languageData:{closeBrackets:{brackets:["(","[","{","<"]}}});function tb(){return new Oc(eb)}function ib(e,t){for(let i=0;i<e.childNodes.length;i++)nb(e.childNodes[i],t)}function nb(e,t){if(e)switch(e.nodeType){case Node.DOCUMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:nb(e.firstElementChild,t);break;case Node.ELEMENT_NODE:const i=e;let n;switch(i.localName){case"ab":t.push("<="),ib(i,t),t.push("=>");break;case"abbr":t.push("(|"),ib(i,t),t.push("|)");break;case"del":t.push("〚"),ib(i,t),t.push("〛");break;case"div":n=i.getAttribute("n");switch(i.getAttribute("subtype")){case"column":t.push(`<D=.${n}.column`);break;case"part":t.push(`<D=.${n}.part`);break;default:t.push("<D=."+n)}ib(i,t),t.push("=D>\n");break;case"expan":case"ex":const e=i.getAttribute("cert");t.push("("),ib(i,t),"low"===e&&t.push("?"),t.push(")");break;case"gap":sb(i,t);break;case"lb":n=i.getAttribute("n"),t.length>0&&!/\n+$/.test(t[t.length-1])&&t.push("\n");const s=i.getAttribute("break");t.push(`${n}.${"no"===s?"- ":" "}`);break;case"supplied":rb(i,t);break;case"unclear":const r=i.textContent||"";let o="";for(let e=0;e<r.length;e++){const t=r.codePointAt(e);t&&(o+=String.fromCodePoint(t),o+=String.fromCodePoint(803))}t.push(o);break;case"foreign":t.push("~|"),ib(i,t),t.push("|~"+i.getAttribute("xml:lang"));break;default:ib(i,t)}break;case Node.TEXT_NODE:t.push(e.nodeValue||"")}}function sb(e,t){const i=e.getAttribute("unit"),n=e.getAttribute("quantity"),s=e.getAttribute("reason");if(s)switch(s){case"lost":switch(i){case"character":n?t.push(`[.${n}]`):t.push("[.?]");break;case"line":n?t.push(`lost.${n}lin`):t.push("lost.?lin")}break;case"illegible":switch(i){case"character":n?t.push("."+n):t.push(".?");break;case"line":n&&t.push(`.${n}lin`)}}}function rb(e,t){const i=e.getAttribute("reason");if(i){const n=e.getAttribute("cert");switch(i){case"omitted":t.push("<"),ib(e,t),n&&"low"===n&&t.push("(?)"),t.push(">");break;case"lost":default:t.push("["),ib(e,t),n&&"low"===n&&t.push("(?)"),t.push("]")}}}function ob(e){if(!(e instanceof Element))return"";const t=[];let i=e.querySelectorAll("cb");if(i.length>0){i=(e=e.cloneNode(!0)).querySelectorAll("cb");for(let n=0;n<=i.length;n++){const s=document.createRange();0===n?s.setStart(e,0):s.setStartAfter(i[n-1]),n===i.length?e.lastChild&&s.setEndAfter(e.lastChild):s.setEndBefore(i[n]);const r=document.createElement("div");r.setAttribute("type","textpart"),r.setAttribute("subtype","column"),r.setAttribute("n",(n+1).toString());const o=document.createElement("ab");r.appendChild(o),o.appendChild(s.extractContents()),nb(r,t)}}else nb(e,t);return t.join("")}var ab=(e,t,i)=>new Promise((n,s)=>{var r=e=>{try{a(i.next(e))}catch(e){s(e)}},o=e=>{try{a(i.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((i=i.apply(e,t)).next())});const lb=e=>({name:"Fix",apply:(e,t,i)=>{const n=e.state.wordAt(t);n&&(t=n.from);const s=e.state.doc.sliceString(t,i),r=e.state.update({changes:{from:t,to:i,insert:`(${s.toString()})`}});e.dispatch(r)}}),hb=e=>t=>{function i(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:n,composed:!0,bubbles:!0}))}const n=[],s=rc(t.state);let r=0,o=!1;return s.iterate({enter:e=>{"Abbrev"===e.name?r+=1:e.type.isError&&n.push({message:"Syntaxfehler",severity:"error",from:e.from,to:e.to})},leave:e=>{"Abbrev"===e.name&&(2===r?o=!0:o||n.push({message:'Invalid abbreviation. Abbreviations must\nuse double parenthesis, e.g. "(C(aesar))"',severity:"error",from:e.from,to:e.to,actions:[lb()]}),r-=1,0===r&&(o=!1))}}),i(0===n.length),n},cb=e=>(e.dispatch(e.state.changeByRange(t=>{const i=e.state.doc.slice(t.from,t.to).toString();let n="";for(let e=0;e<i.length;e++)e+1<i.length&&803===i.charCodeAt(e+1)?(n+=i.charAt(e),e++):n+=i.charAt(e)+"̣";return{changes:[{from:t.from,to:t.to,insert:n}],range:R.range(t.from,t.from+n.length)}})),!0),ub=e=>{const t=e.state.doc.toString();let i;if(-1!==t.indexOf("/")){i=t.split(new RegExp("(?<!\\/)\\/\\/?")).map((e,t)=>/^\s+/.test(e)||0===t?`${t+1}. ${e.replace(/^\s+/,"")}`:`${t+1}.- ${e.replace(/^\s+/,"")}`).join("\n")}else{let e=0;i=t.replace(/^(?!\d+\.)/gm,()=>(e+=1,e+". "))}return e.dispatch({changes:[{from:0,to:e.state.doc.length,insert:i}]}),!0},fb={expan:e=>(e.state.selection.ranges.forEach(t=>{const i=e.state.doc.slice(t.from,t.to).toString();let n="",s="";i.length>0&&(n=i.charAt(0),s=i.substring(1));Lm(`(\${1:${n}}(\${2:${s}}))\${3}`)(e,{label:""},t.from,t.to)}),!0),div:vS("<=\n","\n=>"),fragment:QS("<D=.${1:1}.fragment<=\n${2:_}\n=>=D>${3}"),part:QS("<D=.${1:A}.part<=\n${2:_}\n=>=D>${3}"),recto:vS("<D=.r<=\n","\n=>=D>"),verso:vS("<D=.v<=\n","\n=>=D>"),erasure:vS("〚","〛"),foreign:QS("~|${1:_}|~${2:gr}${3}"),unclear:cb,fixNewlines:ub,snippet:{create:e=>QS(e)}},db=[{key:"Ctrl-Shift-e",mac:"Cmd-Shift-e",run:fb.expan},{key:"Ctrl-Shift-a",mac:"Cmd-Shift-a",run:fb.div},{key:"Ctrl-Shift-f",mac:"Cmd-Shift-f",run:fb.fragment},{key:"Ctrl-Shift-p",mac:"Cmd-Shift-p",run:fb.part},{key:"Ctrl-Shift-r",mac:"Cmd-Shift-r",run:fb.recto},{key:"Ctrl-Shift-v",mac:"Cmd-Shift-v",run:fb.verso},{key:"Ctrl-Shift-d",mac:"Cmd-Shift-d",run:fb.erasure},{key:"Ctrl-Shift-u",mac:"Cmd-Shift-u",run:fb.unclear},{key:"Ctrl-Shift-f",mac:"Cmd-Shift-f",run:fb.foreign}];class pb extends CS{constructor(e,t){super(e,t,fb)}getExtensions(){return ab(this,null,(function*(){return[tb(),qg(hb(this.editor)),Xr.of(db),hS()]}))}getCommands(){return fb}onUpdate(e,t){return KS(t,e)}serialize(){return this.editor.content}setFromValue(e){if(!e)return"";if(e instanceof NodeList){const t=[];return e.forEach(e=>t.push(ob(e))),t.join("")}return e instanceof Element?ob(e):super.setFromValue(e)}}function Ob(e,t){const i=1;(e=(e=e.toString().replace(/\t+/g,"")).replace(/\r/g,"")).toString().length-e.toString().lastIndexOf(" ")==1&&(e=e.toString().substring(0,e.toString().lastIndexOf(" ")));{e='<lb n="'+i.toString()+'"/>'+e;const n=/(\-|-?|\=?)\s?\n/g;let s=i-1;if(e=(e=e.replace(n,(function(e,t){return"-"===t||"="===t?'\n<lb n="'+(2+s++)+'" break="no"/>':'\n<lb n="'+(2+s++)+'"/>'}))).replace(/(\<lb n=\"[0-9]*\"\/\>)\[(\s?—\s?){3,50}\]\n(\<lb n=\"[0-9]*\"\/\>)/g,'$1<gap reason="illegible" quantity="1" unit="line"/>\n$3'),t==yS.edcs){s=0,e=e.replace(/(\s)?(\/\/)(?!\>)(\s)?/g,(function(e){if("/"===e[0])var t=' break="no"';else t="";return'\n<cb n="'+(2+s++)+'"'+t+"/>"}));const t=/(\s)?(\/{1})(?!\>)(\s)?/g;s=0,e=e.replace(t,(function(e){if("/"===e[0])var t=' break="no"';else t="";return console.log("BreakNo = "+t),console.log("Match 0= "+e[0]),'\n<lb n="'+(2+s++)+'"'+t+"/>"}))}t==yS.phi&&(e=(e=(e=e.replace(/#⁷/g,'<gap reason="illegible" quantity="1" unit="character"/>')).replace(/#⁷#⁷#⁷/g,'<gap reason="illegible" quantity="3" unit="character"/>')).replace(/#⁵⁶/g,'<g type="interpunct">▴</g>'));const r=/\n<lb n=\'([0-9])\'\/>\1\s/g,o='\n<lb n="$1"/>',a=/(\"[0-9]{1,3}\"\/>)([0-9]{1,3})/g,l="$1";e=(e=e.replace(r,o)).replace(a,l)}const n=/\<([^\x00-\x7F]*[aA-zZ]*)(?!\=)(?!\/)\>/g,s='<supplied reason="omitted">$1</supplied>',r=/⟨([^\x00-\x7F]*[aA-zZ]*)(?!\=)(?!\/)⟩/g,o='<supplied reason="omitted">$1</supplied>';if(e=(e=e.replace(n,s)).replace(r,o),t==yS.edcs){const t=/\<([^\x00-\x7F]*[aA-zZ]*)(\=)([^\x00-\x7F]*[aA-zZ]*)(?!\/)\>/g,i="<choice><corr>$1</corr><sic>$3</sic></choice>";e=(e=(e=(e=(e=(e=(e=(e=e.replace(t,i)).replace(/\[6\]/g,'<gap reason="lost" quantity="1" unit="line"/>')).replace(/\[3\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[3\s([^\x00-\x7F]*[aA-zZ]*)\]/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$1</supplied>')).replace(/\[3\s/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/\s3\s/g," - - - ")).replace(/\s3\]/g," - - -]")).replace(/a\(\)/g,"<abbr>a</abbr>")}let a=/\[(\–|\-)\s?(\–|\-)\s?(\–|\-)\]/g;e=(e=(e=e.replace(/\(\!\)/g,"<note>!</note>")).replace(/\(sic\)/g,"<note>sic</note>")).replace(a,(function(e,t){return'<gap reason="lost" extent="unknown" unit="character"/>'})),a=/\[(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\]/g,e=e.replace(a,(function(e,t){return'<gap reason="lost" quantity="'+t+'" unit="character"/>'})),a=/\[(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\s/g,e=e.replace(a,(function(e,t){return e.length,'<gap reason="lost" quantity="'+t+'" unit="character"/><supplied reason="lost">'})),a=/\s(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\]/g,e=e.replace(a,(function(e,t){return e.length,'</supplied><gap reason="lost" quantity="'+t+'" unit="character"/>'})),a=/\s(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\s/g,e=e.replace(a,(function(e,t){return e.length,'</supplied><gap reason="lost" quantity="'+t+'" unit="character"/><supplied reason="lost">'})),a=/\[((\.){1,99})\]/g,e=e.replace(a,(function(e,t){return'<gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/>'})),a=/\[((\.){1,99})\s/g,e=e.replace(a,(function(e,t){return'<gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/><supplied reason="lost">'})),a=/\s((\.){1,99})\]/g,e=e.replace(a,(function(e,t){return'</supplied><gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/>'})),a=/\s((\.){1,99})\s/g,e=e.replace(a,(function(e,t){return'</supplied><gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/><supplied reason="lost">'})),a=/([^\x00-\x7F]*[aA-zZ]*)\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(\])/g;let l='<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan>';e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/\[(-|–|\.\s?){1,20}ca\.(\s?)([1-9][0-9]*)((-)([1-9][0-9]*))(\s?)(-|–|\.\s?){1,20}\]/g,'<gap reason="lost" atLeast="$3" atMost="$6" unit="character"/>')).replace(/\[(-|–|\.\s?){1,20}ca\.(\s?)([1-9][0-9]*)(\s?)(-|–|\.\s?){1,20}\]/g,'<gap reason="lost" quantity="$3" unit="character" precision="low"/>')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'<gap reason="lost" atLeast="$1" atMost="$2" unit="character"/>')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'<gap reason="lost" atLeast="$1" atMost="$2" unit="character"/><supplied reason="lost">')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/><supplied reason="lost">')).replace(/\s(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'</supplied><gap reason="lost" atLeast="$1" atMost="$2" unit="character"/>')).replace(/\s(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'</supplied><gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\s(?:[\.․]){2,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'</supplied><gap reason="lost" atLeast="$1" atMost="$2" unit="character"/><supplied reason="lost">')).replace(/\s(?:[\.․]){2,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'</supplied><gap reason="lost" quantity="$1" unit="character" precision="low"/><supplied reason="lost">')).replace(/(?:\s|\n)\(([^\x00-\x7F]*[aA-zZ]*)\)/g," <expan><ex>$1</ex></expan>")).replace(/\[{2}/g,"⟦")).replace(/\]{2}/g,"⟧")).replace(/\[([^\x00-\x7F]*[aA-zZ]*[^\]])\]([^\x00-\x7F]*[aA-zZ]*[^\]])\(([^\x00-\x7F]*?[aA-zZ]*?)\)/g,'<expan><abbr><supplied reason="lost">$1</supplied>$2</abbr><ex>$3</ex></expan>')).replace(/(〚|⟦|\[\[)([^\x00-\x7F]*[aA-zZ]*[^\]])(〛|⟧|]])([^\x00-\x7F]*[aA-zZ]*[^\]])\(([^\x00-\x7F]*?[aA-zZ]*?)\)/g,'<expan><abbr><supplied reason="lost">$1</supplied>$2</abbr><ex>$3</ex></expan>')).replace(/\[(\w*?\s?)(?:(?:(?:\-|\–|\—)\s?){1,20})(\w*?)\](?![^\x00-\x7F]*?[aA-zZ]*?\()/g,'<supplied reason="lost">$1</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$2</supplied>')).replace(/<supplied reason=\"lost\"><\/supplied>/g,"")).replace(/(?:⟦|〚)(.*?\s?)(?:(?:(?:\-|\–|\—)\s?){1,20})(.*?)(?:⟧|〛)(?![^\x00-\x7F]*?[aA-zZ]*?\()/g,'<del rend="erasure">$1</del><gap reason="lost" extent="unknown" unit="character"/><del rend="erasure">$2</del>')).replace(/(?:\s)\[(.*?)\](?:\n)/g,' <supplied reason="lost">$1</supplied>\n')).replace(/(?:\s)\[(.*)\](?:\s)/g,' <supplied reason="lost">$1</supplied> ')).replace(/(?:\s)(?:⟦|〚)(.*?)(?:⟧|〛)(?:\n)/g,' <del rend="erasure">$1</del>\n')).replace(/(?:\s)(?:⟦|〚)(.*?)(?:⟧|〛)(?:\s)/g,' <del256 rend="erasure">$1</del> ')).replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)(?:⟦|〚)([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(?:⟧|〛)/g,l='<expan><abbr>$1<del rend="erasure">$2</del></abbr><ex>$3</ex></expan>',e=e.replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(\s)?([^\x00-\x7F]*[aA-zZ]*)?(\s)?(\])/g,l='<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan><supplied reason="lost">$4$5</supplied>',e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/([^\x00-\x7F]*?[aA-zZ]*?[^>])?\[([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])\](?![^\x00-\x7F]*?[aA-zZ]*\()/g,'<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan> <supplied reason="lost">$4</supplied>')).replace(/([^\x00-\x7F]*?[aA-zZ]*?[^\s][^>])?(?:\s?)(?:⟦|〚)([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])(?:⟧|〛)(?![^\x00-\x7F]*?[aA-zZ]*\()/g,'<expan><abbr>$1<del rend="erasure">$2</del></abbr><ex>$3</ex></expan> <del rend="erasure">$4</del>')).replace(/([^\x00-\x7F]*?[aA-zZ]+)\[([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])([^\x00-\x7F]*?[aA-zZ]*?)\](?:([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\))/g,'<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan> <supplied reason="lost">$4</supplied><expan><abbr><supplied reason="lost">$5</supplied>$6</abbr><ex>$7</ex></expan>')).replace(/([^\x00-\x7F]*?[aA-zZ]*?)(?:⟦|〚)([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])([^\x00-\x7F]*?[aA-zZ]*?)(?:⟧|〛)(?:([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\))/g,'<expan><abbr>$1<del rend="erasure">$2</del></abbr><ex>$3</ex></expan> <del rend="erasure">$4</del><expan><abbr><del rend="erasure">$5</del>$6</abbr><ex>$7</ex></expan>')).replace(/<supplied reason="lost"> (?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20} <\/supplied>/g,'<gap reason="lost" atLeast="$1" atMost="$2" unit="character"/>')).replace(/<supplied reason=\"lost\">(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit="character"\/>)<\/supplied>/g,"$1")).replace(/\[(.[^\[\-\–\—]*)\](?![^\x00-\x7F]*[aA-zZ]*\()/g,'<supplied reason="lost">$1</supplied>')).replace(/(?:⟦|〚)(.[^\[]*)\](?![^\x00-\x7F]*[aA-zZ]*\()/g,'<del rend="erasure">$1</supplied>')).replace(/(?:\s)\[((.[^\.<])*)\s/g,' <supplied reason="lost"><expan><abbr>$1</abbr><ex>$2</ex></expan></supplied>')).replace(/(?!([^\x00-\x7F]*[aA-zZ]*))(\s)([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)\]/g,'$1<supplied reason="lost"><expan><abbr>$2</abbr><ex>$3</ex></expan></supplied>')).replace(/(\s)([^\x00-\x7F]*?[aA-zZ]*?)\]([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*[aA-zZ]*)\)/g,'$1</supplied><expan><abbr><supplied reason="lost">$2</supplied>$3</abbr><ex>$4</ex></expan>')).replace(/(\s)([^\x00-\x7F]+[aA-zZ]+)\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)/g,' <expan><abbr>$2<supplied reason="lost">$3</supplied></abbr><ex>$4</ex></expan> <supplied reason="lost">')).replace(/\[([^\x00-\x7F]*[aA-zZ]*)\(\?\)((\s?(\-|\–|\—)\s?){1,20})\]/g,'<supplied reason="lost" cert="low">$1</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[([^\x00-\x7F]*[aA-zZ]*)((\s?(\-|\–|\—)\s?){1,20})\]/g,'<supplied reason="lost">$1</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(a,l),a=/(〚|⟦|\[\[)([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)([^\x00-\x7F]*[aA-zZ]*)?(〛|⟧|]])/g,l='<del rend="erasure"><expan><abbr>$2</abbr><ex>$3</ex></expan>$4</del>',e=e.replace(a,l),a=/\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(])/g,l='<supplied reason="lost"><expan><abbr>$1</abbr><ex>$2</ex></expan></supplied>',e=e.replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\?\)/g;const h='<expan><abbr>$1</abbr><ex cert="low">$2</ex></expan>';e=e.replace(a,h),a=/([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)([^\x00-\x7F]*[aA-zZ]*)*\(([^\x00-\x7F]*[aA-zZ]*)\)/g,l="<expan><abbr>$1</abbr><ex>$2</ex><abbr>$3</abbr><ex>$4</ex></expan>",e=e.replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)([^\x00-\x7F]*[aA-zZ]*)*/g,l="<expan><abbr>$1</abbr><ex>$2</ex>$3</expan>";const c=/\[/g,u='<supplied reason="lost">',f=/\]/g,d="</supplied>";e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(a,l)).replace("</expan><expan><abbr>","<abbr>")).replace("\n[------]",'<gap unit="line" />')).replace(/(-){6}/g,'<gap unit="line" />')).replace(/\[(—\s?)*\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[---\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[— — —ca\.([1-9][0-9]*)((-)([1-9][0-9]*))?— — —\]/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\[— — — —ca\.([1-9][0-9]*)((-)([1-9][0-9]*))?— — — —\]/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\[(-|–\s?){1,20}ca\.(\s?)([1-9][0-9]*)?(\s?)(-|–\s?){1,20}\]/g,'<gap reason="lost" quantity="$3" unit="character" precision="low"/>')).replace(/\------\?/g,'<gap reason="lost" extent="unknown" unit="line"><certainty match=".." locus="name"/></gap>')).replace(/\[\------\?\]/g,'<gap reason="lost" extent="unknown" unit="line"><certainty match=".." locus="name"/></gap>')).replace(/\[\---\?\]/g,'<gap reason="lost" extent="unknown" unit="line"><certainty match=".." locus="name"/></gap>')).replace(/\[(-|–|\—\s?){1,20}([^\x00-\x7F]*[aA-zZ]*)\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[(-|–|\—\s?){1,20}([^\x00-\x7F]*[aA-zZ]*)\]/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$2</supplied>')).replace(/(?:⟦|〚)(-|–|\—\s?){1,20}([^\x00-\x7F]*[aA-zZ]*)(?:⟧|〛)/g,'<gap reason="lost" extent="unknown" unit="character"/><del rend="erasure">$2</supplied>')).replace(/\[(?!([\-\–\—]))(((?!([\-\–\—\[\]]))[^\x00-\x7F]*[aA-zZ]*(\s?)){1,10})(([\-\—\–])\s?){1,20}\]/g,'<supplied reason="lost">$2</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/(([\-\—\–])\s?){1,20}\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/<expan><abbr>\[/g,'<supplied reason="lost"><expan><abbr>')).replace(/<\/expan> <\/supplied></g,"</expan></supplied> <")).replace(/<supplied reason=\"lost\"><expan><abbr>([^\x00-\x7F]*?[aA-zZ]*?)\]/g,'<expan><abbr><supplied reason="lost">$1</supplied>')).replace(/<expan><abbr><\/abbr><ex>/g,"<expan><ex>")).replace(c,u)).replace(f,d);const p=/([+])+/g,O=/\[(․{1,20})\]/g,m=/(hed\.)̣/gi,g='<g type="hedera">❦</g>',S=/vac\./gi,b='<space extent="unknown" unit="character"/>',x=/\{([^\x00-\x7F]*[aA-zZ]*)\}/g,w="<surplus>$1</surplus>";a=/(〚)(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(〛)/gm,l='<del rend="erasure">$2</del>',e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/<\/ex><\/supplied><\/expan>/g,"</ex></expan></supplied>")).replace(/((\s?(\-|\—|\–)\s?){1,20})<\/supplied>/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/((\s?(\-|\—|\–)\s?){1,20})<\/supplied>/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/<supplied reason=\"lost\">((\s?(\-|\—|\–)\s?){1,20})/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/<supplied reason=\"lost\"><\/supplied><gap reason=\"lost\" extent=\"unknown\" unit=\"character\"\/><supplied reason=\"lost\"><\/supplied>/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/<supplied reason=\"lost\"> <\/supplied>/g,"")).replace(/<del rend=\"erasure\">\s?<\/del>/g,"")).replace(/<\/supplied>\s?<\/supplied>/g,"</supplied>")).replace(/\/><\/supplied><gap/g,"/><gap")).replace(/\[(?!([\-\–\—]))((?:\s?(?:(?!(?:[\-\–\—\[\]]))[^\x00-\x7F]*[aA-zZ](?!\s)*)){1,10})(?:(?:\s?[\-\—\–])\s?){1,20}((?:(?!([\-\–\—\[\]]))[^\x00-\x7F]*[aA-zZ]*))\]/g,'<supplied reason="lost">$2</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$3</supplied>')).replace(/(\s?([\-\—\–])\s?){1,20}/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/\[(.[^\[]*)(\s)([^\x00-\x7F]*[aA-zZ]*)\]([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)/g,'<supplied reason="lost">$1</supplied><expan><abbr><supplied reason="lost">$3</supplied>$4</abbr><ex>$5</ex></expan>')).replace(p,(function(e){return console.log("Ici match:"+e.length),'<gap reason="illegible" quantity="'+e.length+'" unit="character"/>'}))).replace(O,(function(e){console.log("Ici match:"+e.length);return'<gap reason="illegible" quantity="'+(e.length-2)+'" unit="character"/>'}))).replace(/<supplied reason=\"lost\"> <gap/g," <gap")).replace(m,g)).replace(S,b)).replace(x,w)).replace(a,l),a=/(⟦)(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(⟧)/gm,l='<del rend="erasure">$2</del>',e=e.replace(a,l),a=/(\[){2}(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(\]){2}/gm,l='<del rend="erasure">$2</del>';const y=/(\[)(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(\])/gm,v='<supplied reason="lost">$2</supplied>';e=(e=e.replace(a,l)).replace(y,v),a=new RegExp("a","u");const k=/(\[)([^\x00-\x7F]*[aA-zZ]*\s?[^\x00-\x7F]*[aA-zZ]*)(---)?(\])/g,Q='<supplied reason="lost">$2</supplied><gap reason="lost" />',$=/([^\x00-\x7F]?[aA-zZ]?)̣/g,P="<unclear>$1</unclear>",C=/(\<\/unclear\>\<unclear\>)/g,X="";return e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(k,Q)).replace($,P)).replace(C,X)).replace(/(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit=\"character\"\/>)<expan><abbr>((?:[^\x00-\x7F]*?[aA-zZ]*?)*)<\/supplied>/g,'$1<expan><abbr><supplied reason="lost">$2</supplied>')).replace(/(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit=\"character\"\/>)<\/supplied>/g,"$1")).replace(/(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit=\"character\"\/>)<expan><abbr>((?:[^\x00-\x7F]*?[aA-zZ]*?)*)<\/supplied>/g,'$1<expan><abbr><supplied reason="lost">$2</supplied>')).replace(/(<gap reason=\"lost\" quantity=\"[0-9]*\" unit=\"character\" precision=\"low\"\/>)<\/supplied>/g,"$1")).replace(/(\/\>)\s(\<lb n=\"[0-9]*\"\/\>)/g,"$1\n$2")).replace(/unit=\"line\"\/>\s(\w)/g,'unit="line"/>$1')).replace(/ ?∙ ?/g,' <g type="interpunct">▴</g> ')).replace(/ ?𐆖 ?/g,' <g type="denarius"/> ')).replace(/❦/g,' <g type="hedera">❦</g> ')).replace(/\s\s/g," ")).replace(/ {2,99}/g,"")}var mb=(e,t,i)=>new Promise((n,s)=>{var r=e=>{try{a(i.next(e))}catch(e){s(e)}},o=e=>{try{a(i.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((i=i.apply(e,t)).next())});function gb(e,t){const i=`<ab>${Ob(e,t)}\n</ab>`,n=(new DOMParser).parseFromString(i,"application/xml");if(!n.firstElementChild)return"";return n.querySelector("parsererror")?null:ob(n.firstElementChild)}const Sb=(e,t)=>i=>{const n=gb(i.state.doc.toJSON().join("\n"),t);return n?(e._value=n,e.mode="leiden_plus"):alert("Conversion failed due to invalid XML!"),!0},bb={erasure:vS("[[","]]"),gap:kS("[---]")};class xb extends CS{constructor(e,t=[],i){super(e,t,Object.assign(bb,{convert:Sb(e,i)})),this._sourceType=i}getExtensions(){return mb(this,null,(function*(){return[hS()]}))}onUpdate(e,t){return`<ab>\n${Ob(t,this._sourceType)}\n</ab>`}serialize(){return this.editor.content}}var wb=function(){function e(e){return{type:e,style:"keyword"}}for(var t=e("operator"),i={type:"atom",style:"atom"},n={type:"axis_specifier",style:"qualifier"},s={",":{type:"punctuation",style:null}},r=["after","all","allowing","ancestor","ancestor-or-self","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","distance","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","every","exactly","except","external","first","following","following-sibling","for","from","ftand","ftnot","ft-option","ftor","function","fuzzy","greatest","group","if","import","in","inherit","insensitive","insert","instance","intersect","into","invoke","is","item","language","last","lax","least","let","levels","lowercase","map","modify","module","most","namespace","next","no","node","nodes","no-inherit","no-preserve","not","occurs","of","only","option","order","ordered","ordering","paragraph","paragraphs","parent","phrase","preceding","preceding-sibling","preserve","previous","processing-instruction","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","sequence","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","transform","treat","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","wildcards","window","with","without","word","words","xquery"],o=0,a=r.length;o<a;o++)s[r[o]]=e(r[o]);var l=["xs:anyAtomicType","xs:anySimpleType","xs:anyType","xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:dateTimeStamp","xs:dayTimeDuration","xs:decimal","xs:double","xs:duration","xs:ENTITIES","xs:ENTITY","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:ID","xs:IDREF","xs:IDREFS","xs:int","xs:integer","xs:item","xs:java","xs:language","xs:long","xs:Name","xs:NCName","xs:negativeInteger","xs:NMTOKEN","xs:NMTOKENS","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:normalizedString","xs:NOTATION","xs:numeric","xs:positiveInteger","xs:precisionDecimal","xs:QName","xs:short","xs:string","xs:time","xs:token","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort","xs:untyped","xs:untypedAtomic","xs:yearMonthDuration"];for(o=0,a=l.length;o<a;o++)s[l[o]]=i;var h=["eq","ne","lt","le","gt","ge",":=","=",">",">=","<","<=",".","|","?","and","or","div","idiv","mod","*","/","+","-"];for(o=0,a=h.length;o<a;o++)s[h[o]]=t;var c=["self::","attribute::","child::","descendant::","descendant-or-self::","parent::","ancestor::","ancestor-or-self::","following::","preceding::","following-sibling::","preceding-sibling::"];for(o=0,a=c.length;o<a;o++)s[c[o]]=n;return s}();function yb(e,t,i){return t.tokenize=i,i(e,t)}function vb(e,t){var i=e.next(),n=!1,s=Yb(e);if("<"==i){if(e.match("!--",!0))return yb(e,t,Xb);if(e.match("![CDATA",!1))return t.tokenize=Tb,"tag";if(e.match("?",!1))return yb(e,t,Zb);var r=e.eat("/");e.eatSpace();for(var o,a="";o=e.eat(/[^\s\u00a0=<>\"\'\/?]/);)a+=o;return yb(e,t,Pb(a,r))}if("{"==i)return Wb(t,{type:"codeblock"}),null;if("}"==i)return Eb(t),null;if(Ab(t))return">"==i?"tag":"/"==i&&e.eat(">")?(Eb(t),"tag"):"variable";if(/\d/.test(i))return e.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";if("("===i&&e.eat(":"))return Wb(t,{type:"comment"}),yb(e,t,kb);if(s||'"'!==i&&"'"!==i){if("$"===i)return yb(e,t,$b);if(":"===i&&e.eat("="))return"keyword";if("("===i)return Wb(t,{type:"paren"}),null;if(")"===i)return Eb(t),null;if("["===i)return Wb(t,{type:"bracket"}),null;if("]"===i)return Eb(t),null;var l=wb.propertyIsEnumerable(i)&&wb[i];if(s&&'"'===i)for(;'"'!==e.next(););if(s&&"'"===i)for(;"'"!==e.next(););l||e.eatWhile(/[\w\$_-]/);var h=e.eat(":");!e.eat(":")&&h&&e.eatWhile(/[\w\$_-]/),e.match(/^[ \t]*\(/,!1)&&(n=!0);var c=e.current();return l=wb.propertyIsEnumerable(c)&&wb[c],n&&!l&&(l={type:"function_call",style:"def"}),Vb(t)?(Eb(t),"variable"):("element"!=c&&"attribute"!=c&&"axis_specifier"!=l.type||Wb(t,{type:"xmlconstructor"}),l?l.style:"variable")}return yb(e,t,Qb(i))}function kb(e,t){for(var i,n=!1,s=!1,r=0;i=e.next();){if(")"==i&&n){if(!(r>0)){Eb(t);break}r--}else":"==i&&s&&r++;n=":"==i,s="("==i}return"comment"}function Qb(e,t){return function(i,n){var s;if(Mb(n)&&i.current()==e)return Eb(n),t&&(n.tokenize=t),"string";if(Wb(n,{type:"string",name:e,tokenize:Qb(e,t)}),i.match("{",!1)&&Rb(n))return n.tokenize=vb,"string";for(;s=i.next();){if(s==e){Eb(n),t&&(n.tokenize=t);break}if(i.match("{",!1)&&Rb(n))return n.tokenize=vb,"string"}return"string"}}function $b(e,t){var i=/[\w\$_-]/;if(e.eat('"')){for(;'"'!==e.next(););e.eat(":")}else e.eatWhile(i),e.match(":=",!1)||e.eat(":");return e.eatWhile(i),t.tokenize=vb,"variable"}function Pb(e,t){return function(i,n){return i.eatSpace(),t&&i.eat(">")?(Eb(n),n.tokenize=vb,"tag"):(i.eat("/")||Wb(n,{type:"tag",name:e,tokenize:vb}),i.eat(">")?(n.tokenize=vb,"tag"):(n.tokenize=Cb,"tag"))}}function Cb(e,t){var i=e.next();return"/"==i&&e.eat(">")?(Rb(t)&&Eb(t),Ab(t)&&Eb(t),"tag"):">"==i?(Rb(t)&&Eb(t),"tag"):"="==i?null:'"'==i||"'"==i?yb(e,t,Qb(i,Cb)):(Rb(t)||Wb(t,{type:"attribute",tokenize:Cb}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(">",!1)||e.match("/",!1))&&(Eb(t),t.tokenize=vb),"attribute")}function Xb(e,t){for(var i;i=e.next();)if("-"==i&&e.match("->",!0))return t.tokenize=vb,"comment"}function Tb(e,t){for(var i;i=e.next();)if("]"==i&&e.match("]",!0))return t.tokenize=vb,"comment"}function Zb(e,t){for(var i;i=e.next();)if("?"==i&&e.match(">",!0))return t.tokenize=vb,"processingInstruction"}function Ab(e){return _b(e,"tag")}function Rb(e){return _b(e,"attribute")}function Vb(e){return _b(e,"xmlconstructor")}function Mb(e){return _b(e,"string")}function Yb(e){return'"'===e.current()?e.match(/^[^\"]+\"\:/,!1):"'"===e.current()&&e.match(/^[^\"]+\'\:/,!1)}function _b(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function Wb(e,t){e.stack.push(t)}function Eb(e){e.stack.pop();var t=e.stack.length&&e.stack[e.stack.length-1].tokenize;e.tokenize=t||vb}const zb={name:"xquery",startState:function(){return{tokenize:vb,cc:[],stack:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:"(:",close:":)"}}}};var Ub=(e,t,i)=>new Promise((n,s)=>{var r=e=>{try{a(i.next(e))}catch(e){s(e)}},o=e=>{try{a(i.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((i=i.apply(e,t)).next())});const qb=(e,t)=>i=>{const n=[];function s(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:n,composed:!0,bubbles:!0}))}return t?0===i.state.doc.length?(s(!0),Promise.resolve(n)):new Promise(e=>fetch(t,{method:"POST",headers:{"Content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({code:i.state.doc.toString()||""}).toString()}).then(e=>e.json()).then(t=>{if("fail"===t.status){const e=i.state.doc.lineAt(t.line);n.push({message:t.message,severity:"error",from:e.from+t.column,to:e.from+e.length})}e(n),s(0===n.length)})):Promise.resolve(n)};class Db extends CS{constructor(e,t=[],i=null){super(e,t),this.linterUri=i}getExtensions(e){return Ub(this,null,(function*(){return[Yu.define(zb),qg(qb(e,this.linterUri)),hS()]}))}serialize(){return this.editor.content}}const Ib=96,jb=1,Bb=97,Lb=98,Nb=2,Gb=[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],Fb=58,Hb=40,Jb=95,Kb=91,ex=45,tx=46,ix=35,nx=37;function sx(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function rx(e){return e>=48&&e<=57}const ox=new Zl((e,t)=>{for(let i=!1,n=0,s=0;;s++){let{next:r}=e;if(!(sx(r)||r==ex||r==Jb||i&&rx(r))){i&&e.acceptToken(r==Hb?Bb:2==n&&t.canShift(Nb)?Nb:Lb);break}!i&&(r!=ex||s>0)&&(i=!0),n===s&&r==ex&&n++,e.advance()}}),ax=new Zl(e=>{if(Gb.includes(e.peek(-1))){let{next:t}=e;(sx(t)||t==Jb||t==ix||t==tx||t==Kb||t==Fb||t==ex)&&e.acceptToken(Ib)}}),lx=new Zl(e=>{if(!Gb.includes(e.peek(-1))){let{next:t}=e;if(t==nx&&(e.advance(),e.acceptToken(jb)),sx(t)){do{e.advance()}while(sx(e.next));e.acceptToken(jb)}}}),hx=nh({"AtKeyword import charset namespace keyframes media supports":$h.definitionKeyword,"from to selector":$h.keyword,NamespaceName:$h.namespace,KeyframeName:$h.labelName,KeyframeRangeName:$h.operatorKeyword,TagName:$h.tagName,ClassName:$h.className,PseudoClassName:$h.constant($h.className),IdName:$h.labelName,"FeatureName PropertyName":$h.propertyName,AttributeName:$h.attributeName,NumberLiteral:$h.number,KeywordQuery:$h.keyword,UnaryQueryOp:$h.operatorKeyword,"CallTag ValueName":$h.atom,VariableName:$h.variableName,Callee:$h.operatorKeyword,Unit:$h.unit,"UniversalSelector NestingSelector":$h.definitionOperator,MatchOp:$h.compareOperator,"ChildOp SiblingOp, LogicOp":$h.logicOperator,BinOp:$h.arithmeticOperator,Important:$h.modifier,Comment:$h.blockComment,ColorLiteral:$h.color,"ParenthesizedContent StringLiteral":$h.string,":":$h.punctuation,"PseudoOp #":$h.derefOperator,"; ,":$h.separator,"( )":$h.paren,"[ ]":$h.squareBracket,"{ }":$h.brace}),cx={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},ux={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},fx={__proto__:null,not:128,only:128},dx=Ll.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<<HaO8rQWO,5;ZOOQP1G/U1G/UOOQS-E8T-E8TO${QdO'#EWO8zQWO,5;WOOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO9SQdO7+%ZOOQO7+%b7+%bOOQO,5:i,5:iO3QQdO'#E^O6tQWO,5:wOOQS,5:w,5:wOOQS-E8Z-E8ZOOQS1G0S1G0SO9ZQtO,5:tOOQS-E8W-E8WOOQO<<Hm<<HmOOQPAN={AN={O:XQdO,5:rOOQO-E8U-E8UOOQO<<Hu<<HuOOQO,5:x,5:xOOQO-E8[-E8[OOQS1G0c1G0c",stateData:":k~O#WOS#XQQ~OUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#URO#_TO~OQfOUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#UeO#_TO~O#R#dP~P!ZO#XjO~O#UlO~O]qO^qOpoOtrOxsO|tO!PvO#SuO#_nO~O!RwO~P#pO`}O#TzO#UyO~O#U!OO~O#U!QO~OQ!ZOb!TOf!ZOh!ZOn!YO#T!WO#U!SO#b!UO~Ob!]O!b!_O!e!`O#U![O!R#eP~Oh!eOn!YO#U!dO~Oh!gO#U!gO~Ob!]O!b!_O!e!`O#U![O~O!W#eP~P%gO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#SWX#_WX~O]!lO~O!W!mO#R#dX!Q#dX~O#R#dX!Q#dX~P!ZO#Y!pO#Z!pO#[!rO~OUYOXYO]VO^VOtWOxXO#URO#_TO~OpoO!RwO~O`!yO#TzO#UyO~O!Q#dP~P!ZOb#QO~Ob#RO~Ov#SOz#TO~OP#VObgXjgX!WgX!bgX!egX#UgXagXQgXfgXhgXngXpgX!VgX#RgX#TgX#bgXvgX!QgX~Ob!]Oj#WO!b!_O!e!`O#U![O!W#eP~Ob#ZO~Ob!]O!b!_O!e!`O#U#[O~Op#`O!`#_O!R#eX!W#eX~Ob#cO~Oj#WO!W#eO~O!W#fO~Oh#gOn!YO~O!R#hO~O!RwO!`#_O~O!RwO!W#kO~O!W!}X#R!}X!Q!}X~P!ZO!W!mO#R#da!Q#da~O#Y!pO#Z!pO#[#rO~O]qO^qOtrOxsO|tO!PvO#SuO#_nO~Op!{a!R!{aa!{a~P.QOv#tOz#uO~O]qO^qOtrOxsO#_nO~Op{i|{i!P{i!R{i#S{ia{i~P/ROp}i|}i!P}i!R}i#S}ia}i~P/ROp!Oi|!Oi!P!Oi!R!Oi#S!Oia!Oi~P/RO!Q#vO~Oa#cP~P(^Oa#`P~P${Oa#}Oj#WO~O!W$PO~Oh$QOo$QO~O]!^Xa![X!`![X~O]$RO~Oa$SO!`#_O~Op#`O!R#ea!W#ea~O!`#_Op!aa!R!aa!W!aaa!aa~O!W$XO~O!Q$`O#U$ZO#b$YO~Oj#WOp$bO!V$dO!W!Ti#R!Ti!Q!Ti~P${O!W!}a#R!}a!Q!}a~P!ZO!W!mO#R#di!Q#di~Oa#cX~P#pOa$hO~Oj#WOQ!yXa!yXb!yXf!yXh!yXn!yXp!yX#T!yX#U!yX#b!yX~Op$jOa#`X~P${Oa$lO~Oj#WOv$mO~Oa$nO~O!`#_Op#Oa!R#Oa!W#Oa~Oa$pO~P.QOP#VOpgX!RgX~O#b$YOp!qX!R!qX~Op$rO!RwO~O!Q$vO#U$ZO#b$YO~Oj#WOQ!|Xb!|Xf!|Xh!|Xn!|Xp!|X!V!|X!W!|X#R!|X#T!|X#U!|X#b!|X!Q!|X~Op$bO!V$yO!W!Tq#R!Tq!Q!Tq~P${Oj#WOv$zO~OpoOa#ca~Op$jOa#`a~Oa$}O~P${Oj#WOQ!|ab!|af!|ah!|an!|ap!|a!V!|a!W!|a#R!|a#T!|a#U!|a#b!|a!Q!|a~Oa!zap!za~P${O#Wo#X#bj!P#b~",goto:"-Y#gPPP#hP#kP#t$TP#t$d#tPP$jPPP$p$y$yP%]P$yP$y%w&ZPPP&s&y#tP'PP#tP'VP#tP#t#tPPP']'r(PPP#kPP(W(W(b(WP(WP(W(WP#kP#kP#kP(e#kP(h(k(n(u#kP#kP(z)Q)a)o)u*P*V*a*g*mPPPPPPPPPP*s*|P+i+lP,b,e,k,tRkQ_bOPdhw!m#nkYOPdhotuvw!m#Q#c#nkSOPdhotuvw!m#Q#c#nQmTR!snQ{VR!wqQ!w}Q#Y!XR#s!yq!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${U$]#h$_$rR$q$[q!XZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${Q!e^R#g!fQ|VR!xqQ!w|R#s!xQ!PWR!zrQ!RXR!{sQxUQ!vpQ#d!bQ#j!iQ#k!jQ$t$^R%Q$sSgPwQ!ohQ#m!mR$e#nZfPhw!m#na!a[`a!V!]!_#_#`R#]!]R!f^R!h_R#i!hS$^#h$_R%O$rV$[#h$_$rQ!qjR#q!qQdOShPwU!kdh#nR#n!mQ#z#RU$i#z$o${Q$o$RR${$jQ$k#zR$|$kQpUS!up$gR$g#wQ$c#lR$x$cQ!ngS#o!n#pR#p!oQ#a!^R$V#aQ$_#hR$u$_Q$s$^R%P$s_cOPdhw!m#n^UOPdhw!m#nQ!toQ!|tQ!}uQ#OvQ#w#QR$W#cR#{#RQ!VZQ!c]Q#U!TQ#l!l[#y#R#z$R$j$o${Q#|#TQ$O#WS$a#l$cQ$f#uR$w$bR#x#QQiPR#PwQ!b[Q!jaR#X!VU!^[a!VQ!i`Q#^!]Q#b!_Q$T#_R$U#`",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:114,nodeProps:[["openedBy",17,"(",48,"{"],["closedBy",18,")",49,"}"]],propSources:[hx],skippedNodes:[0,3,85],repeatNodeCount:10,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#W~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#W~o`OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!V[o`Oy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.Rn/zYtQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QSzSo`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!PQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#b[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[ax,lx,ox,1,2,3,4,new Tl("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:e=>cx[e]||-1},{term:56,get:e=>ux[e]||-1},{term:98,get:e=>fx[e]||-1}],tokenPrec:1169});let px=null;function Ox(){if(!px&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],i=new Set;for(let n in e)"cssText"!=n&&"cssFloat"!=n&&"string"==typeof e[n]&&(/[A-Z]/.test(n)&&(n=n.replace(/[A-Z]/g,e=>"-"+e.toLowerCase())),i.has(n)||(t.push(n),i.add(n)));px=t.sort().map(e=>({type:"property",label:e}))}return px||[]}const mx=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),gx=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),Sx=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),bx=/^(\w[\w-]*|-\w[\w-]*|)$/,xx=/^-(-[\w-]*)?$/;function wx(e,t){var i;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let n=null===(i=e.parent)||void 0===i?void 0:i.firstChild;return"Callee"==(null==n?void 0:n.name)&&"var"==t.sliceString(n.from,n.to)}const yx=new nl,vx=["Declaration"];function kx(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function Qx(e,t,i){if(t.to-t.from>4096){let n=yx.get(t);if(n)return n;let s=[],r=new Set,o=t.cursor(Ea.IncludeAnonymous);if(o.firstChild())do{for(let t of Qx(e,o.node,i))r.has(t.label)||(r.add(t.label),s.push(t))}while(o.nextSibling());return yx.set(t,s),s}{let n=[],s=new Set;return t.cursor().iterate(t=>{var r;if(i(t)&&t.matchContext(vx)&&":"==(null===(r=t.node.nextSibling)||void 0===r?void 0:r.name)){let i=e.sliceString(t.from,t.to);s.has(i)||(s.add(i),n.push({label:i,type:"variable"}))}}),n}}const $x=(e=>t=>{let{state:i,pos:n}=t,s=rc(i).resolveInner(n,-1),r=s.type.isError&&s.from==s.to-1&&"-"==i.doc.sliceString(s.from,s.to);if("PropertyName"==s.name||(r||"TagName"==s.name)&&/^(Block|Styles)$/.test(s.resolve(s.to).name))return{from:s.from,options:Ox(),validFor:bx};if("ValueName"==s.name)return{from:s.from,options:gx,validFor:bx};if("PseudoClassName"==s.name)return{from:s.from,options:mx,validFor:bx};if(e(s)||(t.explicit||r)&&wx(s,i.doc))return{from:e(s)||r?s.from:n,options:Qx(i.doc,kx(s),e),validFor:xx};if("TagName"==s.name){for(let{parent:e}=s;e;e=e.parent)if("Block"==e.name)return{from:s.from,options:Ox(),validFor:bx};return{from:s.from,options:Sx,validFor:bx}}if(!t.explicit)return null;let o=s.resolve(n),a=o.childBefore(n);return a&&":"==a.name&&"PseudoClassSelector"==o.name?{from:n,options:mx,validFor:bx}:a&&":"==a.name&&"Declaration"==o.name||"ArgList"==o.name?{from:n,options:gx,validFor:bx}:"Block"==o.name||"Styles"==o.name?{from:n,options:Ox(),validFor:bx}:null})(e=>"VariableName"==e.name),Px=sc.define({name:"css",parser:dx.configure({props:[vc.add({Declaration:Mc()}),Ec.add({Block:zc})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Cx(){return new Oc(Px,Px.data.of({autocomplete:$x}))}var Xx=(e,t,i)=>new Promise((n,s)=>{var r=e=>{try{a(i.next(e))}catch(e){s(e)}},o=e=>{try{a(i.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((i=i.apply(e,t)).next())});class Tx extends CS{getExtensions(e){return Xx(this,null,(function*(){return[new Oc(Px)]}))}serialize(){return this.editor.content}}var Zx=(e,t,i)=>new Promise((n,s)=>{var r=e=>{try{a(i.next(e))}catch(e){s(e)}},o=e=>{try{a(i.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((i=i.apply(e,t)).next())});class Ax extends CS{getExtensions(e){return Zx(this,null,(function*(){return[]}))}serialize(){return this.editor.content}}function Rx(e){function t(e,t){e.cmdState.push(t)}function i(e){return e.cmdState.length>0?e.cmdState[e.cmdState.length-1]:null}function n(e){var t=e.cmdState.pop();t&&t.closeBracket()}function s(e){for(var t=e.cmdState,i=t.length-1;i>=0;i--){var n=t[i];if("DEFAULT"!=n.name)return n}return{styleIdentifier:function(){return null}}}function r(e,t,i){return function(){this.name=e,this.bracketNo=0,this.style=t,this.styles=i,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var o={};function a(e,t){e.f=t}function l(e,n){var r;if(e.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var l=e.current().slice(1);return t(n,r=new(r=o.hasOwnProperty(l)?o[l]:o.DEFAULT)),a(n,c),r.style}if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/\\]/))return"tag";if(e.match("\\["))return a(n,(function(e,t){return h(e,t,"\\]")})),"keyword";if(e.match("\\("))return a(n,(function(e,t){return h(e,t,"\\)")})),"keyword";if(e.match("$$"))return a(n,(function(e,t){return h(e,t,"$$")})),"keyword";if(e.match("$"))return a(n,(function(e,t){return h(e,t,"$")})),"keyword";var u=e.next();return"%"==u?(e.skipToEnd(),"comment"):"}"==u||"]"==u?(r=i(n))?(r.closeBracket(u),a(n,c),"bracket"):"error":"{"==u||"["==u?(t(n,r=new(r=o.DEFAULT)),"bracket"):/\d/.test(u)?(e.eatWhile(/[\w.%]/),"atom"):(e.eatWhile(/[\w\-_]/),"begin"==(r=s(n)).name&&(r.argument=e.current()),r.styleIdentifier())}function h(e,t,i){if(e.eatSpace())return null;if(i&&e.match(i))return a(t,l),"keyword";if(e.match(/^\\[a-zA-Z@]+/))return"tag";if(e.match(/^[a-zA-Z]+/))return"variableName.special";if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/]/))return"tag";if(e.match(/^[\^_&]/))return"tag";if(e.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(e.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var n=e.next();return"{"==n||"}"==n||"["==n||"]"==n||"("==n||")"==n?"bracket":"%"==n?(e.skipToEnd(),"comment"):"error"}function c(e,t){var s=e.peek();return"{"==s||"["==s?(i(t).openBracket(s),e.eat(s),a(t,l),"bracket"):/[ \t\r]/.test(s)?(e.eat(s),null):(a(t,l),n(t),l(e,t))}return o.importmodule=r("importmodule","tag",["string","builtin"]),o.documentclass=r("documentclass","tag",["","atom"]),o.usepackage=r("usepackage","tag",["atom"]),o.begin=r("begin","tag",["atom"]),o.end=r("end","tag",["atom"]),o.label=r("label","tag",["atom"]),o.ref=r("ref","tag",["atom"]),o.eqref=r("eqref","tag",["atom"]),o.cite=r("cite","tag",["atom"]),o.bibitem=r("bibitem","tag",["atom"]),o.Bibitem=r("Bibitem","tag",["atom"]),o.RBibitem=r("RBibitem","tag",["atom"]),o.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}},{name:"stex",startState:function(){return{cmdState:[],f:e?function(e,t){return h(e,t)}:l}},copyState:function(e){return{cmdState:e.cmdState.slice(),f:e.f}},token:function(e,t){return t.f(e,t)},blankLine:function(e){e.f=l,e.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}const Vx=Rx(!1);Rx(!0);var Mx=(e,t,i)=>new Promise((n,s)=>{var r=e=>{try{a(i.next(e))}catch(e){s(e)}},o=e=>{try{a(i.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((i=i.apply(e,t)).next())});class Yx extends CS{getExtensions(e){return Mx(this,null,(function*(){return[Yu.define(Vx)]}))}serialize(){return this.editor.content}}const _x=54,Wx=1,Ex=55,zx=2,Ux=56,qx=3,Dx=4,Ix=5,jx=6,Bx=7,Lx=8,Nx=9,Gx=10,Fx=11,Hx=12,Jx=13,Kx=57,ew=14,tw=58,iw=20,nw=22,sw=23,rw=24,ow=26,aw=27,lw=28,hw=31,cw=34,uw=36,fw=37,dw=0,pw=1,Ow={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},mw={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},gw={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function Sw(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function bw(e){return 9==e||10==e||13==e||32==e}let xw=null,ww=null,yw=0;function vw(e,t){let i=e.pos+t;if(yw==i&&ww==e)return xw;let n=e.peek(t);for(;bw(n);)n=e.peek(++t);let s="";for(;Sw(n);)s+=String.fromCharCode(n),n=e.peek(++t);return ww=e,yw=i,xw=s?s.toLowerCase():n==Pw||n==Cw?void 0:null}const kw=60,Qw=62,$w=47,Pw=63,Cw=33,Xw=45;function Tw(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;t<e.length;t++)this.hash+=(this.hash<<4)+e.charCodeAt(t)+(e.charCodeAt(t)<<8)}const Zw=[jx,Gx,Bx,Lx,Nx],Aw=new Bl({start:null,shift:(e,t,i,n)=>Zw.indexOf(t)>-1?new Tw(vw(n,1)||"",e):e,reduce:(e,t)=>t==iw&&e?e.parent:e,reuse(e,t,i,n){let s=t.type.id;return s==jx||s==uw?new Tw(vw(n,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),Rw=new Zl((e,t)=>{if(e.next!=kw)return void(e.next<0&&t.context&&e.acceptToken(Kx));e.advance();let i=e.next==$w;i&&e.advance();let n=vw(e,0);if(void 0===n)return;if(!n)return e.acceptToken(i?ew:jx);let s=t.context?t.context.name:null;if(i){if(n==s)return e.acceptToken(Fx);if(s&&mw[s])return e.acceptToken(Kx,-2);if(t.dialectEnabled(dw))return e.acceptToken(Hx);for(let e=t.context;e;e=e.parent)if(e.name==n)return;e.acceptToken(Jx)}else{if("script"==n)return e.acceptToken(Bx);if("style"==n)return e.acceptToken(Lx);if("textarea"==n)return e.acceptToken(Nx);if(Ow.hasOwnProperty(n))return e.acceptToken(Gx);s&&gw[s]&&gw[s][n]?e.acceptToken(Kx,-1):e.acceptToken(jx)}},{contextual:!0}),Vw=new Zl(e=>{for(let t=0,i=0;;i++){if(e.next<0){i&&e.acceptToken(tw);break}if(e.next==Xw)t++;else{if(e.next==Qw&&t>=2){i>3&&e.acceptToken(tw,-2);break}t=0}e.advance()}});function Mw(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}const Yw=new Zl((e,t)=>{if(e.next==$w&&e.peek(1)==Qw){let i=t.dialectEnabled(pw)||Mw(t.context);e.acceptToken(i?Ix:Dx,2)}else e.next==Qw&&e.acceptToken(Dx,1)});function _w(e,t,i){let n=2+e.length;return new Zl(s=>{for(let r=0,o=0,a=0;;a++){if(s.next<0){a&&s.acceptToken(t);break}if(0==r&&s.next==kw||1==r&&s.next==$w||r>=2&&r<n&&s.next==e.charCodeAt(r-2))r++,o++;else if(2!=r&&r!=n||!bw(s.next)){if(r==n&&s.next==Qw){a>o?s.acceptToken(t,-o):s.acceptToken(i,-(o-2));break}if((10==s.next||13==s.next)&&a){s.acceptToken(t,1);break}r=o=0}else o++;s.advance()}})}const Ww=_w("script",_x,Wx),Ew=_w("style",Ex,zx),zw=_w("textarea",Ux,qx),Uw=nh({"Text RawText":$h.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":$h.angleBracket,TagName:$h.tagName,"MismatchedCloseTag/TagName":[$h.tagName,$h.invalid],AttributeName:$h.attributeName,"AttributeValue UnquotedAttributeValue":$h.attributeValue,Is:$h.definitionOperator,"EntityReference CharacterReference":$h.character,Comment:$h.blockComment,ProcessingInst:$h.processingInstruction,DoctypeDecl:$h.documentMeta}),qw=Ll.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:Aw,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[Uw],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT`POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYkWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]``P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[Ww,Ew,zw,Yw,Rw,Vw,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function Dw(e,t){let i=Object.create(null);for(let n of e.getChildren(sw)){let e=n.getChild(rw),s=n.getChild(ow)||n.getChild(aw);e&&(i[t.read(e.from,e.to)]=s?s.type.id==ow?t.read(s.from+1,s.to-1):t.read(s.from,s.to):"")}return i}function Iw(e,t){let i=e.getChild(nw);return i?t.read(i.from,i.to):" "}function jw(e,t,i){let n;for(let s of i)if(!s.attrs||s.attrs(n||(n=Dw(e.node.parent.firstChild,t))))return{parser:s.parser};return null}function Bw(e=[],t=[]){let i=[],n=[],s=[],r=[];for(let t of e){("script"==t.tag?i:"style"==t.tag?n:"textarea"==t.tag?s:r).push(t)}let o=t.length?Object.create(null):null;for(let e of t)(o[e.name]||(o[e.name]=[])).push(e);return al((e,t)=>{let a=e.type.id;if(a==lw)return jw(e,t,i);if(a==hw)return jw(e,t,n);if(a==cw)return jw(e,t,s);if(a==iw&&r.length){let i,n=e.node,s=n.firstChild,o=s&&Iw(s,t);if(o)for(let e of r)if(e.tag==o&&(!e.attrs||e.attrs(i||(i=Dw(n,t))))){let t=n.lastChild;return{parser:e.parser,overlay:[{from:s.to,to:t.type.id==fw?t.from:n.to}]}}}if(o&&a==sw){let i,n=e.node;if(i=n.firstChild){let e=o[t.read(i.from,i.to)];if(e)for(let i of e){if(i.tagName&&i.tagName!=Iw(n.parent,t))continue;let e=n.lastChild;if(e.type.id==ow){let t=e.from+1,n=e.lastChild,s=e.to-(n&&n.isError?0:1);if(s>t)return{parser:i.parser,overlay:[{from:t,to:s}]}}else if(e.type.id==aw)return{parser:i.parser,overlay:[{from:e.from,to:e.to}]}}}}return null})}const Lw=303,Nw=1,Gw=2,Fw=304,Hw=306,Jw=307,Kw=3,ey=4,ty=[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],iy=125,ny=59,sy=47,ry=42,oy=43,ay=45,ly=new Bl({start:!1,shift:(e,t)=>t==Kw||t==ey||t==Hw?e:t==Jw,strict:!1}),hy=new Zl((e,t)=>{let{next:i}=e;(i==iy||-1==i||t.context)&&e.acceptToken(Fw)},{contextual:!0,fallback:!0}),cy=new Zl((e,t)=>{let i,{next:n}=e;ty.indexOf(n)>-1||(n!=sy||(i=e.peek(1))!=sy&&i!=ry)&&(n==iy||n==ny||-1==n||t.context||e.acceptToken(Lw))},{contextual:!0}),uy=new Zl((e,t)=>{let{next:i}=e;if((i==oy||i==ay)&&(e.advance(),i==e.next)){e.advance();let i=!t.context&&t.canShift(Nw);e.acceptToken(i?Nw:Gw)}},{contextual:!0}),fy=nh({"get set async static":$h.modifier,"for while do if else switch try catch finally return throw break continue default case":$h.controlKeyword,"in of await yield void typeof delete instanceof":$h.operatorKeyword,"let var const function class extends":$h.definitionKeyword,"import export from":$h.moduleKeyword,"with debugger as new":$h.keyword,TemplateString:$h.special($h.string),super:$h.atom,BooleanLiteral:$h.bool,this:$h.self,null:$h.null,Star:$h.modifier,VariableName:$h.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":$h.function($h.variableName),VariableDefinition:$h.definition($h.variableName),Label:$h.labelName,PropertyName:$h.propertyName,PrivatePropertyName:$h.special($h.propertyName),"CallExpression/MemberExpression/PropertyName":$h.function($h.propertyName),"FunctionDeclaration/VariableDefinition":$h.function($h.definition($h.variableName)),"ClassDeclaration/VariableDefinition":$h.definition($h.className),PropertyDefinition:$h.definition($h.propertyName),PrivatePropertyDefinition:$h.definition($h.special($h.propertyName)),UpdateOp:$h.updateOperator,LineComment:$h.lineComment,BlockComment:$h.blockComment,Number:$h.number,String:$h.string,Escape:$h.escape,ArithOp:$h.arithmeticOperator,LogicOp:$h.logicOperator,BitOp:$h.bitwiseOperator,CompareOp:$h.compareOperator,RegExp:$h.regexp,Equals:$h.definitionOperator,Arrow:$h.function($h.punctuation),": Spread":$h.punctuation,"( )":$h.paren,"[ ]":$h.squareBracket,"{ }":$h.brace,"InterpolationStart InterpolationEnd":$h.special($h.brace),".":$h.derefOperator,", ;":$h.separator,"@":$h.meta,TypeName:$h.typeName,TypeDefinition:$h.definition($h.typeName),"type enum interface implements namespace module declare":$h.definitionKeyword,"abstract global Privacy readonly override":$h.modifier,"is keyof unique infer":$h.operatorKeyword,JSXAttributeValue:$h.attributeValue,JSXText:$h.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":$h.angleBracket,"JSXIdentifier JSXNameSpacedName":$h.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":$h.attributeName,"JSXBuiltin/JSXIdentifier":$h.standard($h.tagName)}),dy={__proto__:null,export:14,as:19,from:27,default:30,async:35,function:36,extends:46,this:50,true:58,false:58,null:70,void:74,typeof:78,super:96,new:130,delete:146,yield:155,await:159,class:164,public:221,private:221,protected:221,readonly:223,instanceof:242,satisfies:245,in:246,const:248,import:280,keyof:335,unique:339,infer:345,is:381,abstract:401,implements:403,type:405,let:408,var:410,using:413,interface:419,enum:423,namespace:429,module:431,declare:435,global:439,for:458,of:467,while:470,with:474,do:478,if:482,else:484,switch:488,case:494,try:500,catch:504,finally:508,return:512,throw:516,break:520,continue:524,debugger:528},py={__proto__:null,async:117,get:119,set:121,declare:181,public:183,private:183,protected:183,static:185,abstract:187,override:189,readonly:195,accessor:197,new:385},Oy={__proto__:null,"<":137},my=Ll.deserialize({version:14,states:"$6tO`QUOOO%TQUOOO'WQWOOP(eOSOOO*sQ(CjO'#CfO*zOpO'#CgO+YO!bO'#CgO+hO07`O'#DZO-yQUO'#DaO.ZQUO'#DlO%TQUO'#DvO0_QUO'#EOOOQ(CY'#EW'#EWO0xQSO'#ETOOQO'#Ei'#EiOOQO'#Ic'#IcO1QQSO'#GkO1]QSO'#EhO1bQSO'#EhO3dQ(CjO'#JdO6TQ(CjO'#JeO6qQSO'#FWO6vQ#tO'#FoOOQ(CY'#F`'#F`O7RO&jO'#F`O7aQ,UO'#FvO8wQSO'#FuOOQ(CY'#Je'#JeOOQ(CW'#Jd'#JdO8|QSO'#GoOOQQ'#KP'#KPO9XQSO'#IPO9^Q(C[O'#IQOOQQ'#JQ'#JQOOQQ'#IU'#IUQ`QUOOO%TQUO'#DnO9fQUO'#DzO9mQUO'#D|O9SQSO'#GkO9tQ,UO'#ClO:SQSO'#EgO:_QSO'#ErO:dQ,UO'#F_O;RQSO'#GkOOQO'#KQ'#KQO;WQSO'#KQO;fQSO'#GsO;fQSO'#GtO;fQSO'#GvO9SQSO'#GyO<]QSO'#G|O=tQSO'#CbO>UQSO'#HYO>^QSO'#H`O>^QSO'#HbO`QUO'#HdO>^QSO'#HfO>^QSO'#HiO>cQSO'#HoO>hQ(C]O'#HuO%TQUO'#HwO>sQ(C]O'#HyO?OQ(C]O'#H{O9^Q(C[O'#H}O?ZQ(CjO'#CfO@]QWO'#DfQOQSOOO%TQUO'#D|O@sQSO'#EPO9tQ,UO'#EgOAOQSO'#EgOAZQ`O'#F_OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jh'#JhO%TQUO'#JhOOQO'#Jl'#JlOOQO'#I`'#I`OBZQWO'#E`OOQ(CW'#E_'#E_OCVQ(C`O'#E`OCaQWO'#ESOOQO'#Jk'#JkOCuQWO'#JlOESQWO'#ESOCaQWO'#E`PEaO?MpO'#C`POOO)CDo)CDoOOOO'#IV'#IVOElOpO,59ROOQ(CY,59R,59ROOOO'#IW'#IWOEzO!bO,59RO%TQUO'#D]OOOO'#IY'#IYOFYO07`O,59uOOQ(CY,59u,59uOFhQUO'#IZOF{QSO'#JfOH}QbO'#JfO+vQUO'#JfOIUQSO,59{OIlQSO'#EiOIyQSO'#JtOJUQSO'#JsOJUQSO'#JsOJ^QSO,5;VOJcQSO'#JrOOQ(CY,5:W,5:WOJjQUO,5:WOLkQ(CjO,5:bOM[QSO,5:jOMuQ(C[O'#JqOM|QSO'#JpO8|QSO'#JpONbQSO'#JpONjQSO,5;UONoQSO'#JpO!!wQbO'#JeOOQ(CY'#Cf'#CfO%TQUO'#EOO!#gQ`O,5:oOOQO'#Jm'#JmOOQO-E<a-E<aO9SQSO,5=VO!#}QSO,5=VO!$SQUO,5;SO!&VQ,UO'#EdO!'jQSO,5;SO!)SQ,UO'#DpO!)ZQUO'#DuO!)eQWO,5;]O!)mQWO,5;]O%TQUO,5;]OOQQ'#FO'#FOOOQQ'#FQ'#FQO%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^OOQQ'#FU'#FUO!){QUO,5;oOOQ(CY,5;t,5;tOOQ(CY,5;u,5;uO!,OQSO,5;uOOQ(CY,5;v,5;vO%TQUO'#IgO!,WQ(C[O,5<cO!&VQ,UO,5;^O!,uQ,UO,5;^O%TQUO,5;rO!,|Q#tO'#FeO!-yQ#tO'#JxO!-eQ#tO'#JxO!.QQ#tO'#JxOOQO'#Jx'#JxO!.fQ#tO,5;}OOOO,5<Z,5<ZO!.wQUO'#FqOOOO'#If'#IfO7RO&jO,5;zO!/OQ#tO'#FsOOQ(CY,5;z,5;zO!/oQ7[O'#CrOOQ(CY'#Cv'#CvO!0SQSO'#CvO!0XO07`O'#CzO!0uQ,UO,5<`O!0|QSO,5<bO!2cQMhO'#GQO!2pQSO'#GRO!2uQSO'#GRO!2zQMhO'#GVO!3yQWO'#GZO!4lQ7[O'#J_OOQ(CY'#J_'#J_O!4vQSO'#J^O!5UQSO'#J]O!5^QSO'#CqOOQ(CY'#Ct'#CtOOQ(CY'#DO'#DOOOQ(CY'#DQ'#DQO0{QSO'#DSO!'oQ,UO'#FxO!'oQ,UO'#FzO!5fQSO'#F|O!5kQSO'#F}O!2uQSO'#GTO!'oQ,UO'#GYO!5pQSO'#EjO!6_QSO,5<aOOQ(CW'#Co'#CoO!6gQSO'#EkO!7aQWO'#ElOOQ(CW'#Jr'#JrO!7hQ(C[O'#KRO9^Q(C[O,5=ZO`QUO,5>kOOQQ'#JY'#JYOOQQ,5>l,5>lOOQQ-E<S-E<SO!9jQ(CjO,5:YO!<WQ(CjO,5:fO%TQUO,5:fO!>qQ(CjO,5:hOOQO,5@l,5@lO!?bQ,UO,5=VO!?pQ(C[O'#JZO8wQSO'#JZO!@RQ(C[O,59WO!@^QWO,59WO!@fQ,UO,59WO9tQ,UO,59WO!@qQSO,5;SO!@yQSO'#HXO!A[QSO'#KUO%TQUO,5;wO!7[QWO,5;yO!AdQSO,5=rO!AiQSO,5=rO!AnQSO,5=rO9^Q(C[O,5=rO;fQSO,5=bOOQO'#Cr'#CrO!A|QWO,5=_O!BUQ,UO,5=`O!BaQSO,5=bO!BfQ`O,5=eO!BnQSO'#KQO>cQSO'#HOO9SQSO'#HQO!BsQSO'#HQO9tQ,UO'#HSO!BxQSO'#HSOOQQ,5=h,5=hO!B}QSO'#HTO!CVQSO'#ClO!C[QSO,58|O!CfQSO,58|O!EkQUO,58|OOQQ,58|,58|O!E{Q(C[O,58|O%TQUO,58|O!HWQUO'#H[OOQQ'#H]'#H]OOQQ'#H^'#H^O`QUO,5=tO!HnQSO,5=tO`QUO,5=zO`QUO,5=|O!HsQSO,5>OO`QUO,5>QO!HxQSO,5>TO!H}QUO,5>ZOOQQ,5>a,5>aO%TQUO,5>aO9^Q(C[O,5>cOOQQ,5>e,5>eO!MXQSO,5>eOOQQ,5>g,5>gO!MXQSO,5>gOOQQ,5>i,5>iO!M^QWO'#DXO%TQUO'#JhO!M{QWO'#JhO!NjQWO'#DgO!N{QWO'#DgO##^QUO'#DgO##eQSO'#JgO##mQSO,5:QO##rQSO'#EmO#$QQSO'#JuO#$YQSO,5;WO#$_QWO'#DgO#$lQWO'#EROOQ(CY,5:k,5:kO%TQUO,5:kO#$sQSO,5:kO>cQSO,5;RO!@^QWO,5;RO!@fQ,UO,5;RO9tQ,UO,5;RO#${QSO,5@SO#%QQ!LQO,5:oOOQO-E<^-E<^O#&WQ(C`O,5:zOCaQWO,5:nO#&bQWO,5:nOCaQWO,5:zO!@RQ(C[O,5:nOOQ(CW'#Ec'#EcOOQO,5:z,5:zO%TQUO,5:zO#&oQ(C[O,5:zO#&zQ(C[O,5:zO!@^QWO,5:nOOQO,5;Q,5;QO#'YQ(C[O,5:zPOOO'#IT'#ITP#'nO?MpO,58zPOOO,58z,58zOOOO-E<T-E<TOOQ(CY1G.m1G.mOOOO-E<U-E<UO#'yQ`O,59wOOOO-E<W-E<WOOQ(CY1G/a1G/aO#(OQbO,5>uO+vQUO,5>uOOQO,5>{,5>{O#(YQUO'#IZOOQO-E<X-E<XO#(gQSO,5@QO#(oQbO,5@QO#(vQSO,5@_OOQ(CY1G/g1G/gO%TQUO,5@`O#)OQSO'#IaOOQO-E<_-E<_O#(vQSO,5@_OOQ(CW1G0q1G0qOOQ(CY1G/r1G/rOOQ(CY1G0U1G0UO%TQUO,5@]O#)dQ(C[O,5@]O#)uQ(C[O,5@]O#)|QSO,5@[O8|QSO,5@[O#*UQSO,5@[O#*dQSO'#IdO#)|QSO,5@[OOQ(CW1G0p1G0pO!)eQWO,5:qO!)pQWO,5:qOOQO,5:s,5:sO#+UQSO,5:sO#+^Q,UO1G2qO9SQSO1G2qOOQ(CY1G0n1G0nO#+lQ(CjO1G0nO#,qQ(ChO,5;OOOQ(CY'#GP'#GPO#-_Q(CjO'#J_O!$SQUO1G0nO#/gQ,UO'#JiO#/qQSO,5:[O#/vQbO'#JjO%TQUO'#JjO#0QQSO,5:aOOQ(CY'#DX'#DXOOQ(CY1G0w1G0wO%TQUO1G0wOOQ(CY1G1a1G1aO#0VQSO1G0wO#2nQ(CjO1G0xO#2uQ(CjO1G0xO#5`Q(CjO1G0xO#5gQ(CjO1G0xO#7qQ(CjO1G0xO#8XQ(CjO1G0xO#;RQ(CjO1G0xO#;YQ(CjO1G0xO#=sQ(CjO1G0xO#=zQ(CjO1G0xO#?rQ(CjO1G0xO#BrQ$IUO'#CfO#DpQ$IUO1G1ZO#DwQ$IUO'#JeO!,RQSO1G1aO#EXQ(CjO,5?ROOQ(CW-E<e-E<eO#E{Q(CjO1G0xOOQ(CY1G0x1G0xO#HWQ(CjO1G1^O#HzQ#tO,5<RO#ISQ#tO,5<SO#I[Q#tO'#FjO#IsQSO'#FiOOQO'#Jy'#JyOOQO'#Ie'#IeO#IxQ#tO1G1iOOQ(CY1G1i1G1iOOOO1G1t1G1tO#JZQ$IUO'#JdO#JeQSO,5<]O!){QUO,5<]OOOO-E<d-E<dOOQ(CY1G1f1G1fO#JjQWO'#JxOOQ(CY,5<_,5<_O#JrQWO,5<_OOQ(CY,59b,59bO!&VQ,UO'#C|OOOO'#IX'#IXO#JwO07`O,59fOOQ(CY,59f,59fO%TQUO1G1zO!5kQSO'#IiO#KSQSO,5<sOOQ(CY,5<p,5<pOOQO'#Gf'#GfO!'oQ,UO,5=POOQO'#Gh'#GhO!'oQ,UO,5=RO!&VQ,UO,5=TOOQO1G1|1G1|O#KbQ`O'#CoO#KuQ`O,5<lO#K|QSO'#J|O9SQSO'#J|O#L[QSO,5<nO!'oQ,UO,5<mO#LaQSO'#GSO#LlQSO,5<mO#LqQ`O'#GPO#MOQ`O'#J}O#MYQSO'#J}O!&VQ,UO'#J}O#M_QSO,5<qO#MdQWO'#G[O!3tQWO'#G[O#MuQSO'#G^O#MzQSO'#G`O!2uQSO'#GcO#NPQ(C[O'#IkO#N[QWO,5<uOOQ(CY,5<u,5<uO#NcQWO'#G[O#NqQWO'#G]O#NyQWO'#G]OOQ(CY,5=U,5=UO!'oQ,UO,5?xO!'oQ,UO,5?xO$ OQSO'#IlO$ ZQSO,5?wO$ cQSO,59]O$!SQ,UO,59nOOQ(CY,59n,59nO$!uQ,UO,5<dO$#hQ,UO,5<fO@TQSO,5<hOOQ(CY,5<i,5<iO$#rQSO,5<oO$#wQ,UO,5<tO$$XQSO'#JpO!$SQUO1G1{O$$^QSO1G1{O8|QSO'#JsO8|QSO'#EmO%TQUO'#EmO8|QSO'#InO$$cQ(C[O,5@mOOQQ1G2u1G2uOOQQ1G4V1G4VOOQ(CY1G/t1G/tO!,OQSO1G/tO$&hQ(CjO1G0QOOQQ1G2q1G2qO!&VQ,UO1G2qO%TQUO1G2qO$'XQSO1G2qO$'dQ,UO'#EdOOQ(CW,5?u,5?uO$'nQ(C[O,5?uOOQQ1G.r1G.rO!@RQ(C[O1G.rO!@^QWO1G.rO!@fQ,UO1G.rO$(PQSO1G0nO$(UQSO'#CfO$(aQSO'#KVO$(iQSO,5=sO$(nQSO'#KVO$(sQSO'#KVO$)OQSO'#ItO$)^QSO,5@pO$)fQbO1G1cOOQ(CY1G1e1G1eO9SQSO1G3^O@TQSO1G3^O$)mQSO1G3^O$)rQSO1G3^OOQQ1G3^1G3^O!BaQSO1G2|O!&VQ,UO1G2yO$)wQSO1G2yOOQQ1G2z1G2zO!&VQ,UO1G2zO$)|QSO1G2zO$*UQWO'#GxOOQQ1G2|1G2|O!3tQWO'#IpO!BfQ`O1G3POOQQ1G3P1G3POOQQ,5=j,5=jO$*^Q,UO,5=lO9SQSO,5=lO#MzQSO,5=nO8wQSO,5=nO!@^QWO,5=nO!@fQ,UO,5=nO9tQ,UO,5=nO$*lQSO'#KTO$*wQSO,5=oOOQQ1G.h1G.hO$*|Q(C[O1G.hO@TQSO1G.hO$+XQSO1G.hO9^Q(C[O1G.hO$-^QbO,5@rO$-nQSO,5@rO8|QSO,5@rO$-yQUO,5=vO$.QQSO,5=vOOQQ1G3`1G3`O`QUO1G3`OOQQ1G3f1G3fOOQQ1G3h1G3hO>^QSO1G3jO$.VQUO1G3lO$2ZQUO'#HkOOQQ1G3o1G3oO$2hQSO'#HqO>cQSO'#HsOOQQ1G3u1G3uO$2pQUO1G3uO9^Q(C[O1G3{OOQQ1G3}1G3}OOQ(CW'#GW'#GWO9^Q(C[O1G4PO9^Q(C[O1G4RO$6wQSO,5@SO!){QUO,5;XO8|QSO,5;XO>cQSO,5:RO!){QUO,5:RO!@^QWO,5:RO$6|Q$IUO,5:ROOQO,5;X,5;XO$7WQWO'#I[O$7nQSO,5@ROOQ(CY1G/l1G/lO$7vQWO'#IbO$8QQSO,5@aOOQ(CW1G0r1G0rO!N{QWO,5:ROOQO'#I_'#I_O$8YQWO,5:mOOQ(CY,5:m,5:mO#$vQSO1G0VOOQ(CY1G0V1G0VO%TQUO1G0VOOQ(CY1G0m1G0mO>cQSO1G0mO!@^QWO1G0mO!@fQ,UO1G0mOOQ(CW1G5n1G5nO!@RQ(C[O1G0YOOQO1G0f1G0fO%TQUO1G0fO$8aQ(C[O1G0fO$8lQ(C[O1G0fO!@^QWO1G0YOCaQWO1G0YO$8zQ(C[O1G0fOOQO1G0Y1G0YO$9`Q(CjO1G0fPOOO-E<R-E<RPOOO1G.f1G.fOOOO1G/c1G/cO$9jQ`O,5<cO$9rQbO1G4aOOQO1G4g1G4gO%TQUO,5>uO$9|QSO1G5lO$:UQSO1G5yO$:^QbO1G5zO8|QSO,5>{O$:hQ(CjO1G5wO%TQUO1G5wO$:xQ(C[O1G5wO$;ZQSO1G5vO$;ZQSO1G5vO8|QSO1G5vO$;cQSO,5?OO8|QSO,5?OOOQO,5?O,5?OO$;wQSO,5?OO$$XQSO,5?OOOQO-E<b-E<bOOQO1G0]1G0]OOQO1G0_1G0_O!,RQSO1G0_OOQQ7+(]7+(]O!&VQ,UO7+(]O%TQUO7+(]O$<VQSO7+(]O$<bQ,UO7+(]O$<pQ(CjO,59nO$>xQ(CjO,5<dO$ATQ(CjO,5<fO$C`Q(CjO,5<tOOQ(CY7+&Y7+&YO$EqQ(CjO7+&YO$FeQ,UO'#I]O$FoQSO,5@TOOQ(CY1G/v1G/vO$FwQUO'#I^O$GUQSO,5@UO$G^QbO,5@UOOQ(CY1G/{1G/{O$GhQSO7+&cOOQ(CY7+&c7+&cO$GmQ$IUO,5:bO%TQUO7+&uO$GwQ$IUO,5:YO$HUQ$IUO,5:fO$H`Q$IUO,5:hOOQ(CY7+&{7+&{OOQO1G1m1G1mOOQO1G1n1G1nO$HjQ#tO,5<UO!){QUO,5<TOOQO-E<c-E<cOOQ(CY7+'T7+'TOOOO7+'`7+'`OOOO1G1w1G1wO$HuQSO1G1wOOQ(CY1G1y1G1yO$HzQ`O,59hOOOO-E<V-E<VOOQ(CY1G/Q1G/QO$IRQ(CjO7+'fOOQ(CY,5?T,5?TO$IuQSO,5?TOOQ(CY1G2_1G2_P$IzQSO'#IiPOQ(CY-E<g-E<gO$JnQ,UO1G2kO$KaQ,UO1G2mO$KkQ`O1G2oOOQ(CY1G2W1G2WO$KrQSO'#IhO$LQQSO,5@hO$LQQSO,5@hO$LYQSO,5@hO$LeQSO,5@hOOQO1G2Y1G2YO$LsQ,UO1G2XO!'oQ,UO1G2XO$MTQMhO'#IjO$MeQSO,5@iO!&VQ,UO,5@iO$MmQ`O,5@iOOQ(CY1G2]1G2]OOQ(CW,5<v,5<vOOQ(CW,5<w,5<wO$$XQSO,5<wOCQQSO,5<wO!@^QWO,5<vOOQO'#G_'#G_O$MwQSO,5<xOOQ(CW,5<z,5<zO$$XQSO,5<}OOQO,5?V,5?VOOQO-E<i-E<iOOQ(CY1G2a1G2aO!3tQWO,5<vO$NPQSO,5<wO#MuQSO,5<xO!3tQWO,5<wO$N[Q,UO1G5dO$NfQ,UO1G5dOOQO,5?W,5?WOOQO-E<j-E<jOOQO1G.w1G.wO!7[QWO,59pO%TQUO,59pO$NsQSO1G2SO!'oQ,UO1G2ZO$NxQ(CjO7+'gOOQ(CY7+'g7+'gO!$SQUO7+'gO% lQSO,5;XOOQ(CW,5?Y,5?YOOQ(CW-E<l-E<lOOQ(CY7+%`7+%`O% qQ`O'#KOO#$vQSO7+(]O% {QbO7+(]O$<YQSO7+(]O%!SQ(ChO'#CfO%!gQ(ChO,5<{O%#XQSO,5<{OOQ(CW1G5a1G5aOOQQ7+$^7+$^O!@RQ(C[O7+$^O!@^QWO7+$^O!$SQUO7+&YO%#^QSO'#IsO%#rQSO,5@qOOQO1G3_1G3_O9SQSO,5@qO%#rQSO,5@qO%#zQSO,5@qOOQO,5?`,5?`OOQO-E<r-E<rOOQ(CY7+&}7+&}O%$PQSO7+(xO9^Q(C[O7+(xO9SQSO7+(xO@TQSO7+(xOOQQ7+(h7+(hO%$UQ(ChO7+(eO!&VQ,UO7+(eO%$`Q`O7+(fOOQQ7+(f7+(fO!&VQ,UO7+(fO%$gQSO'#KSO%$rQSO,5=dOOQO,5?[,5?[OOQO-E<n-E<nOOQQ7+(k7+(kO%&RQWO'#HROOQQ1G3W1G3WO!&VQ,UO1G3WO%TQUO1G3WO%&YQSO1G3WO%&eQ,UO1G3WO9^Q(C[O1G3YO#MzQSO1G3YO8wQSO1G3YO!@^QWO1G3YO!@fQ,UO1G3YO%&sQSO'#IrO%'OQSO,5@oO%'WQWO,5@oOOQ(CW1G3Z1G3ZOOQQ7+$S7+$SO@TQSO7+$SO9^Q(C[O7+$SO%'cQSO7+$SO%TQUO1G6^O%TQUO1G6_O%'hQ(C[O1G6^O%'rQUO1G3bO%'yQSO1G3bO%(OQUO1G3bOOQQ7+(z7+(zO9^Q(C[O7+)UO`QUO7+)WOOQQ'#KY'#KYOOQQ'#Iu'#IuO%(VQUO,5>VOOQQ,5>V,5>VO%TQUO'#HlO%(dQSO'#HnOOQQ,5>],5>]O8|QSO,5>]OOQQ,5>_,5>_OOQQ7+)a7+)aOOQQ7+)g7+)gOOQQ7+)k7+)kOOQQ7+)m7+)mO%(iQWO1G5nO%(}Q$IUO1G0sO%)XQSO1G0sOOQO1G/m1G/mO%)dQ$IUO1G/mO>cQSO1G/mO!){QUO'#DgOOQO,5>v,5>vOOQO-E<Y-E<YOOQO,5>|,5>|OOQO-E<`-E<`O!@^QWO1G/mOOQO-E<]-E<]OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO#$vQSO7+%qOOQ(CY7+&X7+&XO>cQSO7+&XO!@^QWO7+&XOOQO7+%t7+%tO$9`Q(CjO7+&QOOQO7+&Q7+&QO%TQUO7+&QO%)nQ(C[O7+&QO!@RQ(C[O7+%tO!@^QWO7+%tO%)yQ(C[O7+&QO%*XQ(CjO7++cO%TQUO7++cO%*iQSO7++bO%*iQSO7++bOOQO1G4j1G4jO8|QSO1G4jO%*qQSO1G4jOOQO7+%y7+%yO#$vQSO<<KwO% {QbO<<KwO%+PQSO<<KwOOQQ<<Kw<<KwO!&VQ,UO<<KwO%TQUO<<KwO%+XQSO<<KwO%+dQ(CjO1G2kO%-oQ(CjO1G2mO%/zQ(CjO1G2XO%2]Q,UO,5>wOOQO-E<Z-E<ZO%2gQbO,5>xO%TQUO,5>xOOQO-E<[-E<[O%2qQSO1G5pOOQ(CY<<I}<<I}O%2yQ$IUO1G0nO%5TQ$IUO1G0xO%5[Q$IUO1G0xO%7`Q$IUO1G0xO%7gQ$IUO1G0xO%9[Q$IUO1G0xO%9rQ$IUO1G0xO%<VQ$IUO1G0xO%<^Q$IUO1G0xO%>bQ$IUO1G0xO%>iQ$IUO1G0xO%@aQ$IUO1G0xO%@tQ(CjO<<JaO%AyQ$IUO1G0xO%CoQ$IUO'#J_O%ErQ$IUO1G1^O%FPQ$IUO1G0QO!){QUO'#FlOOQO'#Jz'#JzOOQO1G1p1G1pO%FZQSO1G1oO%F`Q$IUO,5?ROOOO7+'c7+'cOOOO1G/S1G/SOOQ(CY1G4o1G4oO!'oQ,UO7+(ZO%FjQSO,5?SO9SQSO,5?SOOQO-E<f-E<fO%FxQSO1G6SO%FxQSO1G6SO%GQQSO1G6SO%G]Q,UO7+'sO%GmQ`O,5?UO%GwQSO,5?UO!&VQ,UO,5?UOOQO-E<h-E<hO%G|Q`O1G6TO%HWQSO1G6TOOQ(CW1G2c1G2cO$$XQSO1G2cOOQ(CW1G2b1G2bO%H`QSO1G2dO!&VQ,UO1G2dOOQ(CW1G2i1G2iO!@^QWO1G2bOCQQSO1G2cO%HeQSO1G2dO%HmQSO1G2cO!'oQ,UO7++OOOQ(CY1G/[1G/[O%HxQSO1G/[OOQ(CY7+'n7+'nO%H}Q,UO7+'uO%I_Q(CjO<<KROOQ(CY<<KR<<KRO%JRQSO1G0sO!&VQ,UO'#ImO%JWQSO,5@jO!&VQ,UO1G2gOOQQ<<Gx<<GxO!@RQ(C[O<<GxO%J`Q(CjO<<ItOOQ(CY<<It<<ItOOQO,5?_,5?_O%KSQSO,5?_O$(sQSO,5?_OOQO-E<q-E<qO%KXQSO1G6]O%KXQSO1G6]O9SQSO1G6]O@TQSO<<LdOOQQ<<Ld<<LdO%KaQSO<<LdO9^Q(C[O<<LdOOQQ<<LP<<LPO%$UQ(ChO<<LPOOQQ<<LQ<<LQO%$`Q`O<<LQO%KfQWO'#IoO%KqQSO,5@nO!){QUO,5@nOOQQ1G3O1G3OO%KyQUO'#JhOOQO'#Iq'#IqO9^Q(C[O'#IqO%LTQWO,5=mOOQQ,5=m,5=mO%L[QWO'#E`O%LpQSO7+(rO%LuQSO7+(rOOQQ7+(r7+(rO!&VQ,UO7+(rO%TQUO7+(rO%L}QSO7+(rOOQQ7+(t7+(tO9^Q(C[O7+(tO#MzQSO7+(tO8wQSO7+(tO!@^QWO7+(tO%MYQSO,5?^OOQO-E<p-E<pOOQO'#HU'#HUO%MeQSO1G6ZO9^Q(C[O<<GnOOQQ<<Gn<<GnO@TQSO<<GnO%MmQSO7++xO%MrQSO7++yO%TQUO7++xO%TQUO7++yOOQQ7+(|7+(|O%MwQSO7+(|O%M|QUO7+(|O%NTQSO7+(|OOQQ<<Lp<<LpOOQQ<<Lr<<LrOOQQ-E<s-E<sOOQQ1G3q1G3qO%NYQSO,5>WOOQQ,5>Y,5>YO%N_QSO1G3wO8|QSO7+&_O!){QUO7+&_OOQO7+%X7+%XO%NdQ$IUO1G5zO>cQSO7+%XOOQ(CY<<I]<<I]OOQ(CY<<Is<<IsO>cQSO<<IsOOQO<<Il<<IlO$9`Q(CjO<<IlO%TQUO<<IlOOQO<<I`<<I`O!@RQ(C[O<<I`O%NnQ(C[O<<IlO%NyQ(CjO<<N}O& ZQSO<<N|OOQO7+*U7+*UO8|QSO7+*UOOQQANAcANAcO& cQSOANAcO!&VQ,UOANAcO#$vQSOANAcO% {QbOANAcO%TQUOANAcO& kQ(CjO7+'sO&#|Q(CjO7+'uO&&_QbO1G4dO&&iQ$IUO7+&YO&&vQ$IUO,59nO&(yQ$IUO,5<dO&*|Q$IUO,5<fO&-PQ$IUO,5<tO&.uQ$IUO7+'fO&/SQ$IUO7+'gO&/aQSO,5<WOOQO7+'Z7+'ZO&/fQ,UO<<KuOOQO1G4n1G4nO&/mQSO1G4nO&/xQSO1G4nO&0WQSO7++nO&0WQSO7++nO!&VQ,UO1G4pO&0`Q`O1G4pO&0jQSO7++oOOQ(CW7+'}7+'}O$$XQSO7+(OO&0rQ`O7+(OOOQ(CW7+'|7+'|O$$XQSO7+'}O&0yQSO7+(OO!&VQ,UO7+(OOCQQSO7+'}O&1OQ,UO<<NjOOQ(CY7+$v7+$vO&1YQ`O,5?XOOQO-E<k-E<kO&1dQ(ChO7+(ROOQQAN=dAN=dO9SQSO1G4yOOQO1G4y1G4yO&1tQSO1G4yO&1yQSO7++wO&1yQSO7++wO9^Q(C[OANBOO@TQSOANBOOOQQANBOANBOOOQQANAkANAkOOQQANAlANAlO&2RQSO,5?ZOOQO-E<m-E<mO&2^Q$IUO1G6YO&4nQbO'#CfOOQO,5?],5?]OOQO-E<o-E<oOOQQ1G3X1G3XO%KyQUO,5<xOOQQ<<L^<<L^O!&VQ,UO<<L^O%LpQSO<<L^O&4xQSO<<L^O%TQUO<<L^OOQQ<<L`<<L`O9^Q(C[O<<L`O#MzQSO<<L`O8wQSO<<L`O&5QQWO1G4xO&5]QSO7++uOOQQAN=YAN=YO9^Q(C[OAN=YOOQQ<= d<= dOOQQ<= e<= eO&5eQSO<= dO&5jQSO<= eOOQQ<<Lh<<LhO&5oQSO<<LhO&5tQUO<<LhOOQQ1G3r1G3rO>cQSO7+)cO&5{QSO<<IyO&6WQ$IUO<<IyOOQO<<Hs<<HsOOQ(CYAN?_AN?_OOQOAN?WAN?WO$9`Q(CjOAN?WOOQOAN>zAN>zO%TQUOAN?WOOQO<<Mp<<MpOOQQG26}G26}O!&VQ,UOG26}O#$vQSOG26}O&6bQSOG26}O% {QbOG26}O&6jQ$IUO<<JaO&6wQ$IUO1G2XO&8mQ$IUO1G2kO&:pQ$IUO1G2mO&<sQ$IUO<<KRO&=QQ$IUO<<ItOOQO1G1r1G1rO!'oQ,UOANAaOOQO7+*Y7+*YO&=_QSO7+*YO&=jQSO<= YO&=rQ`O7+*[OOQ(CW<<Kj<<KjO$$XQSO<<KjOOQ(CW<<Ki<<KiO&=|Q`O<<KjO$$XQSO<<KiOOQO7+*e7+*eO9SQSO7+*eO&>TQSO<= cOOQQG27jG27jO9^Q(C[OG27jO!){QUO1G4uO&>]QSO7++tO%LpQSOANAxOOQQANAxANAxO!&VQ,UOANAxO&>eQSOANAxOOQQANAzANAzO9^Q(C[OANAzO#MzQSOANAzOOQO'#HV'#HVOOQO7+*d7+*dOOQQG22tG22tOOQQANEOANEOOOQQANEPANEPOOQQANBSANBSO&>mQSOANBSOOQQ<<L}<<L}O!){QUOAN?eOOQOG24rG24rO$9`Q(CjOG24rO#$vQSOLD,iOOQQLD,iLD,iO!&VQ,UOLD,iO&>rQSOLD,iO&>zQ$IUO7+'sO&@pQ$IUO7+'uO&BfQ,UOG26{OOQO<<Mt<<MtOOQ(CWANAUANAUO$$XQSOANAUOOQ(CWANATANATOOQO<<NP<<NPOOQQLD-ULD-UO&BvQ$IUO7+*aOOQQG27dG27dO%LpQSOG27dO!&VQ,UOG27dOOQQG27fG27fO9^Q(C[OG27fOOQQG27nG27nO&CQQ$IUOG25POOQOLD*^LD*^OOQQ!$(!T!$(!TO#$vQSO!$(!TO!&VQ,UO!$(!TO&C[Q(CjOG26{OOQ(CWG26pG26pOOQQLD-OLD-OO%LpQSOLD-OOOQQLD-QLD-QOOQQ!)9Eo!)9EoO#$vQSO!)9EoOOQQ!$(!j!$(!jOOQQ!.K;Z!.K;ZO&EmQ$IUOG26{O!){QUO'#DvO0xQSO'#ETO&GcQbO'#JdO!){QUO'#DnO&GjQUO'#DzO&GqQbO'#CfO&JXQbO'#CfO!){QUO'#D|O&JiQUO,5;SO!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO'#IgO&LlQSO,5<cO&LtQ,UO,5;^O&NXQ,UO,5;^O!){QUO,5;rO0{QSO'#DSO0{QSO'#DSO!&VQ,UO'#FxO&LtQ,UO'#FxO!&VQ,UO'#FzO&LtQ,UO'#FzO!&VQ,UO'#GYO&LtQ,UO'#GYO!){QUO,5:fO!){QUO,5@`O&JiQUO1G0nO&N`Q$IUO'#CfO!){QUO1G1zO!&VQ,UO,5=PO&LtQ,UO,5=PO!&VQ,UO,5=RO&LtQ,UO,5=RO!&VQ,UO,5<mO&LtQ,UO,5<mO&JiQUO1G1{O!){QUO7+&uO!&VQ,UO1G2XO&LtQ,UO1G2XO!&VQ,UO1G2ZO&LtQ,UO1G2ZO&JiQUO7+'gO&JiQUO7+&YO!&VQ,UOANAaO&LtQ,UOANAaO&NjQSO'#EhO&NoQSO'#EhO&NwQSO'#FWO&N|QSO'#ErO' RQSO'#JtO' ^QSO'#JrO' iQSO,5;SO' nQ,UO,5<`O' uQSO'#GRO' zQSO'#GRO'!PQSO,5<aO'!XQSO,5;SO'!aQ$IUO1G1ZO'!hQSO,5<mO'!mQSO,5<mO'!rQSO,5<oO'!wQSO,5<oO'!|QSO1G1{O'#RQSO1G0nO'#WQ,UO<<KuO'#_Q,UO<<KuO7aQ,UO'#FvO8wQSO'#FuOAOQSO'#EgO!){QUO,5;oO!2uQSO'#GRO!2uQSO'#GRO!2uQSO'#GTO!2uQSO'#GTO!'oQ,UO7+(ZO!'oQ,UO7+(ZO$KkQ`O1G2oO$KkQ`O1G2oO!&VQ,UO,5=TO!&VQ,UO,5=T",stateData:"'$h~O'nOS'oOSROS'pRQ~OPYOQYOV!UO^qOayObxOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!ctO!hZO!kYO!lYO!mYO!ouO!qvO!twO!x]O#p!OO$Q{O$UfO%`|O%b!PO%d}O%e}O%f}O%i!QO%k!RO%n!SO%o!SO%q!TO%}!VO&T!WO&V!XO&X!YO&Z!ZO&^![O&d!]O&j!^O&l!_O&n!`O&p!aO&r!bO'uSO'wTO'zUO(SVO(b[O(oiO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'u!cO'wTO'zUO(SVO(b[O(oiO~O^!uOl!mO|!nO![!wO!]!tO!^!tO!x9qO!|!oO!}!oO#O!vO#P!oO#Q!oO#T!xO#U!xO'v!kO'wTO'zUO(V!lO(b!rO~O'p!yO~OPYXXYX^YXkYXyYXzYX|YX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX'lYX(SYX(cYX(jYX(kYX~O!a$zX~P(jO[!{O'w!}O'x!{O'y!}O~O[#OO'y!}O'z!}O'{#OO~Oq#QO!O#RO(T#RO(U#TO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'u9uO'wTO'zUO(SVO(b[O(oiO~O!U#XO!V#UO!S(YP!S(gP~P+vO!W#aO~P`OPYOQYOa!iOb!hOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'wTO'zUO(SVO(b[O(oiO~Oi#kO!U#gO!x]O#b#jO#c#gO'u9vO!g(dP~P.bO!h#mO'u#lO~O!t#qO!x]O%`#rO~O#d#sO~O!a#tO#d#sO~OP$[OX$cOk$POy#xOz#yO|#zO!V$`O!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO#v$XO(SVO(c$YO(j#{O(k#|O~O^(WX'l(WX'j(WX!g(WX!S(WX!X(WX%a(WX!a(WX~P1jO#X$dO#{$dOP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#o(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX!X(XX%a(XX~O^(XX!f(XX'l(XX'j(XX!S(XX!g(XXo(XX!a(XX~P4QO#X$dO~O$W$fO$Y$eO$a$kO~O!X$lO$UfO$d$mO$f$oO~Oi%ROk$sOl$rOm$rOs%SOu%TOw%UO|$zO!X${O!c%ZO!h$wO#c%[O$Q%XO$m%VO$o%WO$r%YO'u$qO'wTO'zUO(O%QO(S$tOd(PP~O!h%]O~O|%`O!X%aO'u%_O~O!a%eO~O^%fO'l%fO~O'v!kO~P%TO%f%mO~P%TO!h%]O'u%_O'v!kO(O%QO~Ob%tO!h%]O'u%_O~O#o$RO~Oy%yO!X%vO!h%xO%b%|O'u%_O'v!kO'wTO'zUO](xP~O!t#qO~O%k&OO|(tX!X(tX'u(tX~O'u&PO~O!q&UO#p!OO%b!PO%d}O%e}O%f}O%i!QO%k!RO%n!SO%o!SO~Oa&ZOb&YO!t&WO%`&XO%s&VO~P;kOa&^ObxO!X&]O!q&UO!twO!x]O#p!OO%`|O%d}O%e}O%f}O%i!QO%k!RO%n!SO%o!SO%q!TO~O_&aO#X&dO%b&_O'v!kO~P<pO!h&eO!q&iO~O!h#mO~O!XXO~O^%fO'k&qO'l%fO~O^%fO'k&tO'l%fO~O^%fO'k&vO'l%fO~O'jYX!SYXoYX!gYX&RYX!XYX%aYX!aYX~P(jO!['TO!]&|O!^&|O'v!kO'wTO'zUO~Ol&zO|&yO!U&}O(V&xO!W(ZP!W(iP~P?wOg'WO!X'UO'u%_O~Ob']O!h%]O'u%_O~Oy%yO!h%xO~Ol!mO|!nO!x9qO!|!oO!}!oO#P!oO#Q!oO'v!kO'wTO'zUO(V!lO(b!rO~O!['cO!]'bO!^'bO#O!oO#T'dO#U'dO~PAcO^%fO!a#tO!h%]O'l%fO(O%QO(c'fO~O!l'jO#X'hO~PBqOl!mO|!nO'wTO'zUO(V!lO(b!rO~O!XXOl(`X|(`X![(`X!](`X!^(`X!x(`X!|(`X!}(`X#O(`X#P(`X#Q(`X#T(`X#U(`X'v(`X'w(`X'z(`X(V(`X(b(`X~O!]'bO!^'bO'v!kO~PCaO'q'nO'r'nO's'pO~O[!{O'w'rO'x!{O'y'rO~O[#OO'y'rO'z'rO'{#OO~Oq#QO!O#RO(T#RO(U'vO~O!U'xO!S&}X!S'TX!V&}X!V'TX~P+vO!V'zO!S(YX~OP$[OX$cOk$POy#xOz#yO|#zO!V'zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO#v$XO(SVO(c$YO(j#{O(k#|O~O!S(YX~PGTO!S(PO~O!S(fX!V(fX!a(fX!g(fX(c(fX~O#X(fX#d#]X!W(fX~PIZO#X(QO!S(hX!V(hX~O!V(RO!S(gX~O!S(UO~O#X$dO~PIZO!W(VO~P`Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!jaX!jak!ja!V!ja!e!ja!l!ja#g!ja#h!ja#i!ja#j!ja#k!ja#l!ja#m!ja#n!ja#o!ja#q!ja#s!ja#u!ja#v!ja(c!ja(j!ja(k!ja~O^!ja'l!ja'j!ja!S!ja!g!jao!ja!X!ja%a!ja!a!ja~PJqO!g(WO~O!a#tO#X(XO(c'fO!V(eX^(eX'l(eX~O!g(eX~PMaO|%`O!X%aO!x]O#b(^O#c(]O'u%_O~O!V(_O!g(dX~O!g(aO~O|%`O!X%aO#c(]O'u%_O~OP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!f(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#o(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX~O!a#tO!g(XX~PN}Oy(bOz(cO!f#vO!h#wO!x!wa|!wa~O!t!wa%`!wa!X!wa#b!wa#c!wa'u!wa~P!#RO!t(gO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'u!cO'wTO'zUO(SVO(b[O(oiO~Oi%ROk$sOl$rOm$rOs%SOu%TOw:ZO|$zO!X${O!c;eO!h$wO#c:aO$Q%XO$m:]O$o:_O$r%YO'u(kO'wTO'zUO(O%QO(S$tO~O#d(mO~Oi%ROk$sOl$rOm$rOs%SOu%TOw%UO|$zO!X${O!c%ZO!h$wO#c%[O$Q%XO$m%VO$o%WO$r%YO'u(kO'wTO'zUO(O%QO(S$tO~Od(]P~P!'oO!U(qO!g(^P~P%TO(V(sO(b[O~O|(uO!h#wO(V(sO(b[O~OP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!X!dO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'u)TO'wTO'zUO(SVO(b[O(o;_O~Oz)WO!h#wO~O!V$`O^$ka'l$ka'j$ka!g$ka!S$ka!X$ka%a$ka!a$ka~O#p)[O~P!&VOy)_O!a)^O!X$XX$T$XX$W$XX$Y$XX$a$XX~O!a)^O!X(lX$T(lX$W(lX$Y(lX$a(lX~Oy)_O~P!-eOy)_O!X(lX$T(lX$W(lX$Y(lX$a(lX~O!X)aO$T)eO$W)`O$Y)`O$a)fO~O!U)iO~P!){O$W$fO$Y$eO$a)mO~Og$sXy$sX|$sX!f$sX(j$sX(k$sX~OdfXd$sXgfX!VfX#XfX~P!/ZOl)oO~Oq)pO(T)qO(U)sO~Og)|Oy)uO|)vO(j)xO(k)zO~Od)tO~P!0dOd)}O~Oi%ROk$sOl$rOm$rOs%SOu%TOw:ZO|$zO!X${O!c;eO!h$wO#c:aO$Q%XO$m:]O$o:_O$r%YO'wTO'zUO(O%QO(S$tO~O!U*RO'u*OO!g(pP~P!1RO#d*TO~O!h*UO~O!U*ZO'u*WO!S(qP~P!1ROk*gO|*_O![*eO!]*^O!^*^O!h*UO#T*fO%W*aO'v!kO(V!lO~O!W*dO~P!3XO!f#vOg(RXy(RX|(RX(j(RX(k(RX!V(RX#X(RX~Od(RX#y(RX~P!4QOg*jO#X*iOd(QX!V(QX~O!V*kOd(PX~O'u&POd(PP~O!h*rO~O'u(kO~Oi*vO|%`O!U#gO!X%aO!x]O#b#jO#c#gO'u%_O!g(dP~O!a#tO#d*wO~O|%`O!U*yO!V(RO!X%aO'u%_O!S(gP~Ol'QO|*{O!U*zO'wTO'zUO(V(sO~O!W(iP~P!6{O!V*|O^(uX'l(uX~OP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO#v$XO(SVO(c$YO(j#{O(k#|O~O^!ba!V!ba'l!ba'j!ba!S!ba!g!bao!ba!X!ba%a!ba!a!ba~P!7sOy#xOz#yO|#zO!f#vO!h#wO(SVOP!naX!nak!na!V!na!e!na!l!na#g!na#h!na#i!na#j!na#k!na#l!na#m!na#n!na#o!na#q!na#s!na#u!na#v!na(c!na(j!na(k!na~O^!na'l!na'j!na!S!na!g!nao!na!X!na%a!na!a!na~P!:^Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!paX!pak!pa!V!pa!e!pa!l!pa#g!pa#h!pa#i!pa#j!pa#k!pa#l!pa#m!pa#n!pa#o!pa#q!pa#s!pa#u!pa#v!pa(c!pa(j!pa(k!pa~O^!pa'l!pa'j!pa!S!pa!g!pao!pa!X!pa%a!pa!a!pa~P!<wOg+VO!X'UO%a+UO(O%QO~O!a+XO^'}X!X'}X'l'}X!V'}X~O^%fO!XXO'l%fO~O!h%]O(O%QO~O!h%]O'u%_O(O%QO~O!a#tO#d(mO~O%b+eO'u+aO'wTO'zUO!W(yP~O!V+fO](xX~OX+jO~O]+kO~O!X%vO'u%_O'v!kO](xP~O#X+pO(O%QO~Og+sO!X${O(O%QO~O!X+uO~Oy+wO!XXO~O%f%mO~O!t+|O~Ob,RO~O'u#lO!W(wP~Ob%tO~O%b!PO'u&PO~P<pOX,XO],WO~OPYOQYOayObxOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!ctO!hZO!kYO!lYO!mYO!ouO!twO!x]O$UfO%`|O'wTO'zUO(SVO(b[O(oiO~O!X!dO!q!fO$Q!jO'u!cO~P!CnO],WO^%fO'l%fO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!t!gO$Q!jO$UfO'u!cO'wTO'zUO(SVO(b[O(oiO~O^,^O!qvO#p}O%d}O%e}O%f}O~P!FWO!h&eO~O&T,dO~O!X,fO~O&f,hO&h,iOP&caQ&caV&ca^&caa&cab&cai&cak&cal&cam&cas&cau&caw&ca|&ca!Q&ca!R&ca!X&ca!c&ca!h&ca!k&ca!l&ca!m&ca!o&ca!q&ca!t&ca!x&ca#p&ca$Q&ca$U&ca%`&ca%b&ca%d&ca%e&ca%f&ca%i&ca%k&ca%n&ca%o&ca%q&ca%}&ca&T&ca&V&ca&X&ca&Z&ca&^&ca&d&ca&j&ca&l&ca&n&ca&p&ca&r&ca'j&ca'u&ca'w&ca'z&ca(S&ca(b&ca(o&ca!W&ca&[&ca_&ca&a&ca~O'u,nO~O!V{X!V!_X!W{X!W!_X!a{X!a!_X!h!_X#X{X(O!_X~O!a,sO#X,rO!V#aX!V([X!W#aX!W([X!a([X!h([X(O([X~O!a,uO!h%]O(O%QO!V!ZX!W!ZX~Ol!mO|!nO'wTO'zUO(V!lO~OP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!X!dO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'wTO'zUO(SVO(b[O(o;_O~O'u:fO~P# ^O!V,yO!W(ZX~O!W,{O~O!a,sO#X,rO!V#aX!W#aX~O!V,|O!W(iX~O!W-OO~O!]-PO!^-PO'v!kO~P!N{O!W-SO~P'WOg-VO!X'UO~O!S-[O~Ol!wa![!wa!]!wa!^!wa!|!wa!}!wa#O!wa#P!wa#Q!wa#T!wa#U!wa'v!wa'w!wa'z!wa(V!wa(b!wa~P!#RO!l-aO#X-_O~PBqO!]-cO!^-cO'v!kO~PCaO^%fO#X-_O'l%fO~O^%fO!a#tO#X-_O'l%fO~O^%fO!a#tO!l-aO#X-_O'l%fO(c'fO~O'q'nO'r'nO's-hO~Oo-iO~O!S&}a!V&}a~P!7sO!U-mO!S&}X!V&}X~P%TO!V'zO!S(Ya~O!S(Ya~PGTO!V(RO!S(ga~O|%`O!U-qO!X%aO'u%_O!S'TX!V'TX~O#X-sO!V(ea!g(ea^(ea'l(ea~O!a#tO~P#)dO!V(_O!g(da~O|%`O!X%aO#c-wO'u%_O~Oi-|O|%`O!U-yO!X%aO!x]O#b-{O#c-yO'u%_O!V'WX!g'WX~Oz.QO!h#wO~Og.TO!X'UO%a.SO(O%QO~O^#[i!V#[i'l#[i'j#[i!S#[i!g#[io#[i!X#[i%a#[i!a#[i~P!7sOg;kOy)uO|)vO(j)xO(k)zO~O#d#Wa^#Wa#X#Wa'l#Wa!V#Wa!g#Wa!X#Wa!S#Wa~P#,`O#d(RXP(RXX(RX^(RXk(RXz(RX!e(RX!h(RX!l(RX#g(RX#h(RX#i(RX#j(RX#k(RX#l(RX#m(RX#n(RX#o(RX#q(RX#s(RX#u(RX#v(RX'l(RX(S(RX(c(RX!g(RX!S(RX'j(RXo(RX!X(RX%a(RX!a(RX~P!4QO!V.^Od(]X~P!0dOd.`O~O!V.aO!g(^X~P!7sO!g.dO~O!S.fO~OP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O(SVOX#fi^#fik#fi!V#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(c#fi(j#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O#g#fi~P#0[O#g#}O~P#0[OP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO(SVOX#fi^#fi!V#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(c#fi(j#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~Ok#fi~P#2|Ok$PO~P#2|OP$[Ok$POy#xOz#yO|#zO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO(SVO^#fi!V#fi#q#fi#s#fi#u#fi#v#fi'l#fi(c#fi(j#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P#5nOX$cO!e$RO#l$RO#m$RO#n$bO#o$RO~P#5nOP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO(SVO^#fi!V#fi#s#fi#u#fi#v#fi'l#fi(c#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O(j#fi~P#8oO(j#{O~P#8oOP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO(SVO(j#{O^#fi!V#fi#u#fi#v#fi'l#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O(k#fi~P#;aO(k#|O~P#;aOP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO(SVO(j#{O(k#|O~O^#fi!V#fi#v#fi'l#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#>ROPYXXYXkYXyYXzYX|YX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX!VYX!WYX~O#yYX~P#@lOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO#u:SO#v:TO(SVO(c$YO(j#{O(k#|O~O#y.hO~P#ByO#X:YO#{:YO#y(XX!W(XX~PN}O^'Za!V'Za'l'Za'j'Za!g'Za!S'Zao'Za!X'Za%a'Za!a'Za~P!7sOP#fiX#fi^#fik#fiz#fi!V#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(S#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#,`O^#zi!V#zi'l#zi'j#zi!S#zi!g#zio#zi!X#zi%a#zi!a#zi~P!7sO$W.mO$Y.mO~O$W.nO$Y.nO~O!a)^O#X.oO!X$^X$T$^X$W$^X$Y$^X$a$^X~O!U.pO~O!X)aO$T.rO$W)`O$Y)`O$a.sO~O!V:UO!W(WX~P#ByO!W.tO~O!a)^O$a(lX~O$a.vO~Oq)pO(T)qO(U.yO~Ol.|O!S.}O'wTO'zUO~O!VcX!acX!gcX!g$sX(ccX~P!/ZO!g/TO~P#,`O!V/UO!a#tO(c'fO!g(pX~O!g/ZO~O!U*RO'u%_O!g(pP~O#d/]O~O!S$sX!V$sX!a$zX~P!/ZO!V/^O!S(qX~P#,`O!a/`O~O!S/bO~Ok/fO!a#tO!h%]O(O%QO(c'fO~O'u/hO~O!a+XO~O^%fO!V/lO'l%fO~O!W/nO~P!3XO!]/oO!^/oO'v!kO(V!lO~O|/qO(V!lO~O#T/rO~O'u&POd'`X!V'`X~O!V*kOd(Pa~Od/wO~Oy/xOz/xO|/yOgva(jva(kva!Vva#Xva~Odva#yva~P$ hOy)uO|)vOg$la(j$la(k$la!V$la#X$la~Od$la#y$la~P$!^Oy)uO|)vOg$na(j$na(k$na!V$na#X$na~Od$na#y$na~P$#PO#d/{O~Od$|a!V$|a#X$|a#y$|a~P!0dO!a#tO~O#d0OO~O!V*|O^(ua'l(ua~Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!niX!nik!ni!V!ni!e!ni!l!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#o!ni#q!ni#s!ni#u!ni#v!ni(c!ni(j!ni(k!ni~O^!ni'l!ni'j!ni!S!ni!g!nio!ni!X!ni%a!ni!a!ni~P$$nOg.TO!X'UO%a.SO~Oi0YO'u0XO~P!1UO!a+XO^'}a!X'}a'l'}a!V'}a~O#d0`O~OXYX!VcX!WcX~O!V0aO!W(yX~O!W0cO~OX0dO~O'u+aO'wTO'zUO~O!X%vO'u%_O]'hX!V'hX~O!V+fO](xa~O!g0iO~P!7sOX0lO~O]0mO~O#X0pO~Og0sO!X${O~O(V(sO!W(vP~Og0|O!X0yO%a0{O(O%QO~OX1WO!V1UO!W(wX~O!W1XO~O]1ZO^%fO'l%fO~O'u#lO'wTO'zUO~O#X$dO#{$dOP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX~O#o1^O&R1_O^(XX!f(XX~P$+dO#X$dO#o1^O&R1_O~O^1aO~P%TO^1cO~O&[1fOP&YiQ&YiV&Yi^&Yia&Yib&Yii&Yik&Yil&Yim&Yis&Yiu&Yiw&Yi|&Yi!Q&Yi!R&Yi!X&Yi!c&Yi!h&Yi!k&Yi!l&Yi!m&Yi!o&Yi!q&Yi!t&Yi!x&Yi#p&Yi$Q&Yi$U&Yi%`&Yi%b&Yi%d&Yi%e&Yi%f&Yi%i&Yi%k&Yi%n&Yi%o&Yi%q&Yi%}&Yi&T&Yi&V&Yi&X&Yi&Z&Yi&^&Yi&d&Yi&j&Yi&l&Yi&n&Yi&p&Yi&r&Yi'j&Yi'u&Yi'w&Yi'z&Yi(S&Yi(b&Yi(o&Yi!W&Yi_&Yi&a&Yi~O_1lO!W1jO&a1kO~P`O!XXO!h1nO~O&h,iOP&ciQ&ciV&ci^&cia&cib&cii&cik&cil&cim&cis&ciu&ciw&ci|&ci!Q&ci!R&ci!X&ci!c&ci!h&ci!k&ci!l&ci!m&ci!o&ci!q&ci!t&ci!x&ci#p&ci$Q&ci$U&ci%`&ci%b&ci%d&ci%e&ci%f&ci%i&ci%k&ci%n&ci%o&ci%q&ci%}&ci&T&ci&V&ci&X&ci&Z&ci&^&ci&d&ci&j&ci&l&ci&n&ci&p&ci&r&ci'j&ci'u&ci'w&ci'z&ci(S&ci(b&ci(o&ci!W&ci&[&ci_&ci&a&ci~O!S1tO~O!V!Za!W!Za~P#ByOl!mO|!nO!U1zO(V!lO!V'OX!W'OX~P?wO!V,yO!W(Za~O!V'UX!W'UX~P!6{O!V,|O!W(ia~O!W2RO~P'WO^%fO#X2[O'l%fO~O^%fO!a#tO#X2[O'l%fO~O^%fO!a#tO!l2`O#X2[O'l%fO(c'fO~O^%fO'l%fO~P!7sO!V$`Oo$ka~O!S&}i!V&}i~P!7sO!V'zO!S(Yi~O!V(RO!S(gi~O!S(hi!V(hi~P!7sO!V(ei!g(ei^(ei'l(ei~P!7sO#X2bO!V(ei!g(ei^(ei'l(ei~O!V(_O!g(di~O|%`O!X%aO!x]O#b2gO#c2fO'u%_O~O|%`O!X%aO#c2fO'u%_O~Og2nO!X'UO%a2mO~Og2nO!X'UO%a2mO(O%QO~O#dvaPvaXva^vakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva'lva(Sva(cva!gva!Sva'jvaova!Xva%ava!ava~P$ hO#d$laP$laX$la^$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la'l$la(S$la(c$la!g$la!S$la'j$lao$la!X$la%a$la!a$la~P$!^O#d$naP$naX$na^$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na'l$na(S$na(c$na!g$na!S$na'j$nao$na!X$na%a$na!a$na~P$#PO#d$|aP$|aX$|a^$|ak$|az$|a!V$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a'l$|a(S$|a(c$|a!g$|a!S$|a'j$|a#X$|ao$|a!X$|a%a$|a!a$|a~P#,`O^#[q!V#[q'l#[q'j#[q!S#[q!g#[qo#[q!X#[q%a#[q!a#[q~P!7sOd'PX!V'PX~P!'oO!V.^Od(]a~O!U2vO!V'QX!g'QX~P%TO!V.aO!g(^a~O!V.aO!g(^a~P!7sO!S2yO~O#y!ja!W!ja~PJqO#y!ba!V!ba!W!ba~P#ByO#y!na!W!na~P!:^O#y!pa!W!pa~P!<wO!X3]O$UfO$_3^O~O!W3bO~Oo3cO~P#,`O^$hq!V$hq'l$hq'j$hq!S$hq!g$hqo$hq!X$hq%a$hq!a$hq~P!7sO!S3dO~Ol.|O'wTO'zUO~Oy)uO|)vO(k)zOg%Xi(j%Xi!V%Xi#X%Xi~Od%Xi#y%Xi~P$JVOy)uO|)vOg%Zi(j%Zi(k%Zi!V%Zi#X%Zi~Od%Zi#y%Zi~P$JxO(c$YO~P#,`O!U3gO'u%_O!V'[X!g'[X~O!V/UO!g(pa~O!V/UO!a#tO!g(pa~O!V/UO!a#tO(c'fO!g(pa~Od$ui!V$ui#X$ui#y$ui~P!0dO!U3oO'u*WO!S'^X!V'^X~P!1RO!V/^O!S(qa~O!V/^O!S(qa~P#,`O!a#tO#o3wO~Ok3zO!a#tO(c'fO~Od(Qi!V(Qi~P!0dO#X3}Od(Qi!V(Qi~P!0dO!g4QO~O^$iq!V$iq'l$iq'j$iq!S$iq!g$iqo$iq!X$iq%a$iq!a$iq~P!7sO!S4UO~O!V4VO!X(rX~P#,`O!f#vO~P4QO^$sX!X$sX%UYX'l$sX!V$sX~P!/ZO%U4XO^hXghXyhX|hX!XhX'lhX(jhX(khX!VhX~O%U4XO~O%b4`O'u+aO'wTO'zUO!V'gX!W'gX~O!V0aO!W(ya~OX4dO~O]4eO~O^%fO'l%fO~P#,`O!X${O~P#,`O!V4mO#X4oO!W(vX~O!W4pO~Ol!mO|4qO![!wO!]!tO!^!tO!x9qO!|!oO!}!oO#O!oO#P!oO#Q!oO#T4vO#U!xO'v!kO'wTO'zUO(V!lO(b!rO~O!W4uO~P%$wOg4{O!X0yO%a4zO~Og4{O!X0yO%a4zO(O%QO~O'u#lO!V'fX!W'fX~O!V1UO!W(wa~O'wTO'zUO(V5UO~O]5YO~O#o5]O&R5^O~PMaO!g5_O~P%TO^5aO~O^5aO~P%TO_1lO!W5fO&a1kO~P`O!a5hO~O!a5jO!V([i!W([i!a([i!h([i(O([i~O!V#ai!W#ai~P#ByO#X5kO!V#ai!W#ai~O!V!Zi!W!Zi~P#ByO^%fO#X5tO'l%fO~O^%fO!a#tO#X5tO'l%fO~O!V(eq!g(eq^(eq'l(eq~P!7sO!V(_O!g(dq~O|%`O!X%aO#c5{O'u%_O~O!X'UO%a6OO~Og6RO!X'UO%a6OO~O#d%XiP%XiX%Xi^%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi'l%Xi(S%Xi(c%Xi!g%Xi!S%Xi'j%Xio%Xi!X%Xi%a%Xi!a%Xi~P$JVO#d%ZiP%ZiX%Zi^%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi'l%Zi(S%Zi(c%Zi!g%Zi!S%Zi'j%Zio%Zi!X%Zi%a%Zi!a%Zi~P$JxO#d$uiP$uiX$ui^$uik$uiz$ui!V$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui'l$ui(S$ui(c$ui!g$ui!S$ui'j$ui#X$uio$ui!X$ui%a$ui!a$ui~P#,`Od'Pa!V'Pa~P!0dO!V'Qa!g'Qa~P!7sO!V.aO!g(^i~O#y#[i!V#[i!W#[i~P#ByOP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O(SVOX#fik#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(c#fi(j#fi(k#fi!V#fi!W#fi~O#g#fi~P%3WO#g9yO~P%3WOP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO(SVOX#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(c#fi(j#fi(k#fi!V#fi!W#fi~Ok#fi~P%5cOk9{O~P%5cOP$[Ok9{Oy#xOz#yO|#zO!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O(SVO#q#fi#s#fi#u#fi#v#fi#y#fi(c#fi(j#fi(k#fi!V#fi!W#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P%7nOX:XO!e9}O#l9}O#m9}O#n:WO#o9}O~P%7nOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO(SVO#s#fi#u#fi#v#fi#y#fi(c#fi(k#fi!V#fi!W#fi~O(j#fi~P%:YO(j#{O~P%:YOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO(SVO(j#{O#u#fi#v#fi#y#fi(c#fi!V#fi!W#fi~O(k#fi~P%<eO(k#|O~P%<eOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO#u:SO(SVO(j#{O(k#|O~O#v#fi#y#fi(c#fi!V#fi!W#fi~P%>pO^#wy!V#wy'l#wy'j#wy!S#wy!g#wyo#wy!X#wy%a#wy!a#wy~P!7sOg;lOy)uO|)vO(j)xO(k)zO~OP#fiX#fik#fiz#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(S#fi(c#fi!V#fi!W#fi~P%AhO!f#vOP(RXX(RXg(RXk(RXy(RXz(RX|(RX!e(RX!h(RX!l(RX#g(RX#h(RX#i(RX#j(RX#k(RX#l(RX#m(RX#n(RX#o(RX#q(RX#s(RX#u(RX#v(RX#y(RX(S(RX(c(RX(j(RX(k(RX!V(RX!W(RX~O#y#zi!V#zi!W#zi~P#ByO#y!ni!W!ni~P$$nO!W6_O~O!V'Za!W'Za~P#ByO!a#tO(c'fO!V'[a!g'[a~O!V/UO!g(pi~O!V/UO!a#tO!g(pi~Od$uq!V$uq#X$uq#y$uq~P!0dO!S'^a!V'^a~P#,`O!a6fO~O!V/^O!S(qi~P#,`O!V/^O!S(qi~O!S6jO~O!a#tO#o6oO~Ok6pO!a#tO(c'fO~O!S6rO~Od$wq!V$wq#X$wq#y$wq~P!0dO^$iy!V$iy'l$iy'j$iy!S$iy!g$iyo$iy!X$iy%a$iy!a$iy~P!7sO!a5jO~O!V4VO!X(ra~O^#[y!V#[y'l#[y'j#[y!S#[y!g#[yo#[y!X#[y%a#[y!a#[y~P!7sOX6wO~O!V0aO!W(yi~O]6}O~O(V(sO!V'cX!W'cX~O!V4mO!W(va~OikO'u7UO~P.bO!W7XO~P%$wOl!mO|7YO'wTO'zUO(V!lO(b!rO~O!X0yO~O!X0yO%a7[O~Og7_O!X0yO%a7[O~OX7dO!V'fa!W'fa~O!V1UO!W(wi~O!g7hO~O!g7iO~O!g7lO~O!g7lO~P%TO^7nO~O!a7oO~O!g7pO~O!V(hi!W(hi~P#ByO^%fO#X7xO'l%fO~O!V(ey!g(ey^(ey'l(ey~P!7sO!V(_O!g(dy~O!X'UO%a7{O~O#d$uqP$uqX$uq^$uqk$uqz$uq!V$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq'l$uq(S$uq(c$uq!g$uq!S$uq'j$uq#X$uqo$uq!X$uq%a$uq!a$uq~P#,`O#d$wqP$wqX$wq^$wqk$wqz$wq!V$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq'l$wq(S$wq(c$wq!g$wq!S$wq'j$wq#X$wqo$wq!X$wq%a$wq!a$wq~P#,`O!V'Qi!g'Qi~P!7sO#y#[q!V#[q!W#[q~P#ByOy/xOz/xO|/yOPvaXvagvakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva#yva(Sva(cva(jva(kva!Vva!Wva~Oy)uO|)vOP$laX$lag$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la#y$la(S$la(c$la(j$la(k$la!V$la!W$la~Oy)uO|)vOP$naX$nag$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na#y$na(S$na(c$na(j$na(k$na!V$na!W$na~OP$|aX$|ak$|az$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a#y$|a(S$|a(c$|a!V$|a!W$|a~P%AhO#y$hq!V$hq!W$hq~P#ByO#y$iq!V$iq!W$iq~P#ByO!W8VO~O#y8WO~P!0dO!a#tO!V'[i!g'[i~O!a#tO(c'fO!V'[i!g'[i~O!V/UO!g(pq~O!S'^i!V'^i~P#,`O!V/^O!S(qq~O!S8^O~P#,`O!S8^O~Od(Qy!V(Qy~P!0dO!V'aa!X'aa~P#,`O^%Tq!X%Tq'l%Tq!V%Tq~P#,`OX8cO~O!V0aO!W(yq~O#X8gO!V'ca!W'ca~O!V4mO!W(vi~P#ByOPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX~O!a%RX#o%RX~P&2hO!X0yO%a8kO~O'wTO'zUO(V8pO~O!V1UO!W(wq~O!g8sO~O!g8tO~O!g8uO~O!g8uO~P%TO#X8xO!V#ay!W#ay~O!V#ay!W#ay~P#ByO!X'UO%a8}O~O#y#wy!V#wy!W#wy~P#ByOP$uiX$uik$uiz$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui#y$ui(S$ui(c$ui!V$ui!W$ui~P%AhOy)uO|)vO(k)zOP%XiX%Xig%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi#y%Xi(S%Xi(c%Xi(j%Xi!V%Xi!W%Xi~Oy)uO|)vOP%ZiX%Zig%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi#y%Zi(S%Zi(c%Zi(j%Zi(k%Zi!V%Zi!W%Zi~O#y$iy!V$iy!W$iy~P#ByO#y#[y!V#[y!W#[y~P#ByO!a#tO!V'[q!g'[q~O!V/UO!g(py~O!S'^q!V'^q~P#,`O!S9UO~P#,`O!V0aO!W(yy~O!V4mO!W(vq~O!X0yO%a9]O~O!g9`O~O!X'UO%a9eO~OP$uqX$uqk$uqz$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq#y$uq(S$uq(c$uq!V$uq!W$uq~P%AhOP$wqX$wqk$wqz$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq#y$wq(S$wq(c$wq!V$wq!W$wq~P%AhOd%]!Z!V%]!Z#X%]!Z#y%]!Z~P!0dO!V'cq!W'cq~P#ByO!V#a!Z!W#a!Z~P#ByO#d%]!ZP%]!ZX%]!Z^%]!Zk%]!Zz%]!Z!V%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z'l%]!Z(S%]!Z(c%]!Z!g%]!Z!S%]!Z'j%]!Z#X%]!Zo%]!Z!X%]!Z%a%]!Z!a%]!Z~P#,`OP%]!ZX%]!Zk%]!Zz%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z#y%]!Z(S%]!Z(c%]!Z!V%]!Z!W%]!Z~P%AhOo(WX~P1jO'v!kO~P!){O!ScX!VcX#XcX~P&2hOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#XYX#XcX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX~O!acX!gYX!gcX(ccX~P&HOOP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!XXO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'u)TO'wTO'zUO(SVO(b[O(o;_O~O!V:UO!W$ka~Oi%ROk$sOl$rOm$rOs%SOu%TOw:[O|$zO!X${O!c;fO!h$wO#c:bO$Q%XO$m:^O$o:`O$r%YO'u(kO'wTO'zUO(O%QO(S$tO~O#p)[O~P&LtO!WYX!WcX~P&HOO#d9xO~O!a#tO#d9xO~O#X:YO~O#o9}O~O#X:dO!V(hX!W(hX~O#X:YO!V(fX!W(fX~O#d:eO~Od:gO~P!0dO#d:lO~O#d:mO~O!a#tO#d:nO~O!a#tO#d:eO~O#y:oO~P#ByO#d:pO~O#d:qO~O#d:rO~O#d:sO~O#d:tO~O#d:uO~O#y:vO~P!0dO#y:wO~P!0dO$U~!f!|!}#P#Q#T#b#c#n(o$m$o$r%U%`%a%b%i%k%n%o%q%s~'pR$U(o#h!R'n'v#il#g#jky'o(V'o'u$W$Y$W~",goto:"$&O(}PPPP)OP)RP)cP*r.uPPPP5WPP5mP;h>mP?QP?QPPP?QP@pP?QP?QP?QP@tPP@yPAdPFZPPPF_PPPPF_I_PPPIeJ`PF_PLmPPPPN{F_PPPF_PF_P!#ZF_P!&n!'p!'yP!(l!(p!(lPPPPP!+z!'pPP!,h!-bP!0UF_F_!0Z!3d!7x!7x!;mPPP!;tF_PPPPPPPPPPP!?QP!@cPPF_!ApPF_PF_F_F_F_PF_!CSPP!FZP!I^P!Ib!Il!Ip!IpP!FWP!It!ItP!LwP!L{F_F_!MR#!T?QP?QP?Q?QP##_?Q?Q#%X?Q#'f?Q#)Y?Q?Q#)v#+r#+r#+v#,O#+r#,WP#+rP?Q#,p?Q#-x?Q?Q5WPPP#/TPPP#/m#/mP#/mP#0S#/mPP#0YP#0PP#0P#0l#0P#1W#1^5T)R#1a)RP#1h#1h#1hP)RP)RP)RP)RPP)RP#1n#1qP#1q)RP#1uP#1xP)RP)RP)RP)RP)RP)R)RPP#2O#2U#2`#2f#2l#2r#2x#3W#3^#3d#3n#3t#4O#4_#4e#5U#5h#5n#5t#6S#6i#7y#8X#8_#8e#8k#8q#8{#9R#9X#9c#9u#9{PPPPPPPPPP#:RPPPPPPP#:u#=|P#?]#?d#?lPPPP#Cv#Fl#MS#MV#MY#NR#NU#NX#N`#NhPP#Nn#Nr$ j$!i$!m$#RPP$#V$#]$#aP$#d$#h$#k$$a$$w$%_$%c$%f$%i$%o$%r$%v$%zR!zRmqOXs!Y#b%e&h&j&k&m,a,f1f1iY!tQ'U-R0y4tQ%kuQ%sxQ%z{Q&`!US&|!d,yQ'[!hS'b!q!wS*^${*cQ+_%tQ+l%|Q,Q&YQ-P'TQ-Z']Q-c'cQ/o*eQ1T,RR:c9t$|dOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{,^,a,f-V-_-m-s.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2v4q4{5]5^5a5t7Y7_7n7xS#o]9q!r)V$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ*n%UQ+d%vQ,S&]Q,Z&eQ.W:ZQ0V+VQ0Z+XQ0f+eQ1],XQ2j.TQ4_0aQ5S1UQ6Q2nQ6W:[Q6y4`R8O6R&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bt!mQ!q!t!w!x&|'T'U'b'c'd,y-P-R-c0y4t4v$Y$ri#t#v$b$c$w$z%V%W%[)p)y){)|*T*Z*i*j+U+X+p+s.S.^/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lQ%}{Q&z!dS'Q%a,|Q+d%vS.|)v/OQ/z*rQ0f+eQ0k+kQ1[,WQ1],XQ4_0aQ4h0mQ5V1WQ5W1ZQ6y4`Q6|4eQ7g5YQ8f6}R8q7dpnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iR,U&a&t^OPXYstuvy!Y!_!f!i!n#Q#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y'W'h'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;a;b[#ZWZ#U#X&}'x!S%bm#f#g#j%]%`(R(](^(_*y*z*|,],s-q-w-x-y-{1n2f2g5j5{Q%nwQ%rxS%w{%|Q&T!SQ'X!gQ'Z!hQ(f#qS*Q$w*US+^%s%tQ+b%vQ+{&WQ,P&YS-Y'[']Q.V(gQ/Y*RQ0_+_Q0e+eQ0g+fQ0j+jQ1O+|S1S,Q,RQ2W-ZQ3f/UQ4^0aQ4b0dQ4g0lQ5R1TQ6c3gQ6x4`Q6{4dQ8b6wR9W8cv$yi#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h!S%px!h!s%r%s%t&{'Z'[']'a'k*]+^+_,v-Y-Z-b/g0_2P2W2_3yQ+W%nQ+q&QQ+t&RQ,O&YQ.U(fQ0}+{U1R,P,Q,RQ2o.VQ4|1OS5Q1S1TQ7c5R!z;c#t$b$c$w$z)p)|*Z+U+X+p+s.S/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lg;d:W:X:^:`:b:i:k:m:q:s:wW%Oi%Q*k;_S&Q!P&_Q&R!QQ&S!RR+o&O$Z$}i#t#v$b$c$w$z%V%W%[)p)y){)|*T*Z*i*j+U+X+p+s.S.^/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lT)q$t)rV*o%U:Z:[U'Q!d%a,|S(t#x#yQ+i%yS.O(b(cQ0t+uQ4O/xR7R4m&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;b$i$_c#W#c%i%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.i.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;UT#RV#S&{kOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ'O!dR1{,yv!mQ!d!q!t!w!x&|'T'U'b'c'd,y-P-R-c0y4t4vS*]${*cS/g*^*eQ/p*fQ0v+wQ3y/oR3|/rlqOXs!Y#b%e&h&j&k&m,a,f1f1iQ&o!]Q'l!vS(h#s9xQ+[%qQ+y&TQ+z&VQ-W'YQ-e'eS.[(m:eS/}*w:nQ0]+]Q0x+xQ1m,hQ1o,iQ1w,tQ2U-XQ2X-]S4T0O:tQ4Y0^S4]0`:uQ5l1yQ5p2VQ5u2^Q6v4ZQ7s5nQ7t5qQ7w5vR8w7p$d$^c#W#c%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;US(e#n'_U*h$|(l3YS+R%i.iQ2k0VQ5}2jQ7}6QR9O8O$d$]c#W#c%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;US(d#n'_S(v#y$^S+Q%i.iS.P(c(eQ.l)WQ0S+RR2h.Q&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bS#o]9qQ&j!WQ&k!XQ&m!ZQ&n![R1e,dQ'V!gQ+T%nQ-U'XS.R(f+WQ2S-TW2l.U.V0U0WQ5o2TU5|2i2k2oS7z5}6PS8|7|7}S9c8{9OQ9k9dR9n9lU!uQ'U-RT4r0y4t!O_OXZ`s!U!Y#b#f%]%e&_&a&h&j&k&m(_,a,f-x1f1i]!oQ!q'U-R0y4tT#o]9q%WzOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xS(t#x#yS.O(b(c!s:{$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bY!sQ'U-R0y4tQ'a!qS'k!t!wS'm!x4vS-b'b'cQ-d'dR2_-cQ'j!sS(Z#e1`S-a'a'mQ/X*QQ/e*]Q2`-dQ3k/YS3t/f/pQ6b3fS6m3z3|Q8Y6cR8a6pQ#ubQ'i!sS(Y#e1`S([#k*vQ*x%^Q+Y%oQ+`%uU-`'a'j'mQ-t(ZQ/W*QQ/d*]Q/j*`Q0[+ZQ1P+}S2]-a-dQ2e-|S3j/X/YS3s/e/pQ3v/iQ3x/kQ5O1QQ5w2`Q6a3fQ6e3kS6i3t3|Q6n3{Q7a5PS8X6b6cQ8]6jQ8_6mQ8n7bQ9S8YQ9T8^Q9V8aQ9_8oQ9g9UQ;O:yQ;Z;SR;[;TV!uQ'U-R%WaOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xS#uy!i!r:x$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bR;O;a%WbOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xQ%^j!S%ox!h!s%r%s%t&{'Z'[']'a'k*]+^+_,v-Y-Z-b/g0_2P2W2_3yS%uy!iQ+Z%pQ+}&YW1Q,O,P,Q,RU5P1R1S1TS7b5Q5RQ8o7c!r:y$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ;S;`R;T;a$zeOPXYstuv!Y!_!f!n#Q#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xY#`WZ#U#X'x!S%bm#f#g#j%]%`(R(](^(_*y*z*|,],s-q-w-x-y-{1n2f2g5j5{Q,[&e!p:z$Z$l)i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bR:}&}S'R!d%aR1},|$|dOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{,^,a,f-V-_-m-s.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2v4q4{5]5^5a5t7Y7_7n7x!r)V$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ,Z&eQ0V+VQ2j.TQ6Q2nR8O6R!f$Tc#W%i'w'}(i(p)P)Q)R)S)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9r!T:P)U)g,w.i1u1x2z3S3T3U3V3Z3a5m6V6[6]7T7r8P8T8U9Y9a;U!b$Vc#W%i'w'}(i(p)R)S)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9r!P:R)U)g,w.i1u1x2z3U3V3Z3a5m6V6[6]7T7r8P8T8U9Y9a;U!^$Zc#W%i'w'}(i(p)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9rQ3e/Sz;b)U)g,w.i1u1x2z3Z3a5m6V6[6]7T7r8P8T8U9Y9a;UQ;g;iR;h;j&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bS$mh$nR3^.o'RgOPWXYZhstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l$n%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.o.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bT$if$oQ$gfS)`$j)dR)l$oT$hf$oT)b$j)d'RhOPWXYZhstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l$n%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.o.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bT$mh$nQ$phR)k$n%WjOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7x!s;`$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;b#alOPXZs!Y!_!n#Q#b#m#z$l%e&a&d&e&h&j&k&m&q&y'W(u)i*{+V,^,a,f-V.T.p/y0|1^1_1a1c1f1i1k2n3]4q4{5]5^5a6R7Y7_7nv$|i#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h!z(l#t$b$c$w$z)p)|*Z+U+X+p+s.S/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lQ*s%YQ.{)ug3Y:W:X:^:`:b:i:k:m:q:s:wv$xi#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;hQ*V$yS*`${*cQ*t%ZQ/k*a!z;Q#t$b$c$w$z)p)|*Z+U+X+p+s.S/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lf;R:W:X:^:`:b:i:k:m:q:s:wQ;V;cQ;W;dQ;X;eR;Y;fv$|i#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h!z(l#t$b$c$w$z)p)|*Z+U+X+p+s.S/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lg3Y:W:X:^:`:b:i:k:m:q:s:wloOXs!Y#b%e&h&j&k&m,a,f1f1iQ*Y$zQ,o&tQ,p&vR3n/^$Y$}i#t#v$b$c$w$z%V%W%[)p)y){)|*T*Z*i*j+U+X+p+s.S.^/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lQ+r&RQ0r+tQ4k0qR7Q4lT*b${*cS*b${*cT4s0y4tS/i*_4qT3{/q7YQ+Y%oQ/j*`Q0[+ZQ1P+}Q5O1QQ7a5PQ8n7bR9_8on)y$u(n*u/[/s/t2s3l4R6`6q9R;P;];^!W:h(j)Z*P*X.Z.w/S/a0T0o0q2r3m3q4j4l6S6T6g6k6s6u8[8`9f;i;j]:i3X6Z8Q9P9Q9op){$u(n*u/Q/[/s/t2s3l4R6`6q9R;P;];^!Y:j(j)Z*P*X.Z.w/S/a0T0o0q2p2r3m3q4j4l6S6T6g6k6s6u8[8`9f;i;j_:k3X6Z8Q8R9P9Q9opnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iQ&[!TR,^&epnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iR&[!TQ+v&SR0n+oqnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iQ0z+{S4y0}1OU7Z4w4x4|S8j7]7^S9Z8i8lQ9h9[R9m9iQ&c!UR,V&_R5V1WS%w{%|R0g+fQ&h!VR,a&iR,g&nT1g,f1iR,k&oQ,j&oR1p,kQ'o!yR-g'oQsOQ#bXT%hs#bQ!|TR'q!|Q#PUR's#PQ)r$tR.x)rQ#SVR'u#SQ#VWU'{#V'|-nQ'|#WR-n'}Q,z'OR1|,zQ._(nR2t._Q.b(pS2w.b2xR2x.cQ-R'UR2Q-RY!qQ'U-R0y4tR'`!qS#]W%`U(S#](T-oQ(T#^R-o(OQ,}'RR2O,}r`OXs!U!Y#b%e&_&a&h&j&k&m,a,f1f1iS#fZ%]U#p`#f-xR-x(_Q(`#hQ-u([W-}(`-u2c5yQ2c-vR5y2dQ)d$jR.q)dQ$nhR)j$nQ$acU)Y$a-j:VQ-j9rR:V)gQ/V*QW3h/V3i6d8ZU3i/W/X/YS6d3j3kR8Z6e#m)w$u(j(n)Z*P*X*p*q*u.X.Y.Z.w/Q/R/S/[/a/s/t0T0o0q2p2q2r2s3X3l3m3q4R4j4l6S6T6X6Y6Z6`6g6k6q6s6u8Q8R8S8[8`9P9Q9R9f9o;P;];^;i;jQ/_*XU3p/_3r6hQ3r/aR6h3qQ*c${R/m*cQ*l%PR/v*lQ4W0TR6t4WQ*}%cR0R*}Q4n0tS7S4n8hR8h7TQ+x&TR0w+xQ4t0yR7W4tQ1V,SS5T1V7eR7e5VQ0b+bW4a0b4c6z8dQ4c0eQ6z4bR8d6{Q+g%wR0h+gQ1i,fR5e1iWrOXs#bQ&l!YQ+P%eQ,`&hQ,b&jQ,c&kQ,e&mQ1d,aS1g,f1iR5d1fQ%gpQ&p!^Q&s!`Q&u!aQ&w!bQ'g!sQ+O%dQ+[%qQ+n%}Q,U&cQ,m&rW-^'a'i'j'mQ-e'eQ/l*bQ0]+]S1Y,V,YQ1q,lQ1r,oQ1s,pQ2X-]W2Z-`-a-d-fQ4Y0^Q4f0kQ4i0oQ4}1PQ5X1[Q5c1eU5r2Y2]2`Q5u2^Q6v4ZQ7O4hQ7P4jQ7V4sQ7`5OQ7f5WS7u5s5wQ7w5vQ8e6|Q8m7aQ8r7gQ8y7vQ9X8fQ9^8nQ9b8zR9j9_Q%qxQ'Y!hQ'e!sU+]%r%s%tQ,t&{U-X'Z'[']S-]'a'kQ/c*]S0^+^+_Q1y,vS2V-Y-ZQ2^-bQ3u/gQ4Z0_Q5n2PQ5q2WQ5v2_R6l3yS$vi;_R*m%QU%Pi%Q;_R/u*kQ$uiS(j#t+XQ(n#vS)Z$b$cQ*P$wQ*X$zQ*p%VQ*q%WQ*u%[Q.X:]Q.Y:_Q.Z:aQ.w)pQ/Q)yQ/R){Q/S)|Q/[*TQ/a*ZQ/s*iQ/t*jh0T+U.S0{2m4z6O7[7{8k8}9]9eQ0o+pQ0q+sQ2p:hQ2q:jQ2r:lQ2s.^S3X:W:XQ3l/]Q3m/^Q3q/`Q4R/{Q4j0pQ4l0sQ6S:pQ6T:rQ6X:^Q6Y:`Q6Z:bQ6`3eQ6g3oQ6k3wQ6q3}Q6s4VQ6u4XQ8Q:mQ8R:iQ8S:kQ8[6fQ8`6oQ9P:qQ9Q:sQ9R8WQ9f:vQ9o:wQ;P;_Q;];gQ;^;hQ;i;kR;j;llpOXs!Y#b%e&h&j&k&m,a,f1f1iQ!ePS#dZ#mQ&r!_U'^!n4q7YQ't#QQ(w#zQ)h$lS,Y&a&dQ,_&eQ,l&qQ,q&yQ-T'WQ.e(uQ.u)iQ0P*{Q0W+VQ1b,^Q2T-VQ2k.TQ3`.pQ4P/yQ4x0|Q5Z1^Q5[1_Q5`1aQ5b1cQ5g1kQ5}2nQ6^3]Q7^4{Q7j5]Q7k5^Q7m5aQ7}6RQ8l7_R8v7n#UcOPXZs!Y!_!n#b#m#z%e&a&d&e&h&j&k&m&q&y'W(u*{+V,^,a,f-V.T/y0|1^1_1a1c1f1i1k2n4q4{5]5^5a6R7Y7_7nQ#WWQ#cYQ%itQ%juS%lv!fS'w#U'zQ'}#XQ(i#sQ(p#wQ(x#}Q(y$OQ(z$PQ({$QQ(|$RQ(}$SQ)O$TQ)P$UQ)Q$VQ)R$WQ)S$XQ)U$ZQ)X$`Q)]$dW)g$l)i.p3]Q+S%kQ+h%xS,w&}1zQ-f'hS-k'x-mQ-p(QQ-r(XQ.](mQ.c(qQ.g9pQ.i9sQ.j9tQ.k9wQ.z)tQ/|*wQ1u,rQ1x,uQ2Y-_Q2a-sQ2u.aQ2z9xQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S:QQ3T:RQ3U:SQ3V:TQ3W.hQ3Z:YQ3[:cQ3a:UQ4S0OQ4[0`Q5m:dQ5s2[Q5x2bQ6U2vQ6V:eQ6[:gQ6]:nQ7T4oQ7r5kQ7v5tQ8P:oQ8T:tQ8U:uQ8z7xQ9Y8gQ9a8xQ9r#QR;U;bR#YWR'P!dY!sQ'U-R0y4tS&{!d,yQ'a!qS'k!t!wS'm!x4vS,v&|'TS-b'b'cQ-d'dQ2P-PR2_-cR(o#vR(r#wQ!eQT-Q'U-R]!pQ!q'U-R0y4tQ#n]R'_9qT#iZ%]S#hZ%]S%cm,]U([#f#g#jS-v(](^Q-z(_Q0Q*|Q2d-wU2e-x-y-{S5z2f2gR7y5{`#[W#U#X%`'x(R*y-qr#eZm#f#g#j%](](^(_*|-w-x-y-{2f2g5{Q1`,]Q1v,sQ5i1nQ7q5jT:|&}*zT#_W%`S#^W%`S'y#U(RS(O#X*yS,x&}*zT-l'x-qT'S!d%aQ$jfR)n$oT)c$j)dR3_.oT*S$w*UR*[$zQ0U+UQ2i.SQ4w0{Q6P2mQ7]4zQ7|6OQ8i7[Q8{7{Q9[8kQ9d8}Q9i9]R9l9elqOXs!Y#b%e&h&j&k&m,a,f1f1iQ&b!UR,U&_rmOXs!T!U!Y#b%e&_&h&j&k&m,a,f1f1iR,]&eT%dm,]R0u+uR,T&]Q%{{R+m%|R+c%vT&f!V&iT&g!V&iT1h,f1i",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:366,context:ly,nodeProps:[["group",-26,6,14,16,62,199,203,207,208,210,213,216,226,228,234,236,238,240,243,249,255,257,259,261,263,265,266,"Statement",-32,10,11,25,28,29,35,45,48,49,51,56,64,72,76,78,80,81,103,104,113,114,131,134,136,137,138,139,141,142,162,163,165,"Expression",-23,24,26,30,34,36,38,166,168,170,171,173,174,175,177,178,179,181,182,183,193,195,197,198,"Type",-3,84,96,102,"ClassItem"],["openedBy",31,"InterpolationStart",50,"[",54,"{",69,"(",143,"JSXStartTag",155,"JSXStartTag JSXStartCloseTag"],["closedBy",33,"InterpolationEnd",44,"]",55,"}",70,")",144,"JSXSelfCloseEndTag JSXEndTag",160,"JSXEndTag"]],propSources:[fy],skippedNodes:[0,3,4,269],repeatNodeCount:33,tokenData:"$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$<s$I}$JO$<s$JO$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$d&j'{!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'{!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$d&j'xpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'xpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$d&j'xp'{!b'n(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'y#S$d&j'o(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$d&j'xp'{!b'o(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$d&j!l$Ip'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#q$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#q$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'w$(n$d&j'{!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$d&j'{!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$d&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$_#t$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$_#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$_#t$d&j'{!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'{!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$_#t'{!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|<[i$d&j(b!L^'xp'{!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!Q%Z!Q![<P![!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|=|P;=`<%l<P(CS>`k$d&j'xp'{!b(V!LY'u&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$d&j'xp'{!b$W#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$d&j'xp'{!b#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$d&j#{$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%DfETa(k%<v$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sv%ZvwFYwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SFe`$d&j#u$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2bGp_'z$)`$d&j'xpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo*QHv_$d&j'xpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo)`IzX$d&jOwIuwx6cx!^Iu!^!_Jg!_#oIu#o#pJg#p;'SIu;'S;=`KP<%lOIu#tJjTOwJgwx7]x;'SJg;'S;=`Jy<%lOJg#tJ|P;=`<%lJg)`KSP;=`<%lIu*QK`]$_#t$d&j'xpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r$fL^Z'xpOYLXYZJgZrLXrsJgswLXwxMPx#OLX#O#PJg#P;'SLX;'S;=`Mj<%lOLX$fMWU$_#t'xpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r$fMmP;=`<%lLX*QMsP;=`<%lHo(*QNR_!h(!b$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l! ]_!gM|$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!!ib$d&j'xp'{!b'v#)d#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!#q{!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!#|`$d&j'xp'{!b#g$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!%Z`$d&j'xp'{!bk&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!&h_!V&;l$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!'rc$d&j'xp'{!by'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!(}!P!Q%Z!Q![!+g![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!)Wa$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!*]!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!*h_!UMt$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!+rg$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!+g![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S!+g#S#X%Z#X#Y!-Z#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!-dg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!.{|}%Z}!O!.{!O!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!/Uc$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!0lc$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!2Sf$d&j'xp'{!b#h$IdOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}xz!3hz{#$s{!P!3h!P!Q#&Y!Q!^!3h!^!_!Mh!_!`#-x!`!a#/_!a!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(r!3sb$d&j'xp'{!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(Q!5U`$d&j'{!b!RSOY!4{YZ&cZw!4{wx!6Wx!P!4{!P!Q!=o!Q!^!4{!^!_!?g!_!}!4{!}#O!Bn#O#P!<w#P#o!4{#o#p!?g#p;'S!4{;'S;=`!Cw<%lO!4{&n!6_^$d&j!RSOY!6WYZ&cZ!P!6W!P!Q!7Z!Q!^!6W!^!_!8g!_!}!6W!}#O!;U#O#P!<w#P#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!7ba$d&j!RSO!^&c!_#Z&c#Z#[!7Z#[#]&c#]#^!7Z#^#a&c#a#b!7Z#b#g&c#g#h!7Z#h#i&c#i#j!7Z#j#m&c#m#n!7Z#n#o&c#p;'S&c;'S;=`&w<%lO&cS!8lX!RSOY!8gZ!P!8g!P!Q!9X!Q!}!8g!}#O!9p#O#P!:o#P;'S!8g;'S;=`!;O<%lO!8gS!9^U!RS#Z#[!9X#]#^!9X#a#b!9X#g#h!9X#i#j!9X#m#n!9XS!9sVOY!9pZ#O!9p#O#P!:Y#P#Q!8g#Q;'S!9p;'S;=`!:i<%lO!9pS!:]SOY!9pZ;'S!9p;'S;=`!:i<%lO!9pS!:lP;=`<%l!9pS!:rSOY!8gZ;'S!8g;'S;=`!;O<%lO!8gS!;RP;=`<%l!8g&n!;Z[$d&jOY!;UYZ&cZ!^!;U!^!_!9p!_#O!;U#O#P!<P#P#Q!6W#Q#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<UX$d&jOY!;UYZ&cZ!^!;U!^!_!9p!_#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<tP;=`<%l!;U&n!<|X$d&jOY!6WYZ&cZ!^!6W!^!_!8g!_#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!=lP;=`<%l!6W(Q!=xi$d&j'{!b!RSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!=o#[#]&}#]#^!=o#^#a&}#a#b!=o#b#g&}#g#h!=o#h#i&}#i#j!=o#j#m&}#m#n!=o#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!?nZ'{!b!RSOY!?gZw!?gwx!8gx!P!?g!P!Q!@a!Q!}!?g!}#O!Ap#O#P!:o#P;'S!?g;'S;=`!Bh<%lO!?g!f!@hb'{!b!RSOY'}Zw'}x#O'}#P#Z'}#Z#[!@a#[#]'}#]#^!@a#^#a'}#a#b!@a#b#g'}#g#h!@a#h#i'}#i#j!@a#j#m'}#m#n!@a#n;'S'};'S;=`(f<%lO'}!f!AuX'{!bOY!ApZw!Apwx!9px#O!Ap#O#P!:Y#P#Q!?g#Q;'S!Ap;'S;=`!Bb<%lO!Ap!f!BeP;=`<%l!Ap!f!BkP;=`<%l!?g(Q!Bu^$d&j'{!bOY!BnYZ&cZw!Bnwx!;Ux!^!Bn!^!_!Ap!_#O!Bn#O#P!<P#P#Q!4{#Q#o!Bn#o#p!Ap#p;'S!Bn;'S;=`!Cq<%lO!Bn(Q!CtP;=`<%l!Bn(Q!CzP;=`<%l!4{'`!DW`$d&j'xp!RSOY!C}YZ&cZr!C}rs!6Ws!P!C}!P!Q!EY!Q!^!C}!^!_!GQ!_!}!C}!}#O!JX#O#P!<w#P#o!C}#o#p!GQ#p;'S!C};'S;=`!Kb<%lO!C}'`!Eci$d&j'xp!RSOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!EY#[#](r#]#^!EY#^#a(r#a#b!EY#b#g(r#g#h!EY#h#i(r#i#j!EY#j#m(r#m#n!EY#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!GXZ'xp!RSOY!GQZr!GQrs!8gs!P!GQ!P!Q!Gz!Q!}!GQ!}#O!IZ#O#P!:o#P;'S!GQ;'S;=`!JR<%lO!GQt!HRb'xp!RSOY)rZr)rs#O)r#P#Z)r#Z#[!Gz#[#])r#]#^!Gz#^#a)r#a#b!Gz#b#g)r#g#h!Gz#h#i)r#i#j!Gz#j#m)r#m#n!Gz#n;'S)r;'S;=`*Z<%lO)rt!I`X'xpOY!IZZr!IZrs!9ps#O!IZ#O#P!:Y#P#Q!GQ#Q;'S!IZ;'S;=`!I{<%lO!IZt!JOP;=`<%l!IZt!JUP;=`<%l!GQ'`!J`^$d&j'xpOY!JXYZ&cZr!JXrs!;Us!^!JX!^!_!IZ!_#O!JX#O#P!<P#P#Q!C}#Q#o!JX#o#p!IZ#p;'S!JX;'S;=`!K[<%lO!JX'`!K_P;=`<%l!JX'`!KeP;=`<%l!C}(r!Ksk$d&j'xp'{!b!RSOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[!Kh#[#]%Z#]#^!Kh#^#a%Z#a#b!Kh#b#g%Z#g#h!Kh#h#i%Z#i#j!Kh#j#m%Z#m#n!Kh#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W!Mq]'xp'{!b!RSOY!MhZr!Mhrs!?gsw!Mhwx!GQx!P!Mh!P!Q!Nj!Q!}!Mh!}#O#!U#O#P!:o#P;'S!Mh;'S;=`##U<%lO!Mh#W!Nse'xp'{!b!RSOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[!Nj#[#]*g#]#^!Nj#^#a*g#a#b!Nj#b#g*g#g#h!Nj#h#i*g#i#j!Nj#j#m*g#m#n!Nj#n;'S*g;'S;=`+Z<%lO*g#W#!]Z'xp'{!bOY#!UZr#!Urs!Apsw#!Uwx!IZx#O#!U#O#P!:Y#P#Q!Mh#Q;'S#!U;'S;=`##O<%lO#!U#W##RP;=`<%l#!U#W##XP;=`<%l!Mh(r##e`$d&j'xp'{!bOY##[YZ&cZr##[rs!Bnsw##[wx!JXx!^##[!^!_#!U!_#O##[#O#P!<P#P#Q!3h#Q#o##[#o#p#!U#p;'S##[;'S;=`#$g<%lO##[(r#$jP;=`<%l##[(r#$pP;=`<%l!3h(CS#%Qb$d&j'xp'{!b'p(;d!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(CS#&e_$d&j'xp'{!bR(;dOY#&YYZ&cZr#&Yrs#'dsw#&Ywx#*tx!^#&Y!^!_#,s!_#O#&Y#O#P#(f#P#o#&Y#o#p#,s#p;'S#&Y;'S;=`#-r<%lO#&Y(Bb#'m]$d&j'{!bR(;dOY#'dYZ&cZw#'dwx#(fx!^#'d!^!_#)w!_#O#'d#O#P#(f#P#o#'d#o#p#)w#p;'S#'d;'S;=`#*n<%lO#'d(AO#(mX$d&jR(;dOY#(fYZ&cZ!^#(f!^!_#)Y!_#o#(f#o#p#)Y#p;'S#(f;'S;=`#)q<%lO#(f(;d#)_SR(;dOY#)YZ;'S#)Y;'S;=`#)k<%lO#)Y(;d#)nP;=`<%l#)Y(AO#)tP;=`<%l#(f(<v#*OW'{!bR(;dOY#)wZw#)wwx#)Yx#O#)w#O#P#)Y#P;'S#)w;'S;=`#*h<%lO#)w(<v#*kP;=`<%l#)w(Bb#*qP;=`<%l#'d(Ap#*}]$d&j'xpR(;dOY#*tYZ&cZr#*trs#(fs!^#*t!^!_#+v!_#O#*t#O#P#(f#P#o#*t#o#p#+v#p;'S#*t;'S;=`#,m<%lO#*t(<U#+}W'xpR(;dOY#+vZr#+vrs#)Ys#O#+v#O#P#)Y#P;'S#+v;'S;=`#,g<%lO#+v(<U#,jP;=`<%l#+v(Ap#,pP;=`<%l#*t(=h#,|Y'xp'{!bR(;dOY#,sZr#,srs#)wsw#,swx#+vx#O#,s#O#P#)Y#P;'S#,s;'S;=`#-l<%lO#,s(=h#-oP;=`<%l#,s(CS#-uP;=`<%l#&Y%#W#.Vb$d&j#{$Id'xp'{!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h+h#/lb$T#t$d&j'xp'{!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h$/l#1Pp$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#U%Z#U#V#6_#V#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#d#9g#d#l%Z#l#m#<i#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#3`k$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#5`_$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#6hd$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#8Rf$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#9pc$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;We$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#<rg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$d&j#y%<f'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Al_^l$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS#Bz^(O!*v!e'.r'xp'{!b$U)d(oSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Cv!Q!^*g!^!_#Dl!_!`#F^!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#DPX$f&j'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#DuZ#k$Id'xp'{!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Eh!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#EqX#{$Id'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#FgX#l$Id'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh#G_a#X%?x$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a#Hd!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W#Ho_#d$Ih$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#I}adBf#l$Id$a#|$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`#KS!`!a#L^!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#K__#l$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#Lia#k$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`!a#Mn!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#My`#k$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$ Wc(c$Ip$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$!c!P!^%Z!^!_*g!_!a%Z!a!b$#m!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$!n_z'#p$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$#x`$d&j#v$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$%V_!x!Ln$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$&a_|(8n$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$'eZ$d&jO!^$(W!^!_$(n!_#i$(W#i#j$(s#j#l$(W#l#m$*f#m#o$(W#o#p$(n#p;'S$(W;'S;=`$,q<%lO$(W(n$(_T[#S$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$(sO[#S(n$(x[$d&jO!Q&c!Q![$)n![!^&c!_!c&c!c!i$)n!i#T&c#T#Z$)n#Z#o&c#o#p$,U#p;'S&c;'S;=`&w<%lO&c(n$)sZ$d&jO!Q&c!Q![$*f![!^&c!_!c&c!c!i$*f!i#T&c#T#Z$*f#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$*kZ$d&jO!Q&c!Q![$+^![!^&c!_!c&c!c!i$+^!i#T&c#T#Z$+^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$+cZ$d&jO!Q&c!Q![$(W![!^&c!_!c&c!c!i$(W!i#T&c#T#Z$(W#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$,XR!Q![$,b!c!i$,b#T#Z$,b#S$,eS!Q![$,b!c!i$,b#T#Z$,b#q#r$(n(n$,tP;=`<%l$(W!'l$-S_!SM|$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$.^`#s$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$/k_$d&j'xp'{!b(S&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$0yk$d&j'xp'{!b(V!LY'u&;d$Y#tOY%ZYZ&cZr%Zrs&}st%Ztu$0juw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$0j![!^%Z!^!_*g!_!c%Z!c!}$0j!}#O%Z#O#P&c#P#R%Z#R#S$0j#S#T%Z#T#o$0j#o#p*g#p$g%Z$g;'S$0j;'S;=`$4t<%lO$0j+d$2yk$d&j'xp'{!b$Y#tOY%ZYZ&cZr%Zrs&}st%Ztu$2nuw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$2n![!^%Z!^!_*g!_!c%Z!c!}$2n!}#O%Z#O#P&c#P#R%Z#R#S$2n#S#T%Z#T#o$2n#o#p*g#p$g%Z$g;'S$2n;'S;=`$4n<%lO$2n+d$4qP;=`<%l$2n(CS$4wP;=`<%l$0j!5p$5TX!X!3l'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Df$5{a(j%<v$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$#m#q;'S%Z;'S;=`+a<%lO%Z%#`$7__!W$I`o`$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$8i_!mS$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$9y|$d&j'xp'{!b'n(;d(V!LY'u&;d$W#tOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$d&j'xp'{!b'o(;d(V!LY'u&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",tokenizers:[cy,uy,2,3,4,5,6,7,8,9,10,11,12,13,hy,new Tl("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOq~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!O~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(U~~",141,327),new Tl("j~RQYZXz{^~^O'r~~aP!P!Qd~iO's~~",25,309)],topRules:{Script:[0,5],SingleExpression:[1,267],SingleClassItem:[2,268]},dialects:{jsx:12810,ts:12812},dynamicPrecedences:{76:1,78:1,163:1,191:1},specialized:[{term:313,get:e=>dy[e]||-1},{term:329,get:e=>py[e]||-1},{term:67,get:e=>Oy[e]||-1}],tokenPrec:12836}),gy=[Km("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),Km("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),Km("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Km("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Km("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),Km("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),Km("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),Km("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),Km("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),Km('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Km('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Sy=new nl,by=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function xy(e){return(t,i)=>{let n=t.node.getChild("VariableDefinition");return n&&i(n,e),!0}}const wy=["FunctionDeclaration"],yy={FunctionDeclaration:xy("function"),ClassDeclaration:xy("class"),ClassExpression:()=>!0,EnumDeclaration:xy("constant"),TypeAliasDeclaration:xy("type"),NamespaceDeclaration:xy("namespace"),VariableDefinition(e,t){e.matchContext(wy)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function vy(e,t){let i=Sy.get(t);if(i)return i;let n=[],s=!0;function r(t,i){let s=e.sliceString(t.from,t.to);n.push({label:s,type:i})}return t.cursor(Ea.IncludeAnonymous).iterate(t=>{if(s)s=!1;else if(t.name){let e=yy[t.name];if(e&&e(t,r)||by.has(t.name))return!1}else if(t.to-t.from>8192){for(let i of vy(e,t.node))n.push(i);return!1}}),Sy.set(t,n),n}const ky=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Qy=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function $y(e){let t=rc(e.state).resolveInner(e.pos,-1);if(Qy.indexOf(t.name)>-1)return null;let i="VariableName"==t.name||t.to-t.from<20&&ky.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;let n=[];for(let i=t;i;i=i.parent)by.has(i.name)&&(n=n.concat(vy(e.state.doc,i)));return{options:n,from:i?t.from:e.pos,validFor:ky}}const Py=sc.define({name:"javascript",parser:my.configure({props:[vc.add({IfStatement:Mc({except:/^\s*({|else\b)/}),TryStatement:Mc({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Vc,SwitchBody:e=>{let t=e.textAfter,i=/^\s*\}/.test(t),n=/^\s*(case|default)\b/.test(t);return e.baseIndent+(i?0:n?1:2)*e.unit},Block:Ac({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":Mc({except:/^{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),Ec.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":zc,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Cy={test:e=>/^JSX/.test(e.name),facet:ec({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Xy=Py.configure({dialect:"ts"},"typescript"),Ty=Py.configure({dialect:"jsx",props:[tc.add(e=>e.isTop?[Cy]:void 0)]}),Zy=Py.configure({dialect:"jsx ts",props:[tc.add(e=>e.isTop?[Cy]:void 0)]},"typescript"),Ay="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(e=>({label:e,type:"keyword"}));function Ry(e={}){let t=e.jsx?e.typescript?Zy:Ty:e.typescript?Xy:Py;return new Oc(t,[Py.data.of({autocomplete:BO(Qy,jO(gy.concat(Ay)))}),Py.data.of({autocomplete:$y}),e.jsx?Wy:[]])}function Vy(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}function My(e,t,i=e.length){for(let n=null==t?void 0:t.firstChild;n;n=n.nextSibling)if("JSXIdentifier"==n.name||"JSXBuiltin"==n.name||"JSXNamespacedName"==n.name||"JSXMemberExpression"==n.name)return e.sliceString(n.from,Math.min(n.to,i));return""}function Yy(e){return e&&("JSXEndTag"==e.name||"JSXSelfCloseEndTag"==e.name)}const _y="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),Wy=xr.inputHandler.of((e,t,i,n)=>{if((_y?e.composing:e.compositionStarted)||e.state.readOnly||t!=i||">"!=n&&"/"!=n||!Py.isActiveAt(e.state,t,-1))return!1;let{state:s}=e,r=s.changeByRange(e=>{var t;let i,{head:r}=e,o=rc(s).resolveInner(r,-1);if("JSXStartTag"==o.name&&(o=o.parent),"JSXAttributeValue"==o.name&&o.to>r);else{if(">"==n&&"JSXFragmentTag"==o.name)return{range:R.cursor(r+1),changes:{from:r,insert:"></>"}};if("/"==n&&"JSXFragmentTag"==o.name){let e=o.parent,n=null==e?void 0:e.parent;if(e.from==r-1&&"JSXEndTag"!=(null===(t=n.lastChild)||void 0===t?void 0:t.name)&&(i=My(s.doc,null==n?void 0:n.firstChild,r))){let e=`/${i}>`;return{range:R.cursor(r+e.length),changes:{from:r,insert:e}}}}else if(">"==n){let e=Vy(o);if(e&&!Yy(e.lastChild)&&"</"!=s.sliceDoc(r,r+2)&&(i=My(s.doc,e,r)))return{range:R.cursor(r+1),changes:{from:r,insert:`></${i}>`}}}}return{range:e}});return!r.changes.empty&&(e.dispatch(r,{userEvent:"input.type",scrollIntoView:!0}),!0)}),Ey=["_blank","_self","_top","_parent"],zy=["ascii","utf-8","utf-16","latin1","latin1"],Uy=["get","post","put","delete"],qy=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Dy=["true","false"],Iy={},jy={a:{attrs:{href:null,ping:null,type:null,media:null,target:Ey,hreflang:null}},abbr:Iy,address:Iy,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Iy,aside:Iy,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Iy,base:{attrs:{href:null,target:Ey}},bdi:Iy,bdo:Iy,blockquote:{attrs:{cite:null}},body:Iy,br:Iy,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:qy,formmethod:Uy,formnovalidate:["novalidate"],formtarget:Ey,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Iy,center:Iy,cite:Iy,code:Iy,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Iy,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Iy,div:Iy,dl:Iy,dt:Iy,em:Iy,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Iy,figure:Iy,footer:Iy,form:{attrs:{action:null,name:null,"accept-charset":zy,autocomplete:["on","off"],enctype:qy,method:Uy,novalidate:["novalidate"],target:Ey}},h1:Iy,h2:Iy,h3:Iy,h4:Iy,h5:Iy,h6:Iy,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Iy,hgroup:Iy,hr:Iy,html:{attrs:{manifest:null}},i:Iy,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:qy,formmethod:Uy,formnovalidate:["novalidate"],formtarget:Ey,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Iy,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Iy,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Iy,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:zy,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Iy,noscript:Iy,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Iy,param:{attrs:{name:null,value:null}},pre:Iy,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Iy,rt:Iy,ruby:Iy,samp:Iy,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:zy}},section:Iy,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Iy,source:{attrs:{src:null,type:null,media:null}},span:Iy,strong:Iy,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Iy,summary:Iy,sup:Iy,table:Iy,tbody:Iy,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Iy,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Iy,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Iy,time:{attrs:{datetime:null}},title:Iy,tr:Iy,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Iy,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Iy},By={accesskey:null,class:null,contenteditable:Dy,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Dy,autocorrect:Dy,autocapitalize:Dy,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Dy,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Dy,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Dy,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Dy,"aria-hidden":Dy,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Dy,"aria-multiselectable":Dy,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Dy,"aria-relevant":null,"aria-required":Dy,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},Ly="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of Ly)By[e]=null;class Ny{constructor(e,t){this.tags=Object.assign(Object.assign({},jy),e),this.globalAttrs=Object.assign(Object.assign({},By),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function Gy(e,t,i=e.length){if(!t)return"";let n=t.firstChild,s=n&&n.getChild("TagName");return s?e.sliceString(s.from,Math.min(s.to,i)):""}function Fy(e,t=!1){for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function Hy(e,t,i){let n=i.tags[Gy(e,Fy(t))];return(null==n?void 0:n.children)||i.allTags}function Jy(e,t){let i=[];for(let n=Fy(t);n&&!n.type.isTop;n=Fy(n.parent)){let s=Gy(e,n);if(s&&"CloseTag"==n.lastChild.name)break;s&&i.indexOf(s)<0&&("EndTag"==t.name||t.from>=n.firstChild.to)&&i.push(s)}return i}Ny.default=new Ny;const Ky=/^[:\-\.\w\u00b7-\uffff]*$/;function ev(e,t,i,n,s){let r=/\s*>/.test(e.sliceDoc(s,s+5))?"":">",o=Fy(i,!0);return{from:n,to:s,options:Hy(e.doc,o,t).map(e=>({label:e,type:"type"})).concat(Jy(e.doc,i).map((e,t)=>({label:"/"+e,apply:"/"+e+r,type:"type",boost:99-t}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function tv(e,t,i,n){let s=/\s*>/.test(e.sliceDoc(n,n+5))?"":">";return{from:i,to:n,options:Jy(e.doc,t).map((e,t)=>({label:e,apply:e+s,type:"type",boost:99-t})),validFor:Ky}}function iv(e,t,i,n){let s=[],r=0;for(let n of Hy(e.doc,i,t))s.push({label:"<"+n,type:"type"});for(let t of Jy(e.doc,i))s.push({label:"</"+t+">",type:"type",boost:99-r++});return{from:n,to:n,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function nv(e,t,i,n,s){let r=Fy(i),o=r?t.tags[Gy(e.doc,r)]:null,a=o&&o.attrs?Object.keys(o.attrs):[];return{from:n,to:s,options:(o&&!1===o.globalAttrs?a:a.length?a.concat(t.globalAttrNames):t.globalAttrNames).map(e=>({label:e,type:"property"})),validFor:Ky}}function sv(e,t,i,n,s){var r;let o=null===(r=i.parent)||void 0===r?void 0:r.getChild("AttributeName"),a=[],l=void 0;if(o){let r=e.sliceDoc(o.from,o.to),h=t.globalAttrs[r];if(!h){let n=Fy(i),s=n?t.tags[Gy(e.doc,n)]:null;h=(null==s?void 0:s.attrs)&&s.attrs[r]}if(h){let t=e.sliceDoc(n,s).toLowerCase(),i='"',r='"';/^['"]/.test(t)?(l='"'==t[0]?/^[^"]*$/:/^[^']*$/,i="",r=e.sliceDoc(s,s+1)==t[0]?"":t[0],t=t.slice(1),n++):l=/^[^\s<>='"]*$/;for(let e of h)a.push({label:e,apply:i+e+r,type:"constant"})}}return{from:n,to:s,options:a,validFor:l}}function rv(e,t){let{state:i,pos:n}=t,s=rc(i).resolveInner(n,-1),r=s.resolve(n);for(let e,t=n;r==s&&(e=s.childBefore(t));){let i=e.lastChild;if(!i||!i.type.isError||i.from<i.to)break;r=s=e,t=i.from}return"TagName"==s.name?s.parent&&/CloseTag$/.test(s.parent.name)?tv(i,s,s.from,n):ev(i,e,s,s.from,n):"StartTag"==s.name?ev(i,e,s,n,n):"StartCloseTag"==s.name||"IncompleteCloseTag"==s.name?tv(i,s,n,n):t.explicit&&("OpenTag"==s.name||"SelfClosingTag"==s.name)||"AttributeName"==s.name?nv(i,e,s,"AttributeName"==s.name?s.from:n,n):"Is"==s.name||"AttributeValue"==s.name||"UnquotedAttributeValue"==s.name?sv(i,e,s,"Is"==s.name?n:s.from,n):!t.explicit||"Element"!=r.name&&"Text"!=r.name&&"Document"!=r.name?null:iv(i,e,s,n)}function ov(e){return rv(Ny.default,e)}function av(e){let{extraTags:t,extraGlobalAttributes:i}=e,n=i||t?new Ny(t,i):Ny.default;return e=>rv(n,e)}const lv=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:Xy.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:Ty.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:Zy.parser},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:Py.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:Px.parser}],hv=[{name:"style",parser:Px.parser.configure({top:"Styles"})}].concat(Ly.map(e=>({name:e,parser:Py.parser}))),cv=sc.define({name:"html",parser:qw.configure({props:[vc.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t,i=null;for(let t=e.node;;){let e=t.lastChild;if(!e||"Element"!=e.name||e.to!=t.to)break;i=t=e}return i&&(!(t=i.lastChild)||"CloseTag"!=t.name&&"SelfClosingTag"!=t.name)?e.lineIndent(i.from)+e.unit:null}}),Ec.add({Element(e){let t=e.firstChild,i=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==i.name?i.from:e.to}:null}}),Qu.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),uv=cv.configure({wrap:Bw(lv,hv)});function fv(e={}){let t,i="";!1===e.matchClosingTags&&(i="noMatch"),!0===e.selfClosingTags&&(i=(i?i+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=Bw((e.nestedLanguages||[]).concat(lv),(e.nestedAttributes||[]).concat(hv)));let n=t?cv.configure({wrap:t,dialect:i}):i?uv.configure({dialect:i}):uv;return new Oc(n,[uv.data.of({autocomplete:av(e)}),!1!==e.autoCloseTags?pv:[],Ry().support,Cx().support])}const dv=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),pv=xr.inputHandler.of((e,t,i,n)=>{if(e.composing||e.state.readOnly||t!=i||">"!=n&&"/"!=n||!uv.isActiveAt(e.state,t,-1))return!1;let{state:s}=e,r=s.changeByRange(t=>{var i,r,o;let a,{head:l}=t,h=rc(s).resolveInner(l,-1);if("TagName"!=h.name&&"StartTag"!=h.name||(h=h.parent),">"==n&&"OpenTag"==h.name){if("CloseTag"!=(null===(r=null===(i=h.parent)||void 0===i?void 0:i.lastChild)||void 0===r?void 0:r.name)&&(a=Gy(s.doc,h.parent,l))&&!dv.has(a)){let t=">"===e.state.doc.sliceString(l,l+1),i=`${t?"":">"}</${a}>`;return{range:R.cursor(l+1),changes:{from:l+(t?1:0),insert:i}}}}else if("/"==n&&"OpenTag"==h.name){let t=h.parent,i=null==t?void 0:t.parent;if(t.from==l-1&&"CloseTag"!=(null===(o=i.lastChild)||void 0===o?void 0:o.name)&&(a=Gy(s.doc,i,l))&&!dv.has(a)){let t=">"===e.state.doc.sliceString(l,l+1),i=`/${a}${t?"":">"}`,n=l+i.length+(t?1:0);return{range:R.cursor(n),changes:{from:l,insert:i}}}}return{range:t}});return!r.changes.empty&&(e.dispatch(r,{userEvent:"input.type",scrollIntoView:!0}),!0)});var Ov,mv=(e,t,i)=>new Promise((n,s)=>{var r=e=>{try{a(i.next(e))}catch(e){s(e)}},o=e=>{try{a(i.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((i=i.apply(e,t)).next())});class gv extends CS{constructor(e,t=[]){super(e,t,VS)}getExtensions(e){return mv(this,null,(function*(){return[fv({selfClosingTags:!1}),RS()]}))}serialize(){return this.editor.content}}class Sv{static create(e,t,i,n,s){return new Sv(e,t,i,n+(n<<8)+e+(t<<4)|0,s,[],[])}constructor(e,t,i,n,s,r,o){this.type=e,this.value=t,this.from=i,this.hash=n,this.end=s,this.children=r,this.positions=o,this.hashProp=[[Aa.contextHash,n]]}addChild(e,t){e.prop(Aa.contextHash)!=this.hash&&(e=new za(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let i=this.children.length-1;return i>=0&&(t=Math.max(t,this.positions[i]+this.children[i].length+this.from)),new za(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,i)=>new za(Ma.none,e,t,i,this.hashProp)})}}!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.URL=33]="URL",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel"}(Ov||(Ov={}));class bv{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class xv{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return kv(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,i=0){for(let n=t;n<e;n++)i+=9==this.text.charCodeAt(n)?4-i%4:1;return i}findColumn(e){let t=0;for(let i=0;t<this.text.length&&i<e;t++)i+=9==this.text.charCodeAt(t)?4-i%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}}function wv(e,t,i){if(i.pos==i.text.length||e!=t.block&&i.indent>=t.stack[i.depth+1].value+i.baseIndent)return!0;if(i.indent>=i.baseIndent+4)return!1;let n=(e.type==Ov.OrderedList?Zv:Tv)(i,t,!1);return n>0&&(e.type!=Ov.BulletList||Cv(i,t,!1)<0)&&i.text.charCodeAt(i.pos+n-1)==e.value}const yv={[Ov.Blockquote]:(e,t,i)=>62==i.next&&(i.markers.push(rk(Ov.QuoteMark,t.lineStart+i.pos,t.lineStart+i.pos+1)),i.moveBase(i.pos+(vv(i.text.charCodeAt(i.pos+1))?2:1)),e.end=t.lineStart+i.text.length,!0),[Ov.ListItem]:(e,t,i)=>!(i.indent<i.baseIndent+e.value&&i.next>-1)&&(i.moveBaseColumn(i.baseIndent+e.value),!0),[Ov.OrderedList]:wv,[Ov.BulletList]:wv,[Ov.Document]:()=>!0};function vv(e){return 32==e||9==e||10==e||13==e}function kv(e,t=0){for(;t<e.length&&vv(e.charCodeAt(t));)t++;return t}function Qv(e,t,i){for(;t>i&&vv(e.charCodeAt(t-1));)t--;return t}function $v(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;if(t<e.pos+3)return-1;if(96==e.next)for(let i=t;i<e.text.length;i++)if(96==e.text.charCodeAt(i))return-1;return t}function Pv(e){return 62!=e.next?-1:32==e.text.charCodeAt(e.pos+1)?2:1}function Cv(e,t,i){if(42!=e.next&&45!=e.next&&95!=e.next)return-1;let n=1;for(let t=e.pos+1;t<e.text.length;t++){let i=e.text.charCodeAt(t);if(i==e.next)n++;else if(!vv(i))return-1}return i&&45==e.next&&Rv(e)>-1&&e.depth==t.stack.length||n<3?-1:1}function Xv(e,t){for(let i=e.stack.length-1;i>=0;i--)if(e.stack[i].type==t)return!0;return!1}function Tv(e,t,i){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!vv(e.text.charCodeAt(e.pos+1))||!(!i||Xv(t,Ov.BulletList)||e.skipSpace(e.pos+2)<e.text.length)?-1:1}function Zv(e,t,i){let n=e.pos,s=e.next;for(;s>=48&&s<=57;){if(n++,n==e.text.length)return-1;s=e.text.charCodeAt(n)}return n==e.pos||n>e.pos+9||46!=s&&41!=s||n<e.text.length-1&&!vv(e.text.charCodeAt(n+1))||i&&!Xv(t,Ov.OrderedList)&&(e.skipSpace(n+1)==e.text.length||n>e.pos+1||49!=e.next)?-1:n+1-e.pos}function Av(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&35==e.text.charCodeAt(t);)t++;if(t<e.text.length&&32!=e.text.charCodeAt(t))return-1;let i=t-e.pos;return i>6?-1:i}function Rv(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;let i=t;for(;t<e.text.length&&vv(e.text.charCodeAt(t));)t++;return t==e.text.length?i:-1}const Vv=/^[ \t]*$/,Mv=/-->/,Yv=/\?>/,_v=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,Mv],[/^\s*<\?/,Yv],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,Vv],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,Vv]];function Wv(e,t,i){if(60!=e.next)return-1;let n=e.text.slice(e.pos);for(let e=0,t=_v.length-(i?1:0);e<t;e++)if(_v[e][0].test(n))return e;return-1}function Ev(e,t){let i=e.countIndent(t,e.pos,e.indent),n=e.countIndent(e.skipSpace(t),t,i);return n>=i+5?i+1:n}function zv(e,t,i){let n=e.length-1;n>=0&&e[n].to==t&&e[n].type==Ov.CodeText?e[n].to=i:e.push(rk(Ov.CodeText,t,i))}const Uv={LinkReference:void 0,IndentedCode(e,t){let i=t.baseIndent+4;if(t.indent<i)return!1;let n=t.findColumn(i),s=e.lineStart+n,r=e.lineStart+t.text.length,o=[],a=[];for(zv(o,s,r);e.nextLine()&&t.depth>=e.stack.length;)if(t.pos==t.text.length){zv(a,e.lineStart-1,e.lineStart);for(let e of t.markers)a.push(e)}else{if(t.indent<i)break;{if(a.length){for(let e of a)e.type==Ov.CodeText?zv(o,e.from,e.to):o.push(e);a=[]}zv(o,e.lineStart-1,e.lineStart);for(let e of t.markers)o.push(e);r=e.lineStart+t.text.length;let i=e.lineStart+t.findColumn(t.baseIndent+4);i<r&&zv(o,i,r)}}return a.length&&(a=a.filter(e=>e.type!=Ov.CodeText),a.length&&(t.markers=a.concat(t.markers))),e.addNode(e.buffer.writeElements(o,-s).finish(Ov.CodeBlock,r-s),s),!0},FencedCode(e,t){let i=$v(t);if(i<0)return!1;let n=e.lineStart+t.pos,s=t.next,r=i-t.pos,o=t.skipSpace(i),a=Qv(t.text,t.text.length,o),l=[rk(Ov.CodeMark,n,n+r)];o<a&&l.push(rk(Ov.CodeInfo,e.lineStart+o,e.lineStart+a));for(let i=!0;e.nextLine()&&t.depth>=e.stack.length;i=!1){let n=t.pos;if(t.indent-t.baseIndent<4)for(;n<t.text.length&&t.text.charCodeAt(n)==s;)n++;if(n-t.pos>=r&&t.skipSpace(n)==t.text.length){for(let e of t.markers)l.push(e);l.push(rk(Ov.CodeMark,e.lineStart+t.pos,e.lineStart+n)),e.nextLine();break}{i||zv(l,e.lineStart-1,e.lineStart);for(let e of t.markers)l.push(e);let n=e.lineStart+t.basePos,s=e.lineStart+t.text.length;n<s&&zv(l,n,s)}}return e.addNode(e.buffer.writeElements(l,-n).finish(Ov.FencedCode,e.prevLineEnd()-n),n),!0},Blockquote(e,t){let i=Pv(t);return!(i<0)&&(e.startContext(Ov.Blockquote,t.pos),e.addNode(Ov.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1),t.moveBase(t.pos+i),null)},HorizontalRule(e,t){if(Cv(t,e,!1)<0)return!1;let i=e.lineStart+t.pos;return e.nextLine(),e.addNode(Ov.HorizontalRule,i),!0},BulletList(e,t){let i=Tv(t,e,!1);if(i<0)return!1;e.block.type!=Ov.BulletList&&e.startContext(Ov.BulletList,t.basePos,t.next);let n=Ev(t,t.pos+1);return e.startContext(Ov.ListItem,t.basePos,n-t.baseIndent),e.addNode(Ov.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+i),t.moveBaseColumn(n),null},OrderedList(e,t){let i=Zv(t,e,!1);if(i<0)return!1;e.block.type!=Ov.OrderedList&&e.startContext(Ov.OrderedList,t.basePos,t.text.charCodeAt(t.pos+i-1));let n=Ev(t,t.pos+i);return e.startContext(Ov.ListItem,t.basePos,n-t.baseIndent),e.addNode(Ov.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+i),t.moveBaseColumn(n),null},ATXHeading(e,t){let i=Av(t);if(i<0)return!1;let n=t.pos,s=e.lineStart+n,r=Qv(t.text,t.text.length,n),o=r;for(;o>n&&t.text.charCodeAt(o-1)==t.next;)o--;o!=r&&o!=n&&vv(t.text.charCodeAt(o-1))||(o=t.text.length);let a=e.buffer.write(Ov.HeaderMark,0,i).writeElements(e.parser.parseInline(t.text.slice(n+i+1,o),s+i+1),-s);o<t.text.length&&a.write(Ov.HeaderMark,o-n,r-n);let l=a.finish(Ov.ATXHeading1-1+i,t.text.length-n);return e.nextLine(),e.addNode(l,s),!0},HTMLBlock(e,t){let i=Wv(t,e,!1);if(i<0)return!1;let n=e.lineStart+t.pos,s=_v[i][1],r=[],o=s!=Vv;for(;!s.test(t.text)&&e.nextLine();){if(t.depth<e.stack.length){o=!1;break}for(let e of t.markers)r.push(e)}o&&e.nextLine();let a=s==Mv?Ov.CommentBlock:s==Yv?Ov.ProcessingInstructionBlock:Ov.HTMLBlock,l=e.prevLineEnd();return e.addNode(e.buffer.writeElements(r,-n).finish(a,l-n),n),!0},SetextHeading:void 0};class qv{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,i){if(-1==this.stage)return!1;let n=i.content+"\n"+t.scrub(),s=this.advance(n);return s>-1&&s<n.length&&this.complete(e,i,s)}finish(e,t){return(2==this.stage||3==this.stage)&&kv(t.content,this.pos)==t.content.length&&this.complete(e,t,t.content.length)}complete(e,t,i){return e.addLeafElement(t,rk(Ov.LinkReference,this.start,this.start+i,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(!1===e&&(this.stage=-1),!1)}advance(e){for(;;){if(-1==this.stage)return-1;if(0==this.stage){if(!this.nextStage(gk(e,this.pos,this.start,!0)))return-1;if(58!=e.charCodeAt(this.pos))return this.stage=-1;this.elts.push(rk(Ov.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else{if(1!=this.stage){if(2==this.stage){let t=kv(e,this.pos),i=0;if(t>this.pos){let n=mk(e,t,this.start);if(n){let t=Dv(e,n.to-this.start);t>0&&(this.nextStage(n),i=t)}}return i||(i=Dv(e,this.pos)),i>0&&i<e.length?i:-1}return Dv(e,this.pos)}if(!this.nextStage(Ok(e,kv(e,this.pos),this.start)))return-1}}}}function Dv(e,t){for(;t<e.length;t++){let i=e.charCodeAt(t);if(10==i)break;if(!vv(i))return-1}return t}class Iv{nextLine(e,t,i){let n=t.depth<e.stack.length?-1:Rv(t),s=t.next;if(n<0)return!1;let r=rk(Ov.HeaderMark,e.lineStart+t.pos,e.lineStart+n);return e.nextLine(),e.addLeafElement(i,rk(61==s?Ov.SetextHeading1:Ov.SetextHeading2,i.start,e.prevLineEnd(),[...e.parser.parseInline(i.content,i.start),r])),!0}finish(){return!1}}const jv={LinkReference:(e,t)=>91==t.content.charCodeAt(0)?new qv(t):null,SetextHeading:()=>new Iv},Bv=[(e,t)=>Av(t)>=0,(e,t)=>$v(t)>=0,(e,t)=>Pv(t)>=0,(e,t)=>Tv(t,e,!0)>=0,(e,t)=>Zv(t,e,!0)>=0,(e,t)=>Cv(t,e,!0)>=0,(e,t)=>Wv(t,e,!0)>=0],Lv={text:"",end:0};class Nv{constructor(e,t,i,n){this.parser=e,this.input=t,this.ranges=n,this.line=new xv,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=n[n.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=n[0].from,this.block=Sv.create(Ov.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=i.length?new wk(i,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(null!=this.stoppedAt&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(;e.depth<this.stack.length;)this.finishContext();for(let t of e.markers)this.addNode(t.type,t.from,t.to);if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let t of this.parser.blockParsers)if(t){let i=t(this,e);if(0!=i){if(1==i)return null;e.forward();continue e}}break}let t=new bv(this.lineStart+e.pos,e.text.slice(e.pos));for(let e of this.parser.leafBlockParsers)if(e){let i=e(this,t);i&&t.parsers.push(i)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4)for(let i of this.parser.endLeafBlock)if(i(this,e,t))break e;for(let i of t.parsers)if(i.nextLine(this,e,t))return null;t.content+="\n"+e.scrub();for(let i of e.markers)t.marks.push(i)}return this.finishLeaf(t),null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return!!t&&(this.absoluteLineStart+=t,this.lineStart=yk(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0)}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=Lv;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let e=this.absoluteLineStart,i=this.rangeI;for(;this.ranges[i].to<t.end;){i++;let n=this.ranges[i].from,s=this.lineChunkAt(n);t.end=n+s.length,t.text=t.text.slice(0,this.ranges[i-1].to-e)+s,e=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:i}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=i,e.reset(t);e.depth<this.stack.length;e.depth++){let t=this.stack[e.depth],i=this.parser.skipContextMarkup[t.type];if(!i)throw new Error("Unhandled block context "+Ov[t.type]);if(!i(t,this,e))break;e.forward()}}lineChunkAt(e){let t,i=this.input.chunk(e);if(this.input.lineChunks)t="\n"==i?"":i;else{let e=i.indexOf("\n");t=e<0?i:i.slice(0,e)}return e+t.length>this.to?t.slice(0,this.to-e):t}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,i=0){this.block=Sv.create(e,i,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,i=0){this.startContext(this.parser.getNodeType(e),t,i)}addNode(e,t,i){"number"==typeof e&&(e=new za(this.parser.nodeSet.types[e],tk,tk,(null!=i?i:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(bk(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Gv(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let t of e.parsers)if(t.finish(this,e))return;let t=bk(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(Ov.Paragraph,e.content.length),e.start)}elt(e,t,i,n){return"string"==typeof e?rk(this.parser.getNodeType(e),t,i,n):new sk(e,t)}get buffer(){return new ik(this.parser.nodeSet)}}function Gv(e,t,i,n,s){let r=e[t].to,o=[],a=[],l=i.from+n;function h(i,s){for(;s?i>=r:i>r;){let s=e[t+1].from-r;n+=s,i+=s,t++,r=e[t].to}}for(let c=i.firstChild;c;c=c.nextSibling){h(c.from+n,!0);let i,u=c.from+n,f=s.get(c.tree);f?i=f:c.to+n>r?(i=Gv(e,t,c,n,s),h(c.to+n,!1)):i=c.toTree(),o.push(i),a.push(u-l)}return h(i.to+n,!1),new za(i.type,o,a,i.to+n-l,i.tree?i.tree.propValues:void 0)}class Fv extends rl{constructor(e,t,i,n,s,r,o,a,l){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=i,this.blockNames=n,this.endLeafBlock=s,this.skipContextMarkup=r,this.inlineParsers=o,this.inlineNames=a,this.wrappers=l,this.nodeTypes=Object.create(null);for(let t of e.types)this.nodeTypes[t.name]=t.id}createParse(e,t,i){let n=new Nv(this,e,t,i);for(let s of this.wrappers)n=s(n,e,t,i);return n}configure(e){let t=Jv(e);if(!t)return this;let{nodeSet:i,skipContextMarkup:n}=this,s=this.blockParsers.slice(),r=this.leafBlockParsers.slice(),o=this.blockNames.slice(),a=this.inlineParsers.slice(),l=this.inlineNames.slice(),h=this.endLeafBlock.slice(),c=this.wrappers;if(Hv(t.defineNodes)){n=Object.assign({},n);let e,s=i.types.slice();for(let i of t.defineNodes){let{name:t,block:r,composite:o,style:a}="string"==typeof i?{name:i}:i;if(s.some(e=>e.name==t))continue;o&&(n[s.length]=(e,t,i)=>o(t,i,e.value));let l=s.length,h=o?["Block","BlockContext"]:r?l>=Ov.ATXHeading1&&l<=Ov.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;s.push(Ma.define({id:l,name:t,props:h&&[[Aa.group,h]]})),a&&(e||(e={}),Array.isArray(a)||a instanceof Jl?e[t]=a:Object.assign(e,a))}i=new Ya(s),e&&(i=i.extend(nh(e)))}if(Hv(t.props)&&(i=i.extend(...t.props)),Hv(t.remove))for(let e of t.remove){let t=this.blockNames.indexOf(e),i=this.inlineNames.indexOf(e);t>-1&&(s[t]=r[t]=void 0),i>-1&&(a[i]=void 0)}if(Hv(t.parseBlock))for(let e of t.parseBlock){let t=o.indexOf(e.name);if(t>-1)s[t]=e.parse,r[t]=e.leaf;else{let t=e.before?Kv(o,e.before):e.after?Kv(o,e.after)+1:o.length-1;s.splice(t,0,e.parse),r.splice(t,0,e.leaf),o.splice(t,0,e.name)}e.endLeaf&&h.push(e.endLeaf)}if(Hv(t.parseInline))for(let e of t.parseInline){let t=l.indexOf(e.name);if(t>-1)a[t]=e.parse;else{let t=e.before?Kv(l,e.before):e.after?Kv(l,e.after)+1:l.length-1;a.splice(t,0,e.parse),l.splice(t,0,e.name)}}return t.wrap&&(c=c.concat(t.wrap)),new Fv(i,s,r,o,h,n,a,l,c)}getNodeType(e){let t=this.nodeTypes[e];if(null==t)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let i=new Sk(this,e,t);e:for(let e=t;e<i.end;){let t=i.char(e);for(let n of this.inlineParsers)if(n){let s=n(i,t,e);if(s>=0){e=s;continue e}}e++}return i.resolveMarkers(0)}}function Hv(e){return null!=e&&e.length>0}function Jv(e){if(!Array.isArray(e))return e;if(0==e.length)return null;let t=Jv(e[0]);if(1==e.length)return t;let i=Jv(e.slice(1));if(!i||!t)return t||i;let n=(e,t)=>(e||tk).concat(t||tk),s=t.wrap,r=i.wrap;return{props:n(t.props,i.props),defineNodes:n(t.defineNodes,i.defineNodes),parseBlock:n(t.parseBlock,i.parseBlock),parseInline:n(t.parseInline,i.parseInline),remove:n(t.remove,i.remove),wrap:s?r?(e,t,i,n)=>s(r(e,t,i,n),t,i,n):s:r}}function Kv(e,t){let i=e.indexOf(t);if(i<0)throw new RangeError("Position specified relative to unknown parser "+t);return i}let ek=[Ma.none];for(let e,t=1;e=Ov[t];t++)ek[t]=Ma.define({id:t,name:e,props:t>=Ov.Escape?[]:[[Aa.group,t in yv?["Block","BlockContext"]:["Block","LeafBlock"]]],top:"Document"==e});const tk=[];class ik{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,i,n=0){return this.content.push(e,t,i,4+4*n),this}writeElements(e,t=0){for(let i of e)i.writeTo(this,t);return this}finish(e,t){return za.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}}class nk{constructor(e,t,i,n=tk){this.type=e,this.from=t,this.to=i,this.children=n}writeTo(e,t){let i=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-i)}toTree(e){return new ik(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}}class sk{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return tk}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}}function rk(e,t,i,n){return new nk(e,t,i,n)}const ok={resolve:"Emphasis",mark:"EmphasisMark"},ak={resolve:"Emphasis",mark:"EmphasisMark"},lk={},hk={};class ck{constructor(e,t,i,n){this.type=e,this.from=t,this.to=i,this.side=n}}const uk="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let fk=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{fk=new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]","u")}catch(e){}const dk={Escape(e,t,i){if(92!=t||i==e.end-1)return-1;let n=e.char(i+1);for(let t=0;t<uk.length;t++)if(uk.charCodeAt(t)==n)return e.append(rk(Ov.Escape,i,i+2));return-1},Entity(e,t,i){if(38!=t)return-1;let n=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(e.slice(i+1,i+31));return n?e.append(rk(Ov.Entity,i,i+1+n[0].length)):-1},InlineCode(e,t,i){if(96!=t||i&&96==e.char(i-1))return-1;let n=i+1;for(;n<e.end&&96==e.char(n);)n++;let s=n-i,r=0;for(;n<e.end;n++)if(96==e.char(n)){if(r++,r==s&&96!=e.char(n+1))return e.append(rk(Ov.InlineCode,i,n+1,[rk(Ov.CodeMark,i,i+s),rk(Ov.CodeMark,n+1-s,n+1)]))}else r=0;return-1},HTMLTag(e,t,i){if(60!=t||i==e.end-1)return-1;let n=e.slice(i+1,e.end),s=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(s)return e.append(rk(Ov.URL,i,i+1+s[0].length));let r=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(r)return e.append(rk(Ov.Comment,i,i+1+r[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return e.append(rk(Ov.ProcessingInstruction,i,i+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?e.append(rk(Ov.HTMLTag,i,i+1+a[0].length)):-1},Emphasis(e,t,i){if(95!=t&&42!=t)return-1;let n=i+1;for(;e.char(n)==t;)n++;let s=e.slice(i-1,i),r=e.slice(n,n+1),o=fk.test(s),a=fk.test(r),l=/\s|^$/.test(s),h=/\s|^$/.test(r),c=!h&&(!a||l||o),u=!l&&(!o||h||a),f=c&&(42==t||!u||o),d=u&&(42==t||!c||a);return e.append(new ck(95==t?ok:ak,i,n,(f?1:0)|(d?2:0)))},HardBreak(e,t,i){if(92==t&&10==e.char(i+1))return e.append(rk(Ov.HardBreak,i,i+2));if(32==t){let t=i+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=i+2)return e.append(rk(Ov.HardBreak,i,t+1))}return-1},Link:(e,t,i)=>91==t?e.append(new ck(lk,i,i+1,1)):-1,Image:(e,t,i)=>33==t&&91==e.char(i+1)?e.append(new ck(hk,i,i+2,1)):-1,LinkEnd(e,t,i){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let n=e.parts[t];if(n instanceof ck&&(n.type==lk||n.type==hk)){if(!n.side||e.skipSpace(n.to)==i&&!/[(\[]/.test(e.slice(i+1,i+2)))return e.parts[t]=null,-1;let s=e.takeContent(t),r=e.parts[t]=pk(e,s,n.type==lk?Ov.Link:Ov.Image,n.from,i+1);if(n.type==lk)for(let i=0;i<t;i++){let t=e.parts[i];t instanceof ck&&t.type==lk&&(t.side=0)}return r.to}}return-1}};function pk(e,t,i,n,s){let{text:r}=e,o=e.char(s),a=s;if(t.unshift(rk(Ov.LinkMark,n,n+(i==Ov.Image?2:1))),t.push(rk(Ov.LinkMark,s-1,s)),40==o){let i,n=e.skipSpace(s+1),o=Ok(r,n-e.offset,e.offset);o&&(n=e.skipSpace(o.to),i=mk(r,n-e.offset,e.offset),i&&(n=e.skipSpace(i.to))),41==e.char(n)&&(t.push(rk(Ov.LinkMark,s,s+1)),a=n+1,o&&t.push(o),i&&t.push(i),t.push(rk(Ov.LinkMark,n,a)))}else if(91==o){let i=gk(r,s-e.offset,e.offset,!1);i&&(t.push(i),a=i.to)}return rk(i,n,a,t)}function Ok(e,t,i){if(60==e.charCodeAt(t)){for(let n=t+1;n<e.length;n++){let s=e.charCodeAt(n);if(62==s)return rk(Ov.URL,t+i,n+1+i);if(60==s||10==s)return!1}return null}{let n=0,s=t;for(let t=!1;s<e.length;s++){let i=e.charCodeAt(s);if(vv(i))break;if(t)t=!1;else if(40==i)n++;else if(41==i){if(!n)break;n--}else 92==i&&(t=!0)}return s>t?rk(Ov.URL,t+i,s+i):s==e.length&&null}}function mk(e,t,i){let n=e.charCodeAt(t);if(39!=n&&34!=n&&40!=n)return!1;let s=40==n?41:n;for(let n=t+1,r=!1;n<e.length;n++){let o=e.charCodeAt(n);if(r)r=!1;else{if(o==s)return rk(Ov.LinkTitle,t+i,n+1+i);92==o&&(r=!0)}}return null}function gk(e,t,i,n){for(let s=!1,r=t+1,o=Math.min(e.length,r+999);r<o;r++){let o=e.charCodeAt(r);if(s)s=!1;else{if(93==o)return!n&&rk(Ov.LinkLabel,t+i,r+1+i);if(n&&!vv(o)&&(n=!1),91==o)return!1;92==o&&(s=!0)}}return null}class Sk{constructor(e,t,i){this.parser=e,this.text=t,this.offset=i,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,i,n,s){return this.append(new ck(e,t,i,(n?1:0)|(s?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t<this.parts.length;t++){let i=this.parts[t];if(!(i instanceof ck&&i.type.resolve&&2&i.side))continue;let n,s=i.type==ok||i.type==ak,r=i.to-i.from,o=t-1;for(;o>=e;o--){let e=this.parts[o];if(e instanceof ck&&1&e.side&&e.type==i.type&&!(s&&(1&i.side||2&e.side)&&(e.to-e.from+r)%3==0&&((e.to-e.from)%3||r%3))){n=e;break}}if(!n)continue;let a=i.type.resolve,l=[],h=n.from,c=i.to;if(s){let e=Math.min(2,n.to-n.from,r);h=n.to-e,c=i.from+e,a=1==e?"Emphasis":"StrongEmphasis"}n.type.mark&&l.push(this.elt(n.type.mark,h,n.to));for(let e=o+1;e<t;e++)this.parts[e]instanceof nk&&l.push(this.parts[e]),this.parts[e]=null;i.type.mark&&l.push(this.elt(i.type.mark,i.from,c));let u=this.elt(a,h,c,l);this.parts[o]=s&&n.from!=h?new ck(n.type,n.from,h,n.side):null,(this.parts[t]=s&&i.to!=c?new ck(i.type,c,i.to,i.side):null)?this.parts.splice(t,0,u):this.parts[t]=u}let t=[];for(let i=e;i<this.parts.length;i++){let e=this.parts[i];e instanceof nk&&t.push(e)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let i=this.parts[t];if(i instanceof ck&&i.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return kv(this.text,e-this.offset)+this.offset}elt(e,t,i,n){return"string"==typeof e?rk(this.parser.getNodeType(e),t,i,n):new sk(e,t)}}function bk(e,t){if(!t.length)return e;if(!e.length)return t;let i=e.slice(),n=0;for(let e of t){for(;n<i.length&&i[n].to<e.to;)n++;if(n<i.length&&i[n].from<e.from){let t=i[n];t instanceof nk&&(i[n]=new nk(t.type,t.from,t.to,bk(t.children,[e])))}else i.splice(n++,0,e)}return i}const xk=[Ov.CodeBlock,Ov.ListItem,Ov.OrderedList,Ov.BulletList];class wk{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let n=e+this.fragment.offset;for(;i.to<=n;)if(!i.parent())return!1;for(;;){if(i.from>=n)return this.fragment.from<=t;if(!i.childAfter(n))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Aa.contextHash)==e}takeNodes(e){let t=this.cursor,i=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),s=e.absoluteLineStart,r=s,o=e.block.children.length,a=r,l=o;for(;;){if(t.to-i>n){if(t.type.isAnonymous&&t.firstChild())continue;break}let s=yk(t.from-i,e.ranges);if(t.to-i<=e.ranges[e.rangeI].to)e.addNode(t.tree,s);else{let i=new za(e.parser.nodeSet.types[Ov.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(i,t.tree),e.addNode(i,s)}if(t.type.is("Block")&&(xk.indexOf(t.type.id)<0?(r=t.to-i,o=e.block.children.length):(r=a,o=l,a=t.to-i,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return r-s}}function yk(e,t){let i=e;for(let n=1;n<t.length;n++){let s=t[n-1].to,r=t[n].from;s<e&&(i-=r-s)}return i}const vk=nh({"Blockquote/...":$h.quote,HorizontalRule:$h.contentSeparator,"ATXHeading1/... SetextHeading1/...":$h.heading1,"ATXHeading2/... SetextHeading2/...":$h.heading2,"ATXHeading3/...":$h.heading3,"ATXHeading4/...":$h.heading4,"ATXHeading5/...":$h.heading5,"ATXHeading6/...":$h.heading6,"Comment CommentBlock":$h.comment,Escape:$h.escape,Entity:$h.character,"Emphasis/...":$h.emphasis,"StrongEmphasis/...":$h.strong,"Link/... Image/...":$h.link,"OrderedList/... BulletList/...":$h.list,"BlockQuote/...":$h.quote,"InlineCode CodeText":$h.monospace,URL:$h.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":$h.processingInstruction,"CodeInfo LinkLabel":$h.labelName,LinkTitle:$h.string,Paragraph:$h.content}),kk=new Fv(new Ya(ek).extend(vk),Object.keys(Uv).map(e=>Uv[e]),Object.keys(Uv).map(e=>jv[e]),Object.keys(Uv),Bv,yv,Object.keys(dk).map(e=>dk[e]),Object.keys(dk),[]);function Qk(e,t,i){let n=[];for(let s=e.firstChild,r=t;;s=s.nextSibling){let e=s?s.from:i;if(e>r&&n.push({from:r,to:e}),!s)break;r=s.to}return n}function $k(e){let{codeParser:t,htmlParser:i}=e;return{wrap:al((e,n)=>{let s=e.type.id;if(!t||s!=Ov.CodeBlock&&s!=Ov.FencedCode){if(i&&(s==Ov.HTMLBlock||s==Ov.HTMLTag))return{parser:i,overlay:Qk(e.node,e.from,e.to)}}else{let i="";if(s==Ov.FencedCode){let t=e.node.getChild(Ov.CodeInfo);t&&(i=n.read(t.from,t.to))}let r=t(i);if(r)return{parser:r,overlay:e=>e.type.id==Ov.CodeText}}return null})}}const Pk={resolve:"Strikethrough",mark:"StrikethroughMark"},Ck={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":$h.strikethrough}},{name:"StrikethroughMark",style:$h.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,i){if(126!=t||126!=e.char(i+1)||126==e.char(i+2))return-1;let n=e.slice(i-1,i),s=e.slice(i+2,i+3),r=/\s|^$/.test(n),o=/\s|^$/.test(s),a=fk.test(n),l=fk.test(s);return e.addDelimiter(Pk,i,i+2,!o&&(!l||r||a),!r&&(!a||o||l))},after:"Emphasis"}]};function Xk(e,t,i=0,n,s=0){let r=0,o=!0,a=-1,l=-1,h=!1,c=()=>{n.push(e.elt("TableCell",s+a,s+l,e.parser.parseInline(t.slice(a,l),s+a)))};for(let u=i;u<t.length;u++){let i=t.charCodeAt(u);124!=i||h?(h||32!=i&&9!=i)&&(a<0&&(a=u),l=u+1):((!o||a>-1)&&r++,o=!1,n&&(a>-1&&c(),n.push(e.elt("TableDelimiter",u+s,u+s+1))),a=l=-1),h=!h&&92==i}return a>-1&&(r++,n&&c()),r}function Tk(e,t){for(let i=t;i<e.length;i++){let t=e.charCodeAt(i);if(124==t)return!0;92==t&&i++}return!1}const Zk=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class Ak{constructor(){this.rows=null}nextLine(e,t,i){if(null==this.rows){let n;if(this.rows=!1,(45==t.next||58==t.next||124==t.next)&&Zk.test(n=t.text.slice(t.pos))){let s=[];Xk(e,i.content,0,s,i.start)==Xk(e,n,t.pos)&&(this.rows=[e.elt("TableHeader",i.start,i.start+i.content.length,s),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let i=[];Xk(e,t.text,t.pos,i,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,i))}return!1}finish(e,t){return!!this.rows&&(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0)}}const Rk={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":$h.heading}},"TableRow",{name:"TableCell",style:$h.content},{name:"TableDelimiter",style:$h.processingInstruction}],parseBlock:[{name:"Table",leaf:(e,t)=>Tk(t.content,0)?new Ak:null,endLeaf(e,t,i){if(i.parsers.some(e=>e instanceof Ak)||!Tk(t.text,t.basePos))return!1;let n=e.scanLine(e.absoluteLineEnd+1).text;return Zk.test(n)&&Xk(e,t.text,t.basePos)==Xk(e,n,t.basePos)},before:"SetextHeading"}]};class Vk{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const Mk=[Rk,{defineNodes:[{name:"Task",block:!0,style:$h.list},{name:"TaskMarker",style:$h.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\][ \t]/.test(t.content)&&"ListItem"==e.parentType().name?new Vk:null,after:"SetextHeading"}]},Ck];function Yk(e,t,i){return(n,s,r)=>{if(s!=e||n.char(r+1)==e)return-1;let o=[n.elt(i,r,r+1)];for(let s=r+1;s<n.end;s++){let a=n.char(s);if(a==e)return n.addElement(n.elt(t,r,s+1,o.concat(n.elt(i,s,s+1))));if(92==a&&o.push(n.elt("Escape",s,2+s++)),vv(a))break}return-1}}const _k={defineNodes:[{name:"Superscript",style:$h.special($h.content)},{name:"SuperscriptMark",style:$h.processingInstruction}],parseInline:[{name:"Superscript",parse:Yk(94,"Superscript","SuperscriptMark")}]},Wk={defineNodes:[{name:"Subscript",style:$h.special($h.content)},{name:"SubscriptMark",style:$h.processingInstruction}],parseInline:[{name:"Subscript",parse:Yk(126,"Subscript","SubscriptMark")}]},Ek={defineNodes:[{name:"Emoji",style:$h.character}],parseInline:[{name:"Emoji",parse(e,t,i){let n;return 58==t&&(n=/^[a-zA-Z_0-9]+:/.exec(e.slice(i+1,e.end)))?e.addElement(e.elt("Emoji",i,i+1+n[0].length)):-1}}]},zk=ec({commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}}}),Uk=new Aa,qk=kk.configure({props:[Ec.add(e=>!e.is("Block")||e.is("Document")||null!=Dk(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),Uk.add(Dk),vc.add({Document:()=>null}),Kh.add({Document:zk})]});function Dk(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function Ik(e,t){let i=e;for(;;){let e,n=i.nextSibling;if(!n||null!=(e=Dk(n.type))&&e<=t)break;i=n}return i.to}const jk=Wc.of((e,t,i)=>{for(let n=rc(e).resolveInner(i,-1);n&&!(n.from<t);n=n.parent){let e=n.type.prop(Uk);if(null==e)continue;let t=Ik(n,e);if(t>i)return{from:i,to:t}}return null});function Bk(e){return new ic(zk,e,[jk],"markdown")}const Lk=Bk(qk),Nk=Bk(qk.configure([Mk,Wk,_k,Ek]));function Gk(e,t){return i=>{if(i&&e){let t=null;if(i=/\S*/.exec(i)[0],t="function"==typeof e?e(i):mc.matchLanguageName(e,i,!0),t instanceof mc)return t.support?t.support.language.parser:lc.getSkippingParser(t.load());if(t)return t.parser}return t?t.parser:null}}class Fk{constructor(e,t,i,n,s,r,o){this.node=e,this.from=t,this.to=i,this.spaceBefore=n,this.spaceAfter=s,this.type=r,this.item=o}blank(e,t=!0){let i=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;i.length<e;)i+=" ";return i}for(let e=this.to-this.from-i.length-this.spaceAfter.length;e>0;e--)i+=" ";return i+(t?this.spaceAfter:"")}marker(e,t){let i="OrderedList"==this.node.name?String(+Jk(this.item,e)[2]+t):"";return this.spaceBefore+i+this.type+this.spaceAfter}}function Hk(e,t){let i=[];for(let t=e;t&&"Document"!=t.name;t=t.parent)"ListItem"!=t.name&&"Blockquote"!=t.name&&"FencedCode"!=t.name||i.push(t);let n=[];for(let e=i.length-1;e>=0;e--){let s,r=i[e],o=t.lineAt(r.from),a=r.from-o.from;if("FencedCode"==r.name)n.push(new Fk(r,a,a,"","","",null));else if("Blockquote"==r.name&&(s=/^[ \t]*>( ?)/.exec(o.text.slice(a))))n.push(new Fk(r,a,a+s[0].length,"",s[1],">",null));else if("ListItem"==r.name&&"OrderedList"==r.parent.name&&(s=/^([ \t]*)\d+([.)])([ \t]*)/.exec(o.text.slice(a)))){let e=s[3],t=s[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),n.push(new Fk(r.parent,a,a+t,s[1],e,s[2],r))}else if("ListItem"==r.name&&"BulletList"==r.parent.name&&(s=/^([ \t]*)([-+*])([ \t]{1,4}\[[ xX]\])?([ \t]+)/.exec(o.text.slice(a)))){let e=s[4],t=s[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let i=s[2];s[3]&&(i+=s[3].replace(/[xX]/," ")),n.push(new Fk(r.parent,a,a+t,s[1],e,i,r))}}return n}function Jk(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function Kk(e,t,i,n=0){for(let s=-1,r=e;;){if("ListItem"==r.name){let e=Jk(r,t),o=+e[2];if(s>=0){if(o!=s+1)return;i.push({from:r.from+e[1].length,to:r.from+e[0].length,insert:String(s+2+n)})}s=o}let e=r.nextSibling;if(!e)break;r=e}}function eQ(e){return"QuoteMark"==e.name||"ListMark"==e.name}function tQ(e,t){let i,n=e.resolveInner(t,-1),s=t;for(eQ(n)&&(s=n.from,n=n.parent);i=n.childBefore(s);)if(eQ(i))s=i.from;else{if("OrderedList"!=i.name&&"BulletList"!=i.name)break;n=i.lastChild,s=n.to}return n}const iQ=[{key:"Enter",run:({state:e,dispatch:t})=>{let i=rc(e),{doc:n}=e,s=null,r=e.changeByRange(t=>{if(!t.empty||!Nk.isActiveAt(e,t.from))return s={range:t};let r=t.from,o=n.lineAt(r),a=Hk(i.resolveInner(r,-1),n);for(;a.length&&a[a.length-1].from>r-o.from;)a.pop();if(!a.length)return s={range:t};let l=a[a.length-1];if(l.to-l.spaceAfter.length>r-o.from)return s={range:t};let h=r>=l.to-l.spaceAfter.length&&!/\S/.test(o.text.slice(l.to));if(l.item&&h){if(l.node.firstChild.to>=r||o.from>0&&!/[^\s>]/.test(n.lineAt(o.from-1).text)){let e,t=a.length>1?a[a.length-2]:null,i="";t&&t.item?(e=o.from+t.from,i=t.marker(n,1)):e=o.from+(t?t.to:0);let s=[{from:e,to:r,insert:i}];return"OrderedList"==l.node.name&&Kk(l.item,n,s,-2),t&&"OrderedList"==t.node.name&&Kk(t.item,n,s),{range:R.cursor(e+i.length),changes:s}}{let t="";for(let e=0,i=a.length-2;e<=i;e++)t+=a[e].blank(e<i?a[e+1].from-t.length:null,e<i);return t+=e.lineBreak,{range:R.cursor(r+t.length),changes:{from:o.from,insert:t}}}}if("Blockquote"==l.node.name&&h&&o.from){let i=n.lineAt(o.from-1),s=/>\s*$/.exec(i.text);if(s&&s.index==l.from){let n=e.changes([{from:i.from+s.index,to:i.to},{from:o.from+l.from,to:o.to}]);return{range:t.map(n),changes:n}}}let c=[];"OrderedList"==l.node.name&&Kk(l.item,n,c);let u=l.item&&l.item.from<o.from,f="";if(!u||/^[\s\d.)\-+*>]*/.exec(o.text)[0].length>=l.to)for(let e=0,t=a.length-1;e<=t;e++)f+=e!=t||u?a[e].blank(e<t?a[e+1].from-f.length:null):a[e].marker(n,1);let d=r;for(;d>o.from&&/\s/.test(o.text.charAt(d-o.from-1));)d--;return f=e.lineBreak+f,c.push({from:d,to:r,insert:f}),{range:R.cursor(d+f.length),changes:c}});return!s&&(t(e.update(r,{scrollIntoView:!0,userEvent:"input"})),!0)}},{key:"Backspace",run:({state:e,dispatch:t})=>{let i=rc(e),n=null,s=e.changeByRange(t=>{let s=t.from,{doc:r}=e;if(t.empty&&Nk.isActiveAt(e,t.from)){let e=r.lineAt(s),n=Hk(tQ(i,s),r);if(n.length){let i=n[n.length-1],r=i.to-i.spaceAfter.length+(i.spaceAfter?1:0);if(s-e.from>r&&!/\S/.test(e.text.slice(r,s-e.from)))return{range:R.cursor(e.from+r),changes:{from:e.from+r,to:s}};if(s-e.from==r&&(!i.item||e.from<=i.item.from||!/\S/.test(e.text.slice(0,i.to)))){let n=e.from+i.from;if(i.item&&i.node.from<i.item.from&&/\S/.test(e.text.slice(i.from,i.to)))return{range:t,changes:{from:n,to:e.from+i.to,insert:i.blank(i.to-i.from)}};if(n<s)return{range:R.cursor(n),changes:{from:n,to:s}}}}}return n={range:t}});return!n&&(t(e.update(s,{scrollIntoView:!0,userEvent:"delete"})),!0)}}],nQ=fv({matchClosingTags:!1});function sQ(e={}){let{codeLanguages:t,defaultCodeLanguage:i,addKeymap:n=!0,base:{parser:s}=Lk,completeHTMLTags:r=!0}=e;if(!(s instanceof Fv))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let o,a=e.extensions?[e.extensions]:[],l=[nQ.support];i instanceof Oc?(l.push(i.support),o=i.language):i&&(o=i);let h=t||o?Gk(t,o):void 0;a.push($k({codeParser:h,htmlParser:nQ.language.parser})),n&&l.push(B.high(Xr.of(iQ)));let c=Bk(s.configure(a));return r&&l.push(c.data.of({autocomplete:rQ})),new Oc(c,l)}function rQ(e){let{state:t,pos:i}=e,n=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(i-25,i));if(!n)return null;let s=rc(t).resolveInner(i,-1);for(;s&&!s.type.isTop;){if("CodeBlock"==s.name||"FencedCode"==s.name||"ProcessingInstructionBlock"==s.name||"CommentBlock"==s.name||"Link"==s.name||"Image"==s.name)return null;s=s.parent}return{from:i-n[0].length,to:i,options:aQ(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let oQ=null;function aQ(){if(oQ)return oQ;let e=ov(new qO(Qe.create({extensions:nQ}),0,!0));return oQ=e?e.options:[]}var lQ=(e,t,i)=>new Promise((n,s)=>{var r=e=>{try{a(i.next(e))}catch(e){s(e)}},o=e=>{try{a(i.throw(e))}catch(e){s(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(r,o);a((i=i.apply(e,t)).next())});class hQ extends CS{constructor(e,t=[]){super(e,t)}getExtensions(e){return lQ(this,null,(function*(){return[sQ()]}))}serialize(){return this.editor.content}}class cQ extends HTMLElement{constructor(){super(),this._mode=yS.xml,this._placeholder="",this.attachShadow({mode:"open"})}static get observedAttributes(){return["placeholder","mode","code"]}connectedCallback(){var e,t,i,n;const s=document.createElement("style");s.innerHTML=this.styles(),null==(e=this.shadowRoot)||e.appendChild(s);const r=document.createElement("slot");r.name="toolbar",null==(t=this.shadowRoot)||t.appendChild(r);const o=document.createElement("div");o.id="editor",null==(i=this.shadowRoot)||i.appendChild(o),this.registerToolbar(null==(n=this.shadowRoot)?void 0:n.querySelector("[name=toolbar]")),this._placeholder=this.getAttribute("placeholder")||"",this.namespace=this.getAttribute("namespace"),this.linter=this.getAttribute("linter"),this.mode=this.initModes()||this.getAttribute("mode")||"xml",this.hasAttribute("mode")||this.setAttribute("mode",this._mode),this.hasAttribute("code")&&(this.value=this.getAttribute("code")),this.hasAttribute("theme")&&(this.theme=this.getAttribute("theme")),this.addEventListener("blur",e=>{const t=e.relatedTarget;if(t){let i=t.parentNode;for(;i;){if(i===this)return e.preventDefault(),void e.stopPropagation();i=i.parentNode}}})}attributeChangedCallback(e,t,i){if(t&&t!==i)switch(e){case"placeholder":this.placeholder=i;break;case"mode":this.mode=i;break;case"code":this.value=i}}focus(){this._editor&&this._editor.focus()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.setMode(this.mode)}set mode(e){this.setMode(e)}setMode(e,t=!0){var i,n,s;const r=null==(i=this.shadowRoot)?void 0:i.getElementById("editor");if(!r)return;this._editor&&(this._editor.destroy(),r.innerHTML=""),this._mode=yS[e],console.log("<jinn-codemirror> mode: "+this.mode),this.activateToolbar(null==(n=this.shadowRoot)?void 0:n.querySelector("[name=toolbar]")),this.configure();const o=this.querySelector("[name=modes]");o&&o instanceof HTMLSelectElement&&(o.value=this._mode),null==(s=this._config)||s.getConfig().then(e=>{this._editor=new xr({state:Qe.create(e),parent:r}),this._config&&t&&(this.content=this._config.setFromValue(this._value))})}configure(){var e;const t=this.getToolbarControls(null==(e=this.shadowRoot)?void 0:e.querySelector("[name=toolbar]"));switch(this._mode){case yS.edcs:case yS.phi:this._config=new xb(this,t,this._mode);break;case yS.leiden_plus:this._config=new pb(this,t);break;case yS.xquery:this._config=new Db(this,t,this.linter);break;case yS.css:this._config=new Tx(this,t);break;case yS.tex:this._config=new Yx(this,t);break;case yS.html:this._config=new gv(this,t);break;case yS.xml:this._config=new DS(this,t,this.namespace);break;case yS.markdown:this._config=new hQ(this,t);break;default:this._config=new Ax(this,t)}}get mode(){return this._mode}set valid(e){this.setAttribute("valid",e.toString())}get valid(){return Boolean(this.hasAttribute("valid"))}set content(e){this._editor?setTimeout(()=>this._editor.dispatch({changes:{from:0,to:this._editor.state.doc.length,insert:e}})):console.log("no editor")}get content(){var e;return(null==(e=this._editor)?void 0:e.state.doc.toString())||""}set value(e){var t;this.setValue(e)&&this._editor&&this._config&&(this.content=null==(t=this._config)?void 0:t.setFromValue(this._value))}get value(){return this.getValue()}setValue(e){if(!this._config)return!1;const t=this._config.setFromValue(e);return this._value!==t&&(this._value=e,!0)}getValue(){return this._value?this._value:null}set code(e){this.value=e}clear(){this._value="",this._editor.dispatch({changes:{from:0,to:this._editor.state.doc.length,insert:""}})}emitUpdateEvent(e){this.dispatchEvent(new CustomEvent("update",{detail:{content:e},composed:!0,bubbles:!0}))}initModes(){const e=this.querySelector("[name=modes]");return e&&e instanceof HTMLSelectElement?(e.addEventListener("change",()=>{this.mode=e.value}),e.value):null}registerToolbar(e){null==e||e.assignedElements().forEach(e=>{e.querySelectorAll("slot").forEach(e=>this.registerToolbar(e)),e.querySelectorAll("[data-command]").forEach(e=>{const t=e.dataset.command;e.hasAttribute("data-key")&&(e.title=`${e.title} (${e.getAttribute("data-key")})`),e.addEventListener("click",()=>{var i;if(!this._config)return;const n=this._config.getCommands()[t];if(n){const s=$S(t,n,e);s&&(s(this._editor),"encloseWithCommand"!==t&&(null==(i=this._editor)||i.focus()))}})})})}activateToolbar(e){null==e||e.assignedElements().forEach(e=>{e.querySelectorAll("slot").forEach(e=>this.activateToolbar(e)),e.querySelectorAll("[data-command]").forEach(e=>{const t=e;t.dataset.mode&&t.dataset.mode!==this._mode?t.style.display="none":t.style.display="inline"})})}getToolbarControls(e,t=[]){return null==e||e.assignedElements().forEach(e=>{e.querySelectorAll("[data-command]").forEach(e=>{t.push(e)}),e.querySelectorAll("slot").forEach(e=>this.getToolbarControls(e,t))}),t}styles(){return"\n :host > div {\n width: 100%;\n background-color: var(--jinn-codemirror-background-color, #fff);\n }\n\n .cm-cursor {\n min-height: 1rem;\n }\n "}}window.customElements.define("jinn-codemirror",cQ);export{cQ as J,DS as X};